Подключение MCP и безопасность
Изучите архитектуру MCP, способы передачи и границы разрешений, чтобы безопасно подключить сторонний или собственный MCP Server.
Model Context Protocol (MCP) — открытый протокол подключения приложений ИИ к внешним системам. Совместимый клиент получает контекст, вызывает инструменты или использует заданные шаблоны через MCP Server без разработки отдельного протокола для каждого источника данных.
MCP и API модели — разные уровни подключения
AGTCloud API отвечает за вызов модели; MCP Server предоставляет инструменты и контекст совместимому клиенту. Используйте команды установки, URL и аутентификацию от издателя или администратора Server; адрес API моделей AGTCloud нельзя использовать как MCP Server Endpoint.
Как работает MCP
Один MCP Host может подключать несколько MCP Server, создавая отдельный MCP Client для каждого Server.
| Участник | Основные обязанности | Типичные варианты |
|---|---|---|
| MCP Host | Размещает приложение ИИ, управляет подключениями, разрешениями и подтверждениями | Агент программирования, IDE, настольный помощник |
| MCP Client | Устанавливает отдельное соединение с одним MCP Server и передаёт его возможности Host | Обычно встроен в Host |
| MCP Server | Предоставляет определённые инструменты, данные или шаблоны инструкций | Локальный дочерний процесс, удалённый сервис |
MCP состоит из уровня данных и транспортного уровня: первый определяет сообщения JSON-RPC, обнаружение возможностей и Primitives, второй — передачу сообщений между локальными процессами или по сети. Клиент обычно скрывает эти детали; при подключении используйте его штатные настройки MCP.
Что может предоставлять Server
MCP Server предоставляет три основных вида Primitives:
| Primitive | Управление | Назначение | Что проверить при подключении |
|---|---|---|---|
| Tools | Модель может выбрать вызов; Host определяет выполнение и разрешения | Операции и запросы: вызов API, запись файлов, запросы к базе данных | Входную Schema, запись, внешние побочные эффекты и необходимость ручного одобрения |
| Resources | Выбираются и управляются приложением | Контекст для модели: файлы, записи и ответы API | Область данных, конфиденциальную информацию, частоту обновления и достоверность |
| Prompts | Обычно выбираются пользователем | Многократно используемые шаблоны взаимодействия и параметры | Источник шаблона, смысл параметров и наличие внешних инструкций |
Server объявляет поддерживаемые возможности, затем клиент обнаруживает Tools, Resources и Prompts. Предоставленная возможность не обязательно включается клиентом: поведение зависит от версии Host, политики разрешений и выбора пользователя.
Считайте содержимое от Server внешним вводом
Resource, результат Tool и Prompt могут содержать недоверенные данные. Сам факт передачи через MCP не разрешает инструкциям в них доступ к другим файлам, учётным данным или системным сервисам.
Выбор транспорта
Текущая спецификация MCP определяет два стандартных транспорта: stdio и Streamable HTTP.
| Транспорт | Принцип работы | Лучше подходит для | Основные риски |
|---|---|---|---|
stdio | Клиент запускает локальный дочерний процесс Server и обменивается построчными сообщениями JSON-RPC через стандартные ввод и вывод | Локальных инструментов, ограниченных каталогов и Server без сетевого развёртывания | Команда запуска выполняет программу на компьютере; Server наследует права процесса и часть окружения |
| Streamable HTTP | Клиент отправляет HTTP POST на единый MCP Endpoint; Server возвращает JSON или SSE-поток в рамках текущего запроса | Удалённых сервисов, общих возможностей команды и Server с сетевой аутентификацией | Идентичность сервиса, OAuth или Token, сетевые границы, передача данных наружу и удалённые побочные эффекты |
Для stdio Server должен выводить в stdout только сообщения MCP, а журналы — в stderr. При сбое соединения можно проверить захваченные клиентом журналы stderr, но не передавайте третьим лицам полные журналы с учётными данными.
Текущий Streamable HTTP использует единый POST Endpoint и не требует отдельного GET или старого адреса HTTP+SSE. Аутентификацию определяет Server; если доступен OAuth, используйте его страницу авторизации, а не записывайте долгосрочные учётные данные в общую конфигурацию.
Структура настроек
Названия полей и расположение настроек различаются между клиентами. Ниже показана только типичная структура, непригодная для непосредственного запуска; замените все заполнители настоящими командами, параметрами, URL и аутентификацией издателя Server.
{
"mcpServers": {
"replace-with-server-name": {
"command": "/absolute/path/to/server-command",
"args": [
"--replace-with-required-argument"
],
"env": {
"SERVICE_API_KEY": "replace-with-client-supported-secret-reference"
}
}
}
}command— программа, которую реально запускает клиент; перед подключением проверьте полный путь и источник публикации;argsмогут содержать разрешённые каталоги, конфигурационные файлы или параметры Server;- В
envпередавайте только минимальные переменные окружения, необходимые Server. Синтаксис ссылок на учётные данные зависит от клиента.
Не копируйте неизвестные команды запуска напрямую
command и args локальной конфигурации MCP выполняются на вашем компьютере. Не запускайте команды установки неизвестного происхождения и не предоставляйте по умолчанию весь домашний каталог, каталог SSH или системные каталоги.
Безопасное подключение
1. Проверьте поддержку клиента
Убедитесь в поддержке MCP и нужного транспорта: stdio или Streamable HTTP. Используйте формат настроек текущей версии клиента, а не угадывайте поля по примерам другого клиента.
2. Проверьте идентичность Server
Получите инструкции установки из официального репозитория Server, консоли поставщика или от администратора организации. Проверьте издателя, версию, историю изменений, зависимости и удаление; для удалённого Server — домен, HTTPS и аутентификацию.
3. Проверьте возможности и разрешения
До включения изучите Tools, Resources и Prompts Server. Запишите входы, область чтения, запись и внешние побочные эффекты каждого Tool; отключите возможности, не относящиеся к текущей задаче.
4. Задайте минимальную область
Локальному Server предоставьте только нужные каталоги и переменные окружения; удалённому — аккаунт или Scope с минимальными правами. Не отправляйте ключ API модели неизвестному Server как универсальные учётные данные MCP.
5. Перезагрузите и проверьте
Перезагрузите настройки по инструкции клиента, подтвердите подключение Server и соответствие показанного списка возможностей ожиданиям. Успешное подключение не означает, что нужно включить все Tools.
6. Начните с операций чтения
Сначала перечислите возможности, прочитайте один неконфиденциальный Resource или вызовите Tool без побочных эффектов. После проверки входов, выходов и журналов по отдельности разрешайте запись файлов, изменение данных или обращения к внешним системам.
Проверка разрешений
| Область | Что подтвердить перед подключением |
|---|---|
| Локальные файлы | Какие каталоги Server читает и изменяет, следует ли символическим ссылкам и обращается ли к файлам вне каталога |
| Выполнение команд | Какие программы запускает Tool и управляет ли параметрами напрямую модель или внешнее содержимое |
| Сеть | К каким доменам, внутренним сервисам и сторонним API обращается Server |
| Учётные данные | Где хранятся Key или Token, какому процессу или домену передаются, можно ли отозвать отдельно |
| Обработка данных | Покидают ли входы и результаты компьютер, как поставщик хранит журналы и данные вызовов |
| Запись | Требуется ли явное подтверждение изменения, удаления, отправки, оплаты или сообщений |
| Обновление | Показывает ли клиент разрешения заново при изменении пакета Server или удалённых возможностей |
Для удалённого Server используйте только доверенные HTTPS-адреса и его процесс авторизации. Для локального предпочитайте абсолютные пути команд, изолированные каталоги и права обычного пользователя; не запускайте с административными правами ради удобства.
Частые вопросы
| Симптом | Что проверить в первую очередь | Решение |
|---|---|---|
| Server не запускается | Путь команды, среду, параметры и рабочий каталог | Проверьте наличие программы в обычном терминале, но не выполняйте неизвестные команды в обход клиента |
| Клиент подключён, но Tools отсутствуют | Возможности Server, разрешения и версию клиента | Перезагрузите список возможностей и подтвердите поддержку Primitive клиентом |
stdio сразу отключается | Обычные журналы в stdout Server | Отправляйте журналы в stderr, оставляя в stdout только сообщения MCP |
Удалённый Endpoint возвращает 401 или 403 | Аутентификацию Server, Token и Scope | Повторно авторизуйтесь по документации Server, не используйте Token другого сервиса |
Удалённый Endpoint возвращает 404 | Наличие полного пути MCP в URL | Используйте Endpoint издателя Server, не добавляйте самостоятельно путь API модели |
| Tool читает, но не записывает | Права Tool, каталоги и ручное подтверждение | Расширяйте права только при необходимости и повторите обратимый тест |
| Поведение Tool не соответствует описанию | Версию Server, Schema Tool и внешний ввод | Немедленно отключите Tool, сохраните обезличенные доказательства и свяжитесь с издателем Server |
| После подключения появляются неожиданные внешние запросы | Сетевые права Server и направление данных | Отключите Server, отзовите учётные данные и проверьте журналы и сетевую активность хоста |
Рекомендации для дальнейшего использования
- Регулярно проверяйте подключённые Server, версии, список Tools и выданные разрешения;
- Используйте для каждого Server отдельные отзываемые учётные данные с минимальными правами;
- Сохраняйте ручное подтверждение, особенно для удаления, записи, оплаты, сообщений и производственных операций;
- Не считайте инструкции из неизвестных Resources или результатов Tools доверенными системными инструкциями;
- Удаляйте из журналов, снимков экрана и отчётов ключи, Token, данные клиентов и конфиденциальные пути;
- После прекращения использования Server удалите настройки клиента и отзовите учётные данные.
Для настройки AGTCloud в клиенте модели начните с руководства по CC-Switch или выберите инструмент в разделе «Сторонние интеграции» слева; эндпоинты и поля описаны в Справочнике API. Детали и изменения MCP проверяйте по официальной документации MCP.