# Если клиент говорит на MCP, он говорит и на Maguyva.

Canonical source: https://maguyva.ai/ru/for-anything

License: text under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/); code samples under [MIT-0](https://opensource.org/license/mit-0); the Maguyva name, logos, brand assets and other code are not covered. Details: [maguyva.ai/license](https://maguyva.ai/license).

Интеграция не привязана к конкретному инструменту — она в протоколе. Maguyva — это стандартный MCP-сервер по одному URL, так что в чём бы ни работал ваш агент (Claude Code, Codex, Cursor, Gemini, Devin Desktop, Antigravity, Zed, Cline или что-то, что вы собрали сами), он получает одну и ту же карту вашего репозитория с возможностью поиска. Проиндексируйте один раз — и каждый подключённый клиент будет задавать одни и те же вопросы с опорой на реальный код.

> Один MCP-сервер. Любой клиент. Без плагина под каждый инструмент, без привязки к вендору.

## Что делает каждый слой

Четыре элемента. У каждого своя роль.

### Любой MCP-клиент

23 документированных клиентов, включая Claude Code, Codex CLI, Gemini CLI, Cursor, Devin Desktop, Antigravity, или ваш собственный агент.

### MCP

Открытый стандарт, на котором уже говорит каждый из них.

### Maguyva

Один MCP-сервер. Факты из реального репозитория с указанием file:line.

### Плата за пространство, а не за пользователя

За каждого агента не взимается отдельная плата. [Смотреть цены](https://maguyva.ai/ru/pricing)

## MCP — это и есть интеграция. Сделайте его стандартом.

Открытый протокол — это правильное решение, а не обходной путь. Использовать в качестве основы [MCP](https://modelcontextprotocol.io/docs/getting-started/intro) вместо плагина под каждый инструмент — именно так вы избегаете повторной интеграции каждый раз, когда выходит новый, более удачный агент. Это правильное место для:

- Одного блока конфигурации сервера, который подходит для любого совместимого клиента.
- Инструментов и ресурсов, переносимых между редакторами, CLI и агентами.
- Границы, которую ваша служба безопасности проверяет один раз, а не для каждого вендора отдельно.
- Свободы менять клиентов, не пересобирая весь стек контекста.

Продолжайте так делать. Выбор MCP в качестве стандарта — правильный ход.

Но протокол — это труба. Он передаёт вопрос и ответ, но не *знает* вашу кодовую базу. На другом конце должно быть что-то, что действительно строит карту ваших символов, мест вызова и зависимостей.

## Где контекст под конкретный инструмент перестаёт масштабироваться

Четыре сценария сбоя, которые не исправит ни один файл правил отдельного агента.

### // каждый инструмент заново стартует с нуля

Выберите нового агента — и он снова начинает вслепую с вашим репозиторием. Вы заново вставляете те же файлы, заново закрепляете тот же контекст, заново пишете те же правила. Работа не переносится, потому что она никогда не была общим слоем.

### // файлы правил не переносятся

`CLAUDE.md`, `.cursor/rules`, `AGENTS.md` — каждый привязан к своему инструменту, и ни один не является индексом вашего кода с возможностью поиска. Смените клиента — и карта, которую вы строили вручную, останется позади.

### // привязка к интеграции — это налог

Встраивание глубокого контекста кодовой базы в плагин одного вендора означает, что в день, когда вы попробуете другого агента, вам придётся строить всё заново. Чем лучше ваш контекст, тем дороже уйти.

### // протокол — это труба, а не карта

MCP передаёт инструменты и контекст между клиентом и сервером. Он не знает ваши символы, места вызова или граф зависимостей. На другом конце должно быть что-то, что действительно отвечает на вопрос.

## Maguyva — это слой на другом конце протокола

Не ещё один агент. Сервер контекста репозитория, который может вызвать любой MCP-клиент:

- **Один эндпоинт, любой клиент**: один и тот же `https://maguyva.tools/mcp` обслуживает Claude Code, Codex CLI, Gemini CLI, Cursor, Devin Desktop, Antigravity или скрипт, который вы написали сегодня утром.
- **Семантика + AST + граф + текст**: ищите по смыслу, структуре, зависимостям или буквально. Каждое совпадение возвращает путь к файлу и номер строки — независимо от того, какой клиент спросил.
- **Учитывает ветки, работает между пакетами**: Maguyva видит именно ту версию кода, которую редактирует агент, во всех пакетах монорепозитория.
- **Без привязки к вендору**: меняйте агентов когда захотите — слой контекста никуда не денется. Цена за рабочее пространство, а не за пользователя — индексируйте хоть 1 репозиторий, хоть 50.

> Ваш клиент говорит на MCP.
> Maguyva — это то, что отвечает, *когда он спрашивает о вашем коде.*

## Три сценария, одинаковые для любого клиента

Между пакетами, между языками. Клиент меняется — ответ, основанный на коде, — нет.

### 01. Найдите поток аутентификации во всех пакетах из любого агента

```text
agent> где в этом монорепозитории происходит аутентификация?

graph::query("authentication flow")
  packages/web/src/auth/session.ts:42       middleware
  packages/api/src/auth/jwt.ts:88           проверка токена
  packages/shared/src/auth/types.ts:12      AuthContext
  packages/admin/src/auth/admin-only.ts:31  проверка RBAC

→ 4 точки входа в 4 пакетах, отсортированы по плотности мест вызова.
[exit 0]
```

Claude Code, Cursor или ваш собственный скрипт — неважно, какой клиент отправил запрос. Возвращаются те же четыре файла в том же порядке, определённом на основе реального графа.

### 02. Найдите настоящую реализацию, а не тестовую заглушку

```text
agent> как normalizePhoneNumber обрабатывает E.164?

semantic::query("normalize phone E.164")
  packages/shared/util/phone.ts:88     normalizePhoneNumber()  ← реальная реализация
  packages/api/test/phone.spec.ts:14   jest.mock(...)          ← заглушка
[exit 0]
```

Имена лгут. Моки заслоняют настоящий код. Maguyva ранжирует настоящую реализацию выше тестового мока — одинаково для любого клиента, который спрашивает.

### 03. Проверьте радиус влияния перед рефакторингом

```text
agent> что вызывает QueueDispatcher.publish во всём монорепозитории?

graph::callers(QueueDispatcher.publish)
  3 в packages/billing/*
  1 в packages/audit/*
  1 в packages/notifications/*
  1 в services/python-worker/*  ← межъязыковой вызов через gRPC-заглушку
[exit 0]
```

Между пакетами и, в многоязычном репозитории, между языками — места вызова всплывают прямо в выводе. Смените агента завтра — радиус влияния всё ещё будет на месте, потому что он живёт на сервере, а не в клиенте.

## Настройка с любым MCP-клиентом

Три шага. Тариф Free: 3 репозитория, До 50 тыс. проиндексированных строк, без банковской карты.

### 01. Проиндексируйте репозиторий на maguyva.ai

Выберите тот, который хорошо знаете, чтобы проверить ответы. Тариф Free покрывает 3 репозитория, До 50 тыс. проиндексированных строк.

### 02. Добавьте Maguyva как MCP-сервер в любой клиент, который вы используете

```json
{
  "mcpServers": {
    "maguyva": {
      "url": "https://maguyva.tools/mcp",
      "headers": {
        "Authorization": "Bearer mgv_xxxx"
      }
    }
  }
}
```

### 03. Задайте один вопрос, ответ на который вы уже знаете

Начните с одного репозитория и одного проверяемого вопроса — например, «что вызывает `formatInvoice` в разных пакетах?». Если ответ совпадает с тем, что сказали бы вы, любой другой клиент, который вы направите туда же, получит такой же обоснованный результат.

Инструкции для каждого клиента (Claude Code, Codex, Cursor, Gemini, Devin Desktop, Antigravity и другие) — в [документации Maguyva по совместимости](https://maguyva.ai/ru/docs/compatibility).

## Проиндексируйте один репозиторий, который вы уже знаете.

Подключите любой MCP-клиент. Задайте один вопрос, ответ на который можно перепроверить.

## Источники

- [MCP: официальное введение](https://modelcontextprotocol.io/docs/getting-started/intro)
- [MCP: примеры клиентов](https://modelcontextprotocol.io/clients)
- [Maguyva: совместимость и клиенты](https://maguyva.ai/ru/docs/compatibility)
- [Maguyva: стек и безопасность](https://maguyva.ai/ru/stack)
- [Maguyva: тарифы (за рабочее пространство, не за пользователя)](https://maguyva.ai/ru/pricing)
