Запись архива

Руководство по работе с MCP-серверами для Claude Desktop

Как настроить и использовать MCP-серверы в Claude Desktop для доступа к файловой системе, базе данных, API и другим инструментам. Практическое руководство с примерами конфигурации.

Интерфейс настройки MCP-серверов в Claude Desktop с файлом конфигурации
Интерфейс настройки MCP-серверов в Claude Desktop с файлом конфигурации
Malayan Broadcasting Service on Air.jpg | by https://eresources.nlb.gov.sg/newspapers/digitised/article/maltribune19460403-1.2.4 | wikimedia_commons | CC BY-SA 4.0

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

MCP превращает Claude из изолированного чат-бота в агента, способного выполнять действия: читать и изменять файлы, выполнять SQL-запросы, работать с Git, запускать скрипты и обращаться к внешним сервисам. В этом руководстве — как настроить MCP-серверы и какие конфигурации реально пригодятся в работе.

Что такое MCP и как он работает

Model Context Protocol — это спецификация, определяющая, как LLM-клиент (например, Claude Desktop) взаимодействует с внешними инструментами через посредника — MCP-сервер. Сервер предоставляет ресурсы (данные) и инструменты (функции), а клиент решает, когда и какие из них вызывать.

Архитектура MCP состоит из трёх компонентов:

  • Хост — приложение, в котором работает LLM (Claude Desktop).
  • Клиент — внутренний модуль, устанавливающий соединение с сервером.
  • Сервер — программа, реализующая MCP-протокол и предоставляющая конкретные возможности.

Серверы могут быть локальными (запускаются на вашем компьютере) или удалёнными (доступны через сеть). Claude Desktop пока поддерживает только локальные серверы, которые запускаются как дочерние процессы.

Подготовка к настройке

Перед установкой серверов убедитесь, что у вас установлены необходимые компоненты:

  • Claude Desktop — последняя версия (доступна на claude.ai/download).
  • Node.js (версия 18 или выше) — требуется для большинства MCP-серверов, написанных на TypeScript.
  • Python 3.10+ — для серверов на Python (например, файловый сервер).
  • Git — для работы с репозиториями.

Проверить установку можно в терминале:

node —version
python —version
git —version

Если Node.js не установлен, скачайте его с официального сайта или через менеджер пакетов. Для macOS — `brew install node`, для Ubuntu — `sudo apt install nodejs npm`.

Файл конфигурации MCP

Все настройки серверов хранятся в файле `claude_desktop_config.json`. Расположение зависит от операционной системы:

  • macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
  • Windows: `%APPDATA%\Claude\claude_desktop_config.json`

Если файла нет, создайте его вручную. Базовая структура:

json
{
«mcpServers»: {
«имя-сервера»: {
«command»: «команда-запуска»,
«args»: [«аргумент1», «аргумент2»],
«env»: {
«ПЕРЕМЕННАЯ»: «значение»
}
}
}
}

После изменения конфигурации перезапустите Claude Desktop. Значок молотка в правом нижнем углу интерфейса показывает, какие инструменты доступны.

Основные MCP-серверы

Файловый сервер (Filesystem)

Позволяет Claude читать, создавать и редактировать файлы в указанных директориях. Полезен для работы с проектами, документацией и конфигурационными файлами.

Установка

json
{
«mcpServers»: {
«filesystem»: {
«command»: «npx»,
«args»: [
«-y»,
«@modelcontextprotocol/server-filesystem»,
«/путь/к/разрешённой/директории»,
«/путь/к/другой/директории»
]
}
}
}

В аргументах перечисляются папки, к которым Claude получит доступ. Не добавляйте туда системные директории — сервер работает с явно разрешёнными путями.

Пример использования: «Найди все файлы .env в проекте и проверь, нет ли среди них закоммиченных в Git» — Claude просканирует указанные папки и проанализирует содержимое.

Сервер PostgreSQL

Даёт Claude возможность подключаться к базе данных, выполнять запросы и анализировать схемы.

Установка

json
{
«mcpServers»: {
«postgres»: {
«command»: «npx»,
«args»: [
«-y»,
«@modelcontextprotocol/server-postgres»,
«postgresql://user:password@localhost:5432/dbname»
]
}
}
}

Важно: строка подключения содержит пароль в открытом виде. Для продакшен-баз используйте переменные окружения или файлы с ограниченным доступом.

Пример использования: «Покажи структуру таблицы orders, найди все заказы за последнюю неделю и сгруппируй их по статусу» — Claude выполнит SQL-запросы и вернёт отформатированный результат.

Сервер GitHub

Предоставляет доступ к репозиториям, issues, pull requests и файлам на GitHub.

Установка

json
{
«mcpServers»: {
«github»: {
«command»: «npx»,
«args»: [
«-y»,
«@modelcontextprotocol/server-github»
],
«env»: {
«GITHUB_PERSONAL_ACCESS_TOKEN»: «ваш-токен»
}
}
}
}

Токен создаётся в настройках GitHub (Settings > Developer settings > Personal access tokens). Минимальные права: `repo` (для приватных репозиториев) и `issues`.

Сервер Puppeteer

Позволяет Claude открывать веб-страницы, делать скриншоты и извлекать данные через headless-браузер.

Установка

json
{
«mcpServers»: {
«puppeteer»: {
«command»: «npx»,
«args»: [
«-y»,
«@modelcontextprotocol/server-puppeteer»
]
}
}
}

Пример использования: «Открой страницу документации React, сделай скриншот секции про хуки и сохрани в папку screenshots» — Claude выполнит навигацию и сохранит результат.

Сервер Memory (база знаний)

Хранит информацию в графовой базе данных на основе JSON-файла. Позволяет Claude запоминать факты между сессиями — например, предпочтения пользователя, архитектурные решения или статус задач.

Установка

json
{
«mcpServers»: {
«memory»: {
«command»: «npx»,
«args»: [
«-y»,
«@modelcontextprotocol/server-memory»
]
}
}
}

Данные сохраняются в файл `memory.json` в текущей директории. Можно указать другой путь через аргументы.

Сервер Brave Search

Даёт Claude возможность искать информацию в интернете через поисковый API Brave.

Установка

json
{
«mcpServers»: {
«brave-search»: {
«command»: «npx»,
«args»: [
«-y»,
«@anthropic-ai/mcp-server-brave-search»
],
«env»: {
«BRAVE_API_KEY»: «ваш-ключ»
}
}
}
}

API-ключ бесплатно регистрируется на brave.com/search/api. Бесплатный тариф — до 2000 запросов в месяц.

Сравнение MCP-серверов

Сервер Назначение Зависимости Типичный сценарий
Filesystem Работа с файлами Node.js Редактирование кода, анализ логов
PostgreSQL Базы данных Node.js SQL-запросы, анализ схем
GitHub Репозитории Node.js, токен Code review, управление issues
Puppeteer Веб-скрапинг Node.js, Chromium Скриншоты, извлечение данных
Memory Хранение контекста Node.js Долговременная память
Brave Search Поиск в интернете Node.js, API-ключ Поиск документации, фактчекинг

Ограничения и безопасность

MCP-серверы работают с теми же правами, что и процесс Claude Desktop. Это означает, что ошибка в конфигурации может привести к нежелательному доступу к данным.

Основные меры предосторожности:

  • Не подключайте серверы к продакшен-базам данных. Используйте копии или read-only реплики.
  • Ограничивайте пути в Filesystem. Не давайте доступ ко всей домашней директории — только к конкретным проектам.
  • Не храните токены и пароли в config.json. Используйте переменные окружения или менеджеры паролей.
  • Проверяйте, какие команды выполняет Claude. Каждый вызов инструмента отображается в интерфейсе — следите за логом.

Anthropic рекомендует запускать серверы в изолированном окружении (Docker), если вы работаете с чувствительными данными. Официальных образов пока нет, но сообщество уже публикует сборки на Docker Hub.

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

Если готовых серверов недостаточно, MCP позволяет написать собственный на TypeScript или Python. Минимальная реализация на TypeScript выглядит так:

typescript
import { Server } from «@modelcontextprotocol/sdk/server/index.js»;
import { StdioServerTransport } from «@modelcontextprotocol/sdk/server/stdio.js»;

const server = new Server({
name: «my-server»,
version: «1.0.0»
}, {
capabilities: {
tools: {}
}
});

server.setRequestHandler(«tools/call», async (request) => {
if (request.params.name === «hello») {
return {
};
}
});

const transport = new StdioServerTransport();
await server.connect(transport);

Сервер регистрируется в конфигурации так же, как и готовые. SDK доступен в npm: `@modelcontextprotocol/sdk`.

Что дальше

MCP — относительно новый протокол, и его экосистема быстро растёт. На момент написания статьи в репозитории modelcontextprotocol/servers доступно 12 официальных серверов, а сообщество опубликовало ещё несколько десятков неофициальных — для Slack, Notion, Jira, Figma и других сервисов.

Перед подключением незнакомого сервера проверьте его исходный код и количество звёзд на GitHub. Официальные серверы Anthropic публикуются под лицензией MIT в организации modelcontextprotocol.

Полезные ссылки для дальнейшего изучения:

  • Официальная документация MCP: modelcontextprotocol.io
  • Репозиторий с серверами: github.com/modelcontextprotocol/servers
  • SDK для TypeScript: npmjs.com/package/@modelcontextprotocol/sdk
  • SDK для Python: pypi.org/project/mcp

Если вы только начинаете, установите файловый сервер и сервер памяти — они не требуют внешних сервисов и дают ощутимый прирост удобства при работе с Claude. Подключение к базам данных и API стоит настраивать после того, как освоитесь с базовой конфигурацией и поймёте, какие задачи действительно требуют автоматизации.