MCP: стандарт интеграции ИИ с инструментами

MCP — открытый протокол для подключения ИИ к инструментам и данным. Разбираем архитектуру и практическое применение.

MCP: стандарт интеграции ИИ с инструментами

Model Context Protocol (MCP) — открытый стандарт, разработанный Anthropic для подключения языковых моделей к внешним источникам данных и инструментам. До MCP каждая интеграция (с базой данных, API, файловой системой) требовала кастомного кода. MCP стандартизирует этот процесс: один протокол для любых подключений.

Проблема, которую решает MCP

LLM знают только то, на чём обучены. Для доступа к актуальным данным, внутренним системам компании или инструментам (Slack, Jira, база данных) нужна интеграция. До MCP каждый провайдер предлагал свой подход: OpenAI — Actions и Plugins, Google — Extensions, Anthropic — Tool Use. Разработчик писал адаптер под каждый LLM отдельно.

MCP — «USB для ИИ»: единый стандартный разъём для подключения чего угодно к любой модели. Написали MCP-сервер для PostgreSQL — он работает с Claude, GPT, Gemini и локальными моделями.

Архитектура

MCP работает по модели клиент-сервер. MCP-сервер — программа, которая предоставляет доступ к ресурсу (база данных, API, файлы). MCP-клиент — приложение с LLM (Claude Desktop, Cursor, собственное приложение), которое подключается к серверам.

Протокол определяет три типа возможностей: Resources — данные, которые модель может прочитать (файлы, записи БД, документы). Tools — действия, которые модель может выполнить (создать запись, отправить сообщение, запустить запрос). Prompts — шаблоны для типовых задач.

Коммуникация — через JSON-RPC поверх stdio (для локальных серверов) или HTTP/SSE (для удалённых).

Примеры MCP-серверов

Anthropic и сообщество уже создали десятки серверов: файловая система (чтение/запись файлов), PostgreSQL (SQL-запросы), GitHub (issues, PR, код), Slack (чтение/отправка сообщений), Google Drive (документы), Notion (страницы и базы данных), Brave Search (веб-поиск).

Пример использования: подключите MCP-сервер PostgreSQL к Claude Desktop, и модель сможет выполнять SQL-запросы к вашей базе. «Покажи топ-10 клиентов по выручке за март» → Claude формирует SQL, выполняет запрос через MCP, возвращает результат.

Для разработчиков

Создать MCP-сервер — просто. SDK доступен для Python и TypeScript. Минимальный сервер на Python:

from mcp.server import Server
import mcp.types as types

server = Server("my-tool")

@server.list_tools()
async def list_tools():
    return [types.Tool(
        name="get_weather",
        description="Получить погоду в городе",
        inputSchema={"type": "object", "properties": {"city": {"type": "string"}}}
    )]

@server.call_tool()
async def call_tool(name, arguments):
    if name == "get_weather":
        # Логика получения погоды
        return [types.TextContent(type="text", text=f"Погода в {arguments[0][1]}: +15°C")]

server.run()

Поддержка

MCP поддерживается в Claude Desktop, Cursor, Windsurf, Zed и десятках других приложений. OpenAI объявила о поддержке MCP в Agents SDK. Google работает над интеграцией в Gemini. Стандарт быстро становится общепринятым.

Для RAG-систем MCP предлагает альтернативу кастомным интеграциям: вместо написания загрузчика документов используйте готовый MCP-сервер. Подробнее о интеграции с Claude API.

Как работает MCP

MCP использует клиент-серверную архитектуру:

  • MCP-хост — приложение с ИИ (Claude Desktop, IDE с Copilot, кастомный агент)
  • MCP-клиент — часть хоста, которая общается с серверами по протоколу MCP
  • MCP-сервер — лёгкий сервис, предоставляющий доступ к ресурсам: файлам, БД, API, браузеру

Коммуникация происходит через JSON-RPC 2.0 по транспортам: stdio (для локальных процессов) или SSE (Server-Sent Events для HTTP).

Три примитива MCP

  1. Resources (Ресурсы) — данные, которые модель может читать: файлы, записи БД, API-ответы. Аналог GET-запросов — только чтение.
  2. Tools (Инструменты) — действия, которые модель может выполнять: запись файлов, вызов API, запросы к БД. Аналог POST/PUT-запросов.
  3. Prompts (Промпты) — шаблоны для типичных взаимодействий, которые сервер предоставляет клиенту.

