LLM не могут сами запросить вашу БД, прочитать локальные файлы или вызвать внутренние API. Не хватает не интеллекта — а стандарта, который связывает AI с реальным миром. Эту задачу решает Model Context Protocol (MCP).
Гайд для backend- и AI-инженеров с опытом Python или TypeScript. От теории протокола до production-деплоя — вы соберёте рабочий MCP Server с Tools, Resources и Prompts. В финале подключите его к Cursor или Claude Desktop и запустите проект персональной базы знаний.
01 Протокол MCP: от Function Calling к единому стандарту
Боли: у каждого LLM-вендора свой формат function calling. Смена модели — переписывание интеграций. LangChain Tools привязаны к фреймворку и не переносятся между IDE.
- Эволюция: Function Calling (vendor-specific) → ChatGPT Plugins (platform lock-in) → MCP (открытый стандарт). Anthropic open-source MCP в ноябре 2024, чтобы унифицировать AI↔system коммуникацию через JSON-RPC.
- Роли: MCP Client на стороне AI (Claude Desktop, Cursor). MCP Server — то, что вы пишете. Он экспонирует Tools (вызываемые функции), Resources (читаемые данные) и Prompts (переиспользуемые шаблоны).
- Транспорт: JSON-RPC 2.0 поверх stdio (локально, низкая latency) или HTTP + SSE / Streamable HTTP (удалённо, multi-client). Жизненный цикл: handshake → capability negotiation → requests → shutdown.
| Измерение | MCP | OpenAI FC | LangChain |
|---|---|---|---|
| Стандартизация | Открытый, cross-model | Vendor-private | Framework-bound |
| Resources / Prompts | Нативно | Не поддерживается | Не поддерживается |
| Экосистема (2026) | 10 000+ servers | Зрелый, только OpenAI | Зрелый, только framework |
Напишите один MCP Server — Cursor, Claude Desktop и VS Code смогут его вызывать. Это USB-C-момент для AI tooling.
02 Настройка окружения и первый Hello World Server
Выбор языка: Python с официальным пакетом mcp и FastMCP (лучший старт). TypeScript с @modelcontextprotocol/sdk для full-stack команд. Примеры ниже — на Python.
python -m venv .venv
source .venv/bin/activate
pip install mcp
npm init -y
npm install @modelcontextprotocol/sdk
Структура проекта: server.py, tools/, resources/, prompts/, tests/, pyproject.toml.
Debug stack: официальный MCP Inspector (npx @modelcontextprotocol/inspector), Claude Desktop через claude_desktop_config.json, Cursor через Settings → MCP.
from mcp.server.fastmcp import FastMCP
mcp = FastMCP("my-first-server")
@mcp.tool()
def say_hello(name: str) -> str:
"""Приветствует человека по имени."""
return f"Привет, {name}! Это ваш первый MCP tool."
if __name__ == "__main__":
mcp.run()
Запустите python server.py или npx @modelcontextprotocol/inspector python server.py. После настройки Cursor или Claude Desktop tool должен появиться в AI-контексте.
03 Tools: пять практических паттернов, async и обработка ошибок
Сигнатуры функций превращаются в JSON Schema для модели. Используйте snake_case verb-имена вроде search_web. Сложные inputs чисто мапятся через Pydantic BaseModel с Field(description=...).
Пять стартовых tools: калькулятор (безопасный parsing выражений), чтение/запись файлов (directory allowlist), HTTP client (timeouts и size caps), read-only SQL (parameterized queries) и timezone utilities.
Async IO: async def с httpx.AsyncClient для сетевых вызовов. Возвращайте structured error dicts вместо raw exceptions. Добавьте timeouts и permission checks для production paths.
04 Resources и Prompts: подача данных и переиспользуемые шаблоны
Resource vs Tool: Resources дают данные; Tools выполняют действия. Адресуйте resources по URI: file://, http://, custom://. Статические resources — фиксированные URI; динамические принимают параметры вроде user://{user_id}/profile.
Поддерживайте text, JSON, binary и streaming payloads. Filesystem resource server может листать директории, читать файлы и подписываться на change events.
Prompts поставляют готовые message templates с injected parameters — идеально для code review, interview simulation или debug assistants. Multi-turn templates могут смешивать роли user и assistant.
05 HTTP transport, отладка и production deployment
| Признак | stdio | HTTP + SSE |
|---|---|---|
| Deployment | Локальный процесс | Удалённый сервер |
| Multi-client | Нет | Да |
| Лучше для | Личные локальные tools | Team-shared SaaS MCP |
Remote example: FastMCP("remote-server", transport="streamable-http") за uvicorn на порту 8000. Усилите Bearer tokens, API-key middleware, CORS allowlists и rate limits.
Тестируйте MCP Inspector и pytest через mcp.client.stdio. Частые сбои: неверный config path (tool невидим), non-serializable return types, blocking calls с timeouts.
Деплой через Docker (Python 3.12-slim), Railway/Render для hobby, Lambda/Cloud Run serverless или Nginx на VPS. Structured logs, Prometheus metrics, Sentry alerts и endpoint /health. Декларируйте MCP protocol versions и держите tool upgrades backward compatible.
06 Проект базы знаний, данные экосистемы и шесть шагов rollout
Capstone: персональный knowledge-base MCP Server с semantic search по Markdown-заметкам, созданием записей и file watching через ChromaDB/Qdrant, text-embedding-3-small и watchfiles. Спросите Cursor: «Что я писал про MCP на прошлой неделе?» — agent вызовет ваш search tool.
Reference servers 2026: mcp-server-filesystem, mcp-server-github, mcp-server-brave-search, mcp-server-postgres, mcp-server-slack. Крупные clients уже с native MCP support; enterprise security baselines и marketplaces созревают.
- Протокол: Anthropic open-source MCP в ноябре 2024 (JSON-RPC 2.0); governance перешла в Linux Foundation AAIF в 2026.
- Экосистема: публичных MCP servers больше 10 000; Python и TypeScript SDK — официальный maintenance path — проверяйте версии на GitHub после release.
- Transport: Streamable HTTP вытесняет pure SSE для stateless load balancing в cloud deployments.
Official docs и SDK (перепроверяйте links после upstream releases):
https://modelcontextprotocol.io
https://github.com/modelcontextprotocol/python-sdk
https://github.com/modelcontextprotocol/typescript-sdk
https://github.com/modelcontextprotocol/inspector
- Выбрать язык и transport: Python + stdio для solo dev; HTTP для team sharing.
- Scaffold modules: разделить tools, resources, prompts; установить MCP Inspector.
- Ship Hello World: проверить visibility в Cursor или Claude Desktop.
- Добавить пять tools плюс resources: начать read-only, затем writes и external APIs.
- Automate tests и Docker: stdio integration tests в CI.
- Deploy 24/7: sleep ноутбука убивает MCP sessions; plain Linux VPS без macOS sandboxes и Xcode. Для стабильной MCP infra, shared agents и iOS CI CALMVPS bare-metal Mac rental обычно лучший fit: dedicated M4/M4 Pro, ~120s provisioning, flexible billing. См. цены и центр помощи.
MCP — стандартный протокол для AI tooling. Освоите его — расширите любой LLM реальными возможностями, начиная с сегодняшнего Hello World.