mcp
POST /v1/mcp/connections
Create an MCP connection (Connect AI tool).
Аутентификация
Отправьте ключ API в качестве токена носителя (bearer token). Ключ должен иметь разрешение mcp.manage; ключ без него отклоняется с кодом 403, а не 404.
Идентификатор вашей организации
Этот эндпоинт принимает org_id в качестве поля в теле JSON.
Идентификатор вашей организации находится на экране ключей API в вашей панели управления, рядом с самим ключом. Это один и тот же идентификатор для каждого вашего запроса.
Попробовать
Замените всё в угловых скобках на собственные значения, а плейсхолдер ключа — на ключ из вашей панели управления.
curl -X POST https://api.zinndigital.com/v1/mcp/connections \
-H "Authorization: Bearer zdk_live_…" \
-H "Content-Type: application/json" \
-d '{ "name": <string>, "scopes": <string[]> }'Вошли в систему? Консоль API в вашей панели управления автоматически подставляет реальный идентификатор вашей организации и ваш собственный ключ, а также выполняет запрос к работающему API, чтобы вы могли увидеть актуальный ответ. Откройте эту конечную точку в API-консоли
Подробнее
Mints a per-tool MCP connection and returns the full zmcp_… token once (only its hash is stored) plus a paste-ready client config snippet. The requested scopes must be permissions the caller already holds in the target org — an unheld scope is a 403 (a connection can never out-scope its creator), an unknown one a 422. An optional spend cap bounds AI-triggered paid actions. Requires mcp.manage.
Тело запроса
| Имя | Тип | Обязательно | Что это |
|---|---|---|---|
name | string | Да | — |
client | McpClient | Нет | The AI client a connection is for (informational). |
scopes | string[] | Да | RBAC permission keys to grant the token. Each must be a permission the caller holds in the target org (a connection can never out-scope its creator); an unheld scope is a 403,… |
sandbox | boolean | Нет | — |
org_id | Uuid | null | Нет | The org the connection belongs to. Defaults to the caller's sole managed org. |
spend_cap_minor | integer | null | Нет | Optional per-window paid-action budget (integer minor units). Null = no cap. |
spend_currency | CurrencyCode | Нет | ISO 4217 currency code (money is minor units + this code — CLAUDE.md §2.8). |
spend_window_seconds | integer | Нет | — |
Ответ
| Имя | Тип | Обязательно | Что это |
|---|---|---|---|
id | Uuid | Да | UUIDv7 identifier — sortable by creation time (docs/02 §8). |
name | string | Да | — |
client | McpClient | Да | The AI client a connection is for (informational). |
prefix | string | Да | The token's public lookup prefix (not a secret). |
scopes | string[] | Да | The RBAC permission keys this connection's token may exercise. |
sandbox | boolean | Да | — |
spend_cap_minor | integer | null | Нет | Optional per-window budget (integer minor units, CLAUDE.md §2.8) for AI-triggered paid actions. Null = no cap. |
spend_currency | CurrencyCode | Нет | ISO 4217 currency code (money is minor units + this code — CLAUDE.md §2.8). |
spend_window_seconds | integer | Да | The rolling window the spend cap applies over. |
last_used_at | string | null | Нет | — |
revoked_at | string | null | Нет | — |
created_at | string | Да | — |
token | string | Да | The full zmcp_… token, shown exactly once. |
endpoint | string | Да | The MCP protocol endpoint URL to configure in the AI client. |
config | object | Да | A paste-ready config for the connection's client, embedding the endpoint and token. The shape differs per client: Claude Code gets an http-typed server, Cursor a url +… |
config_file | object | Да | Where that client reads config — e.g. .mcp.json. null when it has no file. |
command | object | Да | A one-line alternative for a client with a command line (Claude Code), else null. It embeds the token, so treat it like the token. |
note | object | Да | Set when the client cannot use a bearer token at all. chatgpt_needs_oauth: ChatGPT connects by OAuth sign-in only, so this token cannot reach it. |
Ошибки, которые может возвращать этот эндпоинт
401 · 403 · 422 · 429