
Что такое MCP
Model Context Protocol (MCP) — это открытый стандарт, разработанный Anthropic, для подключения AI-агентов к внешним инструментам и источникам данных. Протокол определяет единый способ взаимодействия между AI-моделью и любым сервисом: базами данных, поисковыми системами, файловыми системами, API и многим другим.
Самая точная аналогия — USB-порт для AI. До USB каждое устройство требовало свой разъём и драйвер. MCP решает ту же проблему: вместо десятков разных интеграций — один стандартный интерфейс для подключения чего угодно.
MCP появился в конце 2024 года и за несколько месяцев стал де-факто стандартом. Его поддерживают Claude Code, OpenAI Codex, Cursor, Windsurf и десятки других инструментов.
Как работает MCP
Архитектура MCP состоит из четырёх уровней:
Host (Claude Code, Codex)
└── Client (встроен в host)
└── Server (MCP-сервер)
├── Tools (действия: поиск, запись, API-вызовы)
└── Resources (данные: файлы, записи из БД, документация)
Host — приложение, в котором работает AI-агент (Claude Code, Codex CLI, Cursor).
Client — компонент внутри host, который устанавливает соединение с MCP-серверами и управляет обменом сообщениями.
Server — отдельный процесс, который предоставляет tools и resources. Один host может подключаться к нескольким серверам одновременно.
Что предоставляют серверы
| Тип | Описание | Пример |
|---|---|---|
| Tools | Действия, которые агент может выполнить | Выполнить SQL-запрос, создать issue в GitHub |
| Resources | Данные для чтения | Содержимое файла, запись из БД, документация |
| Prompts | Шаблоны промптов | Предзаданные инструкции для типовых задач |
Транспорт
MCP поддерживает два типа подключения:
- stdio — локальные серверы, запускаются как дочерний процесс. Быстро, безопасно, без сети
- SSE / Streamable HTTP — удалённые серверы, доступные по URL. Подходят для командной работы и облачных сервисов
Обмен данными между клиентом и сервером идёт через JSON-RPC 2.0 — тот же протокол, что используется в Language Server Protocol (LSP) для IDE.
Зачем нужен MCP
Без MCP каждый инструмент требует отдельной интеграции. Хотите, чтобы AI-агент работал с PostgreSQL? Пишите плагин. Нужен поиск в интернете? Ещё один плагин. GitHub, Jira, Slack — каждый раз заново.
С MCP — один протокол, любое количество инструментов. AI-агент получает доступ к реальному миру:
- Читать и писать в базы данных
- Искать актуальную информацию в интернете
- Управлять файлами за пределами проекта
- Вызывать произвольные API
- Автоматизировать действия в браузере
При этом пользователь контролирует, какие серверы подключены и какие действия разрешены. Агент не может выйти за пределы предоставленных инструментов.
Примеры использования
Поиск в интернете (Exa, Brave Search)
Агент ищет актуальную информацию прямо во время работы. Нужно узнать, какая сейчас последняя версия библиотеки? Найти документацию по новому API? MCP-сервер для поиска решает эту задачу без переключения контекста.
{
"mcpServers": {
"exa": {
"command": "npx",
"args": ["-y", "exa-mcp-server"],
"env": {
"EXA_API_KEY": "your-key"
}
}
}
}
Работа с базами данных (PostgreSQL)
Запросы к БД прямо из чата с агентом. Можно попросить агента проанализировать схему, написать и выполнить запрос, объяснить результаты. Полезно для дебага, аналитики и миграций.
{
"mcpServers": {
"postgres": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-postgres"],
"env": {
"POSTGRES_CONNECTION_STRING": "postgresql://user:pass@localhost:5432/mydb"
}
}
}
}
GitHub (issues, PRs, code search)
Управление репозиториями без выхода из терминала. Агент может создавать issues, просматривать pull requests, искать код по всему GitHub, анализировать CI/CD-логи.
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_..."
}
}
}
}
Документация (Context7)
Получение актуальной документации для любой библиотеки. Вместо того чтобы искать в браузере, агент сам находит нужные разделы docs и использует их в работе. Особенно полезно для новых версий библиотек, которые ещё не попали в обучающие данные модели.
{
"mcpServers": {
"context7": {
"command": "npx",
"args": ["-y", "@upstash/context7-mcp"]
}
}
}
Файловая система
Чтение и запись файлов за пределами рабочей директории проекта. Агент может работать с конфигами в домашней директории, читать логи из /var/log, обращаться к файлам в других проектах.
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/you/Documents", "/tmp"]
}
}
}
Браузер (Playwright)
Автоматизация действий в браузере. Агент может открывать страницы, заполнять формы, делать скриншоты, извлекать данные. Подходит для тестирования, скрейпинга и автоматизации рутинных веб-действий.
{
"mcpServers": {
"playwright": {
"command": "npx",
"args": ["-y", "@playwright/mcp"]
}
}
}
MCP в Claude Code
Claude Code поддерживает MCP-серверы через файл .mcp.json. Его можно разместить:
- В корне проекта (
.mcp.json) — серверы доступны только в этом проекте - В домашней директории (
~/.claude/.mcp.json) — серверы доступны глобально
Формат конфигурации:
{
"mcpServers": {
"context7": {
"command": "npx",
"args": ["-y", "@upstash/context7-mcp"]
},
"postgres": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-postgres"],
"env": {
"POSTGRES_CONNECTION_STRING": "postgresql://localhost:5432/mydb"
}
}
}
}
После добавления сервера перезапустите Claude Code. Агент автоматически увидит доступные tools и сможет их вызывать. Посмотреть список подключённых серверов и их tools можно командой /mcp.
Также можно добавить MCP-сервер интерактивно прямо из Claude Code:
claude mcp add context7 -- npx -y @upstash/context7-mcp
MCP в Codex
OpenAI Codex CLI также поддерживает MCP-серверы. Настройка выполняется через файл config.toml, который находится в:
- macOS / Linux:
~/.config/codex/config.toml - Windows:
%APPDATA%\codex\config.toml
Формат конфигурации:
[mcp_servers.context7]
command = "npx"
args = ["-y", "@upstash/context7-mcp"]
[mcp_servers.postgres]
command = "npx"
args = ["-y", "@modelcontextprotocol/server-postgres"]
[mcp_servers.postgres.env]
POSTGRES_CONNECTION_STRING = "postgresql://localhost:5432/mydb"
После сохранения перезапустите Codex. Серверы запустятся автоматически, и агент получит доступ к их инструментам.
Как создать свой MCP-сервер
Если нужного MCP-сервера не существует, его можно написать самостоятельно. Доступны официальные SDK:
- TypeScript:
@modelcontextprotocol/sdk - Python:
mcp
Минимальный сервер на TypeScript:
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
const server = new McpServer({
name: "my-server",
version: "1.0.0",
});
server.tool("hello", "Says hello", { name: { type: "string" } }, async ({ name }) => ({
content: [{ type: "text", text: `Hello, ${name}!` }],
}));
const transport = new StdioServerTransport();
await server.connect(transport);
Любой REST API можно обернуть в MCP-сервер за несколько часов. Это особенно полезно для внутренних корпоративных систем, которые вряд ли получат официальный MCP-сервер.
Каталог готовых серверов доступен на mcp.so и в официальном репозитории.
Итог
MCP превращает AI-агентов из изолированных чат-ботов в полноценных помощников, подключённых к реальным инструментам и данным. Единый протокол, растущая экосистема серверов и поддержка во всех основных AI-инструментах делают MCP обязательным стандартом для продуктивной работы с AI.
Omni Router поддерживает работу с Claude Code и Codex, которые используют MCP. Подключайте любые MCP-серверы и используйте всю мощь AI-агентов через единый прокси.