Популярные MCP-серверы

СерверЧто даётТип
filesystemЧтение/запись файловОфициальный
githubGitHub API: репозитории, PR, issuesОфициальный
postgresЗапросы к PostgreSQLОфициальный
brave-searchВеб-поиск через BraveОфициальный
puppeteerУправление браузеромОфициальный
memoryГраф знаний для агентовОфициальный

Как написать свой MCP-сервер (Python)

from mcp.server import Server
from mcp.server.models import InitializationOptions
import mcp.types as types

server = Server("my-tool-server")

@server.list_tools()
async def handle_list_tools():
    return [
        types.Tool(
            name="get_weather",
            description="Получить погоду по городу",
            inputSchema={
                "type": "object",
                "properties": {"city": {"type": "string"}},
                "required": ["city"]
            }
        )
    ]

@server.call_tool()
async def handle_call_tool(name: str, arguments: dict):
    if name == "get_weather":
        city = arguments["city"]
        # Реальный вызов API погоды
        return [types.TextContent(type="text", text=f"В {city}: +15°C, облачно")]

# Запуск
import asyncio
from mcp.server.stdio import stdio_server
asyncio.run(stdio_server(server))

Интеграция с Claude Desktop

Для подключения сервера к Claude Desktop редактируем config:

{
  "mcpServers": {
    "my-tool-server": {
      "command": "python",
      "args": ["/path/to/server.py"]
    }
  }
}

После перезапуска Claude видит инструменты сервера и может их вызывать в диалоге.

Экосистема MCP в 2026 году

MCP был открыт Anthropic в ноябре 2024 года. К 2026 году протокол поддержан:

  • Claude (Anthropic) — нативная поддержка
  • OpenAI — поддержка MCP в своих агентах
  • Google Gemini — интеграция через Vertex AI
  • IDE: Zed, Cursor, VS Code (через расширения)
  • Тысячи сторонних серверов в сообществе (awesome-mcp-servers)

MCP стал де-факто стандартом для подключения ИИ к внешним инструментам. Подробнее о фреймворках для агентов — в нашем сравнении LangChain и LlamaIndex.

MCP (Model Context Protocol): что это и зачем

Model Context Protocol — открытый стандарт Anthropic для подключения LLM к внешним инструментам и данным. Задача MCP — стандартизировать способ, которым ИИ-приложения общаются с базами данных, API, файловыми системами и другими сервисами. Аналог USB-C для периферии, только для ИИ-агентов.

Архитектура MCP

КомпонентРольПримеры
MCP HostПриложение, использующее LLMClaude Desktop, Cursor, VS Code
MCP ClientСлой связи внутри hostВстроен в Claude SDK
MCP ServerСервис, предоставляющий инструментыGitHub MCP, PostgreSQL MCP
TransportПротокол связиstdio (локальный), HTTP+SSE (удалённый)

Официальные MCP серверы от Anthropic

  • filesystem — чтение/запись файлов в указанных директориях
  • github — работа с репозиториями, issues, pull requests через GitHub API
  • postgres — SQL-запросы к PostgreSQL базам данных
  • brave-search — веб-поиск через Brave Search API
  • puppeteer — управление браузером для scraping и автоматизации
  • slack — отправка сообщений, работа с каналами Slack
  • google-maps — геолокация, маршруты, поиск мест

Настройка MCP в Claude Desktop

Конфигурация MCP серверов в файле claude_desktop_config.json: укажите серверы которые нужно подключить с их параметрами (путь к исполняемому файлу, переменные окружения). После перезапуска Claude Desktop увидит новые инструменты и сможет их вызывать в диалоге.

Создание собственного MCP сервера

MCP SDK доступен для Python и TypeScript. Минимальный сервер реализует три метода: list_tools() (что умеет сервер), call_tool(name, args) (вызов инструмента), list_resources() (доступные данные). Это позволяет подключить любой внутренний API компании к Claude без изменения кода самой модели.

MCP vs Function Calling: в чём разница

Function Calling (OpenAI, Anthropic) — инструменты определяются в каждом запросе и специфичны для приложения. MCP — стандартный протокол для повторно используемых серверов-инструментов. MCP серверы можно подключить к любому MCP-совместимому хосту без доработки. Trend 2025: OpenAI, Google и Microsoft анонсировали поддержку MCP в своих продуктах, что делает его реальным стандартом индустрии.