MCP – это открытый протокол от Anthropic, который позволяет AI-моделям подключаться к внешним инструментам и данным.
Архитектура MCP
Хост (Host) – это приложение, в котором ты общаешься с AI – например Claude Desktop, Cursor или VS Code с Copilot. Хост отвечает за UI, управление разрешениями, и решает каким серверам можно доверять.
Клиент (Client) – живёт внутри хоста. Каждый клиент держит соединение 1:1 с одним MCP-сервером. Клиент – это по сути прослойка, которая переводит запросы AI в протокол MCP.
Сервер (Server) – отдельный процесс, который даёт доступ к чему-то конкретному. Когда AI хочет что-то сделать – запрос идёт через клиента к серверу, сервер выполняет и возвращает результат.
Требования для работы
Перед началом убедись, что у тебя установлены:
- Node.js (версия 18+) – большинство MCP-серверов работают через npx
- Claude Desktop (или другой MCP-клиент: Cursor, VS Code с Copilot)
Проверка Node.js:
node --version
# Должно быть v18.x.x или вышеЕсли Node.js не установлен:
- macOS:
brew install nodeили скачай с nodejs.org - Windows: скачай установщик с nodejs.org
- Linux:
sudo apt install nodejs npmили используй nvm
Расположение конфигурационного файла
Конфигурация MCP-серверов хранится в JSON-файле. Расположение зависит от платформы и клиента:
Claude Desktop
| Платформа | Путь к файлу |
|---|---|
| macOS | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Windows | %APPDATA%\Claude\claude_desktop_config.json |
| Linux | ~/.config/Claude/claude_desktop_config.json |
Cursor
| Платформа | Путь к файлу |
|---|---|
| macOS | ~/Library/Application Support/Cursor/mcp-servers.json |
| Windows | %APPDATA%\Cursor\mcp-servers.json |
| Linux | ~/.config/Cursor/mcp-servers.json |
VS Code (GitHub Copilot)
| Платформа | Путь к файлу |
|---|---|
| Все платформы | .vscode/mcp.json в корне проекта |
Структура конфигурационного файла
Базовая структура конфигурации:
{
"mcpServers": {
"имя-сервера": {
"command": "команда-запуска",
"args": ["аргументы", "командной", "строки"],
"env": {
"ПЕРЕМЕННАЯ": "значение"
}
}
}
}Можно подключить несколько серверов одновременно:
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/username/Documents"]
},
"postgres": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-postgres", "postgresql://user:pass@localhost:5432/mydb"]
},
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_xxxxxxxxxxxx"
}
}
}
}Примеры настройки популярных MCP-серверов
1. PostgreSQL
Позволяет AI выполнять SQL-запросы к базе данных.
{
"mcpServers": {
"postgres": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-postgres",
"postgresql://username:password@localhost:5432/database_name"
]
}
}
}Формат строки подключения:
postgresql://[user]:[password]@[host]:[port]/[database]Примеры использования:
- “Покажи структуру таблицы users”
- “Найди самого высокооплачиваемого сотрудника”
- “Выведи статистику продаж за последний месяц”
2. Filesystem (Файловая система)
Даёт AI доступ к чтению и записи файлов в указанных директориях.
macOS / Linux:
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/Users/username/Documents",
"/Users/username/Projects"
]
}
}
}Windows:
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"C:\\Users\\username\\Documents",
"C:\\Users\\username\\Projects"
]
}
}
}⚠️ Безопасность: Давай доступ только к тем директориям, которые готов показать AI. Сервер работает с правами твоего пользователя.
Примеры использования:
- “Прочитай файл config.json и объясни его структуру”
- “Создай новый файл README.md с описанием проекта”
- “Найди все Python-файлы в директории”
3. GitHub
Позволяет AI работать с репозиториями, issues, pull requests.
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_xxxxxxxxxxxxxxxxxxxx"
}
}
}
}Как получить токен:
- Перейди на GitHub → Settings → Developer settings → Personal access tokens → Tokens (classic)
- Нажми “Generate new token (classic)”
- Выбери нужные права (repo, read:org для полного доступа)
- Скопируй токен и вставь в конфиг
Официальный сервер от GitHub (расширенные возможности):
{
"mcpServers": {
"github": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-e", "GITHUB_PERSONAL_ACCESS_TOKEN",
"ghcr.io/github/github-mcp-server"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_xxxxxxxxxxxxxxxxxxxx"
}
}
}
}Примеры использования:
- “Создай новый репозиторий my-project”
- “Покажи открытые issues в репозитории”
- “Создай pull request с описанием изменений”
Проверка установки
Claude Desktop
- Закрой Claude Desktop полностью
- Создай или отредактируй конфигурационный файл
- Открой Claude Desktop заново
- Нажми на иконку “+” или “🔌” рядом с полем ввода
- Должны появиться подключённые серверы
Частые проблемы и решения
Сервер не запускается
- Проверь путь к Node.js:
which node
which npx- Убедись, что пути абсолютные – относительные пути не работают
- Проверь JSON-синтаксис – лишняя запятая или кавычка ломают конфиг
Ошибка “command not found”
На некоторых системах нужно указать полный путь к npx:
{
"mcpServers": {
"postgres": {
"command": "/usr/local/bin/npx",
"args": ["-y", "@modelcontextprotocol/server-postgres", "..."]
}
}
}Windows: проблемы с путями
Используй двойные обратные слеши или прямые:
"args": ["C:\\Users\\username\\Documents"]
// или
"args": ["C:/Users/username/Documents"]Безопасность
MCP-серверы имеют доступ к твоим данным, поэтому:
- Используй только проверенные серверы – официальные от Anthropic или с большим количеством звёзд на GitHub
- Ограничивай доступ – давай доступ только к нужным директориям/базам
- Не храни пароли в конфиге – используй переменные окружения
- Проверяй код перед установкой кастомных серверов
Полезные ресурсы
- Официальная документация MCP
- Репозиторий официальных серверов
- Awesome MCP Servers – список популярных серверов