MCP сервер: практический пример
Это репозиторий с реализацией MCP-сервера (Model Context Protocol) для образовательных целей. Код демонстрирует, как создать рабочий MCP-сервер, который можно интегрировать с различными LLM-клиентами.
Полный туториал доступен на YouTube: видео-руководство.
Что такое MCP?
MCP (Model Context Protocol) — это открытый протокол, который стандартизирует передачу контекста LLM. Его можно сравнить с USB-C для AI-приложений: единый способ подключения моделей к разным источникам данных и инструментам.
Ключевые преимущества:
- Готовые интеграции, к которым LLM подключается напрямую
- Возможность легко переключаться между провайдерами LLM
- Лучшие практики безопасности данных в вашей инфраструктуре
Архитектура
MCP использует клиент-серверную архитектуру:
- MCP Host — программа (Claude Desktop, IDE, AI-инструмент), которая хочет получить данные через MCP
- MCP Client — протокольный клиент, поддерживающий соединение 1:1 с сервером
- MCP Server — лёгкий сервер, предоставляющий специфические возможности через стандартизированный протокол
- Источники данных — локальные (файлы, БД) и удалённые сервисы (API), к которым MCP-сервер обращается
Основные возможности MCP-сервера
MCP-сервер может предоставлять три типа возможностей:
- Resources — данные, которые клиент может прочитать (например, ответы API, содержимое файлов)
- Tools — функции, вызываемые LLM (с разрешения пользователя)
- Prompts — готовые шаблоны для типовых задач
Системные требования
- Python 3.10 или новее
- MCP SDK 1.2.0 или новее
- Пакетный менеджер
uv
Установка
Установка uv
macOS / Linux:
curl -LsSf https://astral.sh/uv/install.sh | sh
После установки перезапустите терминал, чтобы команда uv стала доступна.
Создание проекта
# Создайте директорию
uv init mcp-server
cd mcp-server
# Виртуальное окружение
uv venv
source .venv/bin/activate # На Windows: .venv\Scripts\activate
# Установите зависимости
uv add "mcp[cli]" httpx
Создайте файл сервера:
touch main.py
Запуск сервера
uv run main.py
Сервер запустится и будет готов принимать подключения.
Подключение к Claude Desktop
-
Установите Claude Desktop с официального сайта.
-
Отредактируйте конфигурационный файл Claude Desktop:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
Пример содержимого:
{
"mcpServers": {
"mcp-server": {
"command": "/full/path/to/uv",
"args": [
"--directory",
"/ABSOLUTE/PATH/TO/YOUR/mcp-server",
"run",
"main.py"
]
}
}
}
- Перезапустите Claude Desktop.
Поиск и устранение неисправностей
Если Claude Desktop не видит сервер:
- Проверьте путь к файлу конфигурации и права доступа
- Убедитесь, что в
args указан абсолютный путь к вашему проекту
- Проверьте, что
uv установлен корректно (используйте полный путь до команды)
- Просмотрите логи Claude Desktop на предмет ошибок
Лицензия
Проект распространяется под лицензией MIT. Подробнее — в файле LICENSE.
Комментарии
Комментариев пока нет. Будьте первым.