MCP
Инструменты кабинета для Cursor, Claude и своих агентов
MCP подключает внешнего агента к кабинету: поиск звонков и переписок, база знаний, оценки качества, память по участникам, спикеры. Все вызовы — JSON-RPC 2.0 на одном URL POST /mcp. Для своих бэкендов те же сущности удобнее брать из Public API.
Базовый URL
https://mcp.a5x.proПередайте API-ключ (sk_live_…) в заголовке Authorization: Bearer <token> или X-API-Key: <token>. Ключ создаётся в кабинете: Настройки → API. Партнёрские ключи (sk_partner_…, int_live_…) не принимаются. Невалидный ключ → 401. Агент видит только данные вашего кабинета.
Быстрый старт
curl -sS https://mcp.a5x.pro/mcp \
-H " Bearer YOUR_API_KEY" \
-H " application/json" \
-H " application/json, text/event-stream" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "initialize",
"params": {
"protocolVersion": "2024-11-05",
"capabilities": {},
"clientInfo": { "name": "demo", "version": "0.1.0" }
}
}'Как вызывать
Это не REST: один адрес, в теле — JSON-RPC. Клиенты вроде Cursor и Claude подключаются как remote MCP (Streamable HTTP).
- Все методы:
POST https://mcp.a5x.pro/mcp. - Тело запроса:
{ "jsonrpc": "2.0", "id": 1, "method": "…", "params": { } }. - Методы:
initialize,notifications/initialized,tools/list,tools/call. notifications/initialized— без поляid; ответ пустой.- Схемы аргументов инструментов берите из
tools/list, не копируйте их вручную. - Лимит: 120 запросов в минуту на ключ.
- При паузе кабинета чтение через MCP остаётся доступным.
initialize
https://mcp.a5x.pro/mcpПервый запрос клиента. Сообщите версию протокола; в ответе — версия сервера и поддержка инструментов.
Параметры запроса
| Поле | Тип | Описание |
|---|---|---|
jsonrpc* | string | Всегда 2.0. |
id* | number | string | Идентификатор запроса. |
method* | string | initialize |
params.protocolVersion* | string | 2024-11-05 |
params.capabilities | object | Возможности клиента. Можно {}. |
params.clientInfo | object | { name, version } — имя и версия вашего клиента. |
curl
curl -sS https://mcp.a5x.pro/mcp \
-H " Bearer YOUR_API_KEY" \
-H " application/json" \
-H " application/json, text/event-stream" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "initialize",
"params": {
"protocolVersion": "2024-11-05",
"capabilities": {},
"clientInfo": { "name": "demo", "version": "0.1.0" }
}
}'Ответ
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"protocolVersion": "2024-11-05",
"capabilities": { "tools": {} },
"serverInfo": { "name": "a5x", "version": "0.1.0" }
}
}Коды ответов
| HTTP | error.code | Ситуация |
|---|---|---|
| 401 | — | Нет ключа или ключ неверный. Тело `{ "error": "unauthorized" }`. |
| 405 | — | Нужен `POST`, не `GET`. |
| 429 | — | Больше 120 запросов в минуту на ключ. |
tools/list
https://mcp.a5x.pro/mcpКаталог инструментов: имя, описание и JSON Schema аргументов.
Параметры запроса
| Поле | Тип | Описание |
|---|---|---|
jsonrpc* | string | Всегда 2.0. |
id* | number | string | Идентификатор запроса. |
method* | string | tools/list |
curl
curl -sS https://mcp.a5x.pro/mcp \
-H " Bearer YOUR_API_KEY" \
-H " application/json" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/list"}'Ответ
{
"jsonrpc": "2.0",
"id": 2,
"result": {
"tools": [
{
"name": "list_kb_spaces",
"description": "Список пространств базы знаний",
"inputSchema": { "type": "object", "properties": {} }
}
]
}
}tools/call
https://mcp.a5x.pro/mcpВызов инструмента по имени из tools/list. Успех — result.content (текст, обычно JSON). Ошибка инструмента приходит как JSON-RPC error при HTTP 200. HTTP 401 и 429 — до разбора JSON-RPC.
Параметры запроса
| Поле | Тип | Описание |
|---|---|---|
jsonrpc* | string | Всегда 2.0. |
id* | number | string | Идентификатор запроса. |
method* | string | tools/call |
params.name* | string | Имя из tools/list. |
params.arguments | object | Аргументы по inputSchema инструмента. |
curl
curl -sS https://mcp.a5x.pro/mcp \
-H " Bearer YOUR_API_KEY" \
-H " application/json" \
-d '{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": { "name": "list_kb_spaces", "arguments": {} }
}'Ответ
{
"jsonrpc": "2.0",
"id": 3,
"result": {
"content": [
{
"type": "text",
"text": "{\"spaces\":[{\"id\":\"…\",\"name\":\"Регламенты\"}]}"
}
],
"isError": false
}
}Коды ответов
| HTTP | error.code | Ситуация |
|---|---|---|
| 200 | -32601 | Неизвестный `method`. |
| 200 | -32603 | Инструмент не найден или аргументы не соответствуют схеме. |
Формат ошибки
{
"jsonrpc": "2.0",
"id": 3,
"error": {
"code": -32603,
"message": "Tool call failed"
}
}Типичные коды
| HTTP | error.code | Ситуация |
|---|---|---|
| 401 | — | Нет ключа или ключ неверный. Тело `{ "error": "unauthorized" }`. |
| 405 | — | Нужен `POST`, не `GET`. |
| 429 | — | Больше 120 запросов в минуту на ключ. |
| 200 | -32601 | Неизвестный JSON-RPC `method`. |
| 200 | -32603 | Сбой `tools/call`: инструмент не найден или неверные аргументы. |
Инструменты
Инструменты ограничены данными вашего кабинета. Схемы аргументов — в ответе tools/list.
Инструмент
| Поле | Тип | Описание |
|---|---|---|
search_speakers | tool | Поиск клиентов и сотрудников. |
search_communications | tool | Поиск звонков, чатов и писем. |
search_commitments | tool | Задачи и обещания по спикеру. |
search_memory | tool | Память по участникам. |
get_period_metrics | tool | KPI и агрегаты за период. |
rank_people | tool | Топы людей и отделов. |
rank_signals | tool | Топы по сигналам (возражения, churn). |
rank_qc | tool | Топы по оценке QC (если QC включён). |
get_communication | tool | Карточка коммуникации: статусы, summary, участники, реплики. |
get_qc_evaluation | tool | Чек-лист QC по коммуникации (если QC включён). |
search_documents | tool | Поиск по базе знаний компании. |
search_product_docs | tool | Документация платформы A5X. |
list_kb_spaces | tool | Пространства базы знаний. |
list_kb_documents | tool | Каталог документов пространства. |
list_kb_chunks | tool | Оглавление документа (чанки). |
Cursor, Claude, AMMA
Ключ — в кабинете → Настройки → API. Не вставляйте его в публичные репозитории и промпты.
{
"mcpServers": {
"a5x": {
"url": "https://mcp.a5x.pro/mcp",
"headers": {
"Authorization": "Bearer sk_live_…"
}
}
}
}