Использовать MCP-сервер
Это руководство показывает, как подключить внешний MCP-клиент — Claude Code, редактор, MCP Inspector — к собственному серверу инструментов Control Center.
Control Center регистрирует 110 инструментов и предоставляет их по Model
Context Protocol, версия протокола 2024-11-05. Целых семейств инструментов,
которых вы могли бы ожидать, здесь нет: нет инструментов для встреч и
календаря и нет инструментов для проектов.
Найти эндпоинт
Заголовок раздела «Найти эндпоинт»Поверхность MCP использует общий основной слушатель cc_server. Отдельного
порта MCP нет.
| Эндпоинт | Метод | Назначение |
|---|---|---|
/mcp |
POST |
Транспорт Streamable HTTP — именно на нём говорит клиент |
/mcp |
DELETE |
Завершить сессию |
/sse |
GET |
Поток уведомлений, отправляемых сервером |
Так что локальная установка по умолчанию доступна по адресу
http://127.0.0.1:9030/mcp.
- Откройте Настройки → Сервер → MCP-серверы
- Посмотрите карточку MCP-сервер — она показывает, запущен сервер или остановлен, и порт, который он слушает
На свежей установке поверхность включена по умолчанию, поэтому loopback-клиент работает без похода в настройки. Запускать при старте приложения определяет, вернётся ли она после перезапуска; Запустить / Остановить — это команды для текущей сессии, они не меняют эту настройку.
По умолчанию сервер привязывается к loopback, поэтому эндпоинт доступен только
с машины, на которой работает cc_server, если только вы не запустили его с
--bind any.
Подключить клиент
Заголовок раздела «Подключить клиент»Направьте клиент на эндпоинт Streamable HTTP. Точная форма конфигурации — дело вашего клиента; URL в любом случае один и тот же.
{ "mcpServers": { "control-center": { "type": "http", "url": "http://127.0.0.1:9030/mcp" } }}Claude Code
Заголовок раздела «Claude Code»Claude Code не подхватит это из проектного .mcp.json — он ставит MCP-серверы
уровня проекта за запрос на одобрение, на который неинтерактивный claude -p
никогда не отвечает. Передайте конфигурацию явно:
claude --mcp-config /path/to/mcp.json --strict-mcp-config--strict-mcp-config заставляет Claude использовать только этот файл, чтобы тот
же сервер не был ещё и обнаружен из проекта и зарегистрирован дважды.
Проверка: попросите клиент перечислить свои инструменты. Вы должны увидеть
записи mcp__*, охватывающие тикеты, пространства, память, граф кода и
проверку.
Предоставлять MCP за пределами хоста
Заголовок раздела «Предоставлять MCP за пределами хоста»- В Настройки → Сервер → MCP-серверы, в строке Токен аутентификации, нажмите Задать и вставьте токен
- Передавайте его как
Authorization: Bearer <token>в каждом запросеPOST /mcp
Поверхность без токена отказывает любому вызывающему не через loopback с кодом 403. Это осознанный fail-closed: именно токен делает обслуживание вне хоста вообще возможным.
Изменения токена применяются к работающей поверхности сразу — без перезапуска.
Привязывать каждый вызов к рабочему пространству
Заголовок раздела «Привязывать каждый вызов к рабочему пространству»Каждый инструмент, который затрагивает данные уровня рабочего пространства,
требует workspace_id, и вызов без него отклоняется, а не разрешается
относительно какого-то «текущего» рабочего пространства:
{ "workspace_id": "acme", "title": "Fix login bug", "priority": "high"}Этот id — тот, что в URL вашего браузера или приложения:
/workspaces/<workspace_id>/…. Единственные исключения — инструменты, которые
действительно охватывают несколько рабочих пространств, например
list_workspaces и инструменты ленты новостей — лента новостей ведётся по
пользователю, а у агента нет собственного пользователя, поэтому такие
инструменты работают с лентами владельца сервера.
Инструменты уровня репозитория дополнительно проверяют, что репозиторий привязан к этому рабочему пространству.
Знать, что поверхность отклонит
Заголовок раздела «Знать, что поверхность отклонит»- Фильтрация по режиму. Вызов разрешается на стороне сервера относительно
режима пространства вызывающего агента. Агент в режиме только для чтения не
может дотянуться до инструмента записи, опустив
space_id— вместо этого режим определяется по его активному запуску. - Ограничения действий. Изменяющие инструменты объявляют свои классы эффектов и проходят через ту же политику, что и остальная часть продукта. См. Настроить ограничения.
- Подтверждение. Некоторые разрушительные инструменты формируют полезную нагрузку подтверждения, которую нужно одобрить, прежде чем вызов продолжится.
Полный каталог объявляется в tools/list без фильтрации на этапе обнаружения —
внешний MCP-клиент отказывается вызывать инструмент, которого нет в его
кэшированном списке, поэтому сокрытие инструментов ломает их, а не наводит
порядок.
Устранение неполадок
Заголовок раздела «Устранение неполадок»Клиент не видит ни одного инструмента
Заголовок раздела «Клиент не видит ни одного инструмента»- Проверьте, что карточка MCP-сервер показывает, что сервер запущен
- Проверьте, что порт совпадает с портом вашего
cc_server - В Claude Code проверьте, что вы передали
--mcp-configи--strict-mcp-config
403 с машины, которая не является сервером
Заголовок раздела «403 с машины, которая не является сервером»Bearer-токен не настроен. Задайте его и передавайте в запросах.
Вызов инструмента завершается ошибкой «Missing or invalid argument: workspace_id»
Заголовок раздела «Вызов инструмента завершается ошибкой «Missing or invalid argument: workspace_id»»Добавьте workspace_id. Неявного рабочего пространства не существует.
Вызов инструмента отклоняется как неизвестный
Заголовок раздела «Вызов инструмента отклоняется как неизвестный»Инструменты MCP перечисляет каталог. Вызывайте имя точно так, как оно там указано.