# MCP (/ru/docs/b24/mcp)

Эта страница о том, как дать ИИ-агенту вашу CRM через MCP (Model Context Protocol). Так агент спрашивает программу,
что она умеет, и потом вызывает ее. Агенту с терминалом, например Claude Code или Codex, лучше подходят команды и
навык (`b24 skill install`). MCP нужен клиенту, который не может запускать команды: приложению чата, удаленному
агенту, ChatGPT или Claude в браузере.

Перед началом войдите в профиль (`b24 work session start`, с вебхуком или локальным приложением) и прочитайте
[Разрешения](/llms.mdx/docs/ru/b24/permissions/content.md), потому что через MCP запись на уровне `ask` выполняется.

## Подключите b24 к агенту [#подключите-b24-к-агенту]

```sh
b24 work mcp add claude-code --allow-writes   # or codex
b24 work mcp check                            # the handshake and the tool list, as the client sees them
```

`--allow-writes` подтверждает, что вы знаете: профиль предлагает инструменты, которые пишут. Для любого другого
клиента `b24 work mcp config` печатает запись, которую нужно вставить в его настройки. Вручную для Claude Code:

```sh
claude mcp add b24 -- b24 work mcp serve
```

Один сервер может обслуживать несколько профилей: `b24 mcp serve --profiles work,sales` или `--profiles all`. Тогда
каждый вызов называет свой профиль, а агент спрашивает вас, если вы не сказали какой.

## Что видит агент [#что-видит-агент]

У сервера три инструмента:

- `b24_tools_search` находит команду по словам, с ее аргументами и видом ответа.
- `b24_read` запускает команду, которая только читает: `{ "command": "deals list", "arguments": { "query": "status:open" } }`.
- `b24_write` запускает команду, которая пишет: `{ "command": "deals move", "arguments": { "deal": "deal:12", ... } }`.

Команда называется так же, как в командной строке, без профиля, и проверяет тот же ключ прав. Через MCP никогда не
предлагаются `api call`, `schedule`, `session start` и `session end`. Агент просит вас запустить их в терминале.

Текст с портала приходит с пометкой `untrusted`: названия сделок и лидов, названия воронок и стадий, имена контактов,
компаний и сотрудников, значения пользовательских полей, телефоны, почта и ссылки, а также то, что находит
`search all`. Агенту сказано, что это данные, а не инструкции.

## Записи остаются под вашим контролем [#записи-остаются-под-вашим-контролем]

Через MCP в терминале никого нет, чтобы ответить на `ask`, поэтому запись выполняется, и на встроенных уровнях тоже:

- `deals.move=ask` не мешает агенту передвинуть сделку, а смена стадии может запустить роботов портала, которые
  иногда пишут настоящему клиенту.
- `deals.delete` и `leads.delete` по умолчанию стоят на `ask`, поэтому агент с вебхуком администратора может удалять.

Выберите одно до подключения сервера:

- Поставьте `readonly` или `deny` каждой записи, которую агент делать не должен:
  `b24 work config set permissions.deals.move readonly`. Полный список есть в
  [Разрешениях](/llms.mdx/docs/ru/b24/permissions/content.md#agents-and-mcp).
- Или включите подтверждение для инструмента `b24_write` в клиенте агента, чтобы клиент спрашивал вас перед каждой
  записью.

Чтобы один сервер был строже профиля, дайте ему свои уровни. Профиль они никогда не ослабляют:

```sh
b24 work mcp add claude-code --allow-writes --permission deals.delete=deny --permission leads.delete=deny
b24 work mcp serve --permission deals=readonly
```

## ChatGPT и Claude в браузере [#chatgpt-и-claude-в-браузере]

Приложение в браузере подключается к серверу по HTTP через ваш собственный туннель, например Tailscale Funnel:

```sh
b24 work mcp serve --http --public-url https://laptop.example.ts.net
```

Сервер слушает только `127.0.0.1`, порт 8765 (`--port` его меняет). Приложение в браузере входит по одноразовому
коду, который печатает команда. `b24 work mcp revoke` завершает все входы.

`b24 work mcp server start` запускает тот же сервер в фоне. `mcp server status` показывает его порт, код входа и
вошедшие приложения, а `mcp server stop` его останавливает.

Подробнее: [разрешения](/llms.mdx/docs/ru/b24/permissions/content.md), [безопасность](/llms.mdx/docs/ru/b24/security/content.md), [справочник команд](/llms.mdx/docs/ru/b24/commands/content.md#b24-mcp).
