Зачем индустрии понадобился Model Context Protocol
До появления стандарта Model Context Protocol (MCP) каждый разработчик ИИ-приложений сталкивался с «проблемой \(N \times M\)»: если у вас есть \(N\) языковых моделей и рабочих сред (ChatGPT, Claude, Cursor, открытые агенты) и \(M\) источников данных (GitHub, базы данных Postgres, браузерная автоматизация, файловая система), требовалось создавать и поддерживать десятки кастомных адаптеров под каждый отдельный API.
Компания Anthropic предложила элегантное решение, сделав протокол открытым стандартом: MCP выполняет для ИИ-экосистемы ту же роль, какую стандарт USB-C выполнил для физических устройств, а протокол Language Server Protocol (LSP) — для редакторов кода. Любой сервер, написанный по спецификации MCP, мгновенно становится доступен в любом совместимом клиенте.
Архитектура протокола: как взаимодействуют компоненты
Архитектура MCP построена на клиент-серверной модели с использованием формата JSON-RPC 2.0. Вся экосистема делится на три базовые роли:
- MCP Host (Хост) — среда, с которой взаимодействует пользователь (например, приложение Claude Desktop или IDE Cursor). Хост управляет сессиями, правами безопасности и вызывает LLM.
- MCP Client (Клиент) — внутренний компонент хоста, поддерживающий постоянное 1:1 соединение с конкретным MCP-сервером.
- MCP Server (Сервер) — легковесная программа (на Node.js, Python или Go), предоставляющая хосту три базовых примитива: ресурсы (Resources), инструменты (Tools) и шаблоны промптов (Prompts).
| Примитив MCP | Направление | Тип операции | Пример использования |
|---|---|---|---|
Resources | Сервер → Модель | Чтение (Read-only) | Содержимое файлов проекта, схема БД, системные логи |
Tools | Модель → Сервер | Выполнение с эффектом | Запуск SQL-запроса, клик по кнопке в браузере, отправка curl |
Prompts | Сервер → Пользователь | Шаблоны контекста | Готовые сценарии код-ревью, генерация тестов, аудит схемы |
Пошаговая настройка в Claude Desktop
Для подключения MCP-серверов к приложению Claude Desktop используется конфигурационный файл claude_desktop_config.json.
Где находится конфигурационный файл:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Пример рабочей конфигурации с проверенными серверами:
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/Users/username/Desktop/Projects"
]
},
"sqlite": {
"command": "uvx",
"args": [
"mcp-server-sqlite",
"--db-path",
"/Users/username/data/analytics.db"
]
},
"fetch": {
"command": "uvx",
"args": ["mcp-server-fetch"]
}
}
} Подключение серверов в Cursor IDE
Редактор Cursor активно поддерживает протокол MCP в режиме Composer и Agentic Chat. Для подключения сервера в Cursor:
- Откройте настройки редактора (
Cursor Settingsили комбинацияCtrl+,/Cmd+,). - Перейдите во вкладку Features → MCP Servers.
- Нажмите + Add New MCP Server.
- Укажите имя сервера, тип транспорта (
commandдля stdio) и саму команду с аргументами.
Агент Cursor сможет самостоятельно задействовать подключенные инструменты во время решения задач по программированию, чтения локальных баз данных и анализа документации.
Топ-5 открытых инструментов с поддержкой MCP
В нашем открытом Каталоге ИИ и MCP-серверов собраны лучшие проекты с готовыми конфигами для мгновенного копирования:
- Browser-Use — мощная автономная браузерная автоматизация на базе Playwright. Позволяет агенту заходить на сайты, заполнять формы и извлекать данные в реальном времени.
- Crawl4AI — специализированный веб-краулер, преобразующий сложные JavaScript-страницы в идеально очищенный Markdown для контекстного окна LLM.
- FastMCP — высокопроизводительный фреймворк на Python, позволяющий создать собственный MCP-сервер с инструментами всего за несколько строк кода с помощью декораторов
@mcp.tool(). - Mem0 — долгосрочная семантическая память для ассистентов, сохраняющая ключевые предпочтения и факты о проекте между перезапусками диалогов.
- Ollama MCP — мост к локально развернутым открытым моделям (Llama 3, Qwen, DeepSeek), исключающий передачу конфиденциального исходного кода на серверы сторонних провайдеров.
Безопасность и гигиена работы с MCP
Поскольку MCP-инструменты исполняются локально в вашей операционной системе, соблюдайте базовые правила безопасности:
- Ограничивайте область действия сервера
filesystemтолько конкретными рабочими папками проекта, избегая открытия корневой директории/или домашней папки~. - Перед подключением сторонних пакетов через
npxилиpipпроверяйте дату публикации пакета и его звёзды на GitHub, чтобы исключить атаки через подмену зависимостей (typosquatting). - Храните секретные токены и пароли в переменных окружения хоста, а не в открытом тексте конфигурационного JSON-файла.
Частые вопросы
Что такое Model Context Protocol (MCP) простыми словами?
Model Context Protocol (MCP) — это открытый стандарт связи между ИИ-клиентами (хостами, такими как Claude Desktop, Cursor или агентские среды) и внешними источниками данных или инструментами (MCP-серверами). Вместо того чтобы писать уникальный код интеграции под каждую нейросеть, сервер разрабатывается один раз по протоколу JSON-RPC и работает в любом поддерживаемом приложении.
В чем разница между инструментами (Tools), ресурсами (Resources) и промптами (Prompts) в MCP?
Ресурсы (Resources) предоставляют модели пассивные данные для чтения (файлы, схемы баз данных, логи). Инструменты (Tools) позволяют модели выполнять активные действия с побочными эффектами (выполнять SQL-запросы, отправлять запросы в API, управлять браузером). Промпты (Prompts) — это предопределённые шаблоны инструкций и контекста, которые сервер передаёт клиенту.
Где находится файл конфигурации claude_desktop_config.json?
На macOS файл расположен по пути: ~/Library/Application Support/Claude/claude_desktop_config.json. На Windows: %APPDATA%\Claude\claude_desktop_config.json (обычно C:\Users\ИМЯ\AppData\Roaming\Claude\claude_desktop_config.json). Если файла нет, его можно создать вручную с корневым объектом {"mcpServers": {}}.
Почему Claude Desktop или Cursor не видят локально установленные npx / uvx команды?
Графические десктопные приложения запускаются с урезанной системной переменной PATH и часто не имеют доступа к путям ~/.nvm/versions или пользовательским окружениям Python. Для надежной работы указывайте абсолютные пути к бинарникам (например, /usr/local/bin/npx или C:\Program Files\nodejs\npx.cmd) либо передавайте явную переменную env в конфигурации сервера.
Безопасно ли подключать сторонние MCP-серверы к агентам?
MCP-серверы работают локально от имени вашего пользователя и потенциально имеют доступ к диску и сети. Всегда проверяйте исходный код открытых серверов на GitHub, запускайте их в изолированных каталогах и никогда не отключайте подтверждение опасных операций (write/delete) в настройках хоста.