MCP-серверы

Расширение возможностей Claude Code с помощью Model Context Protocol для подключения внешних инструментов и сервисов

MCP-серверы

MCP (Model Context Protocol — Протокол контекста моделей) — это открытый стандарт от Anthropic, позволяющий Claude Code подключаться к внешним инструментам, базам данных, API и сервисам. С помощью MCP вы можете значительно расширить возможности Claude Code.

Что такое MCP?

Основные понятия

MCP — это открытый протокол, определяющий стандарт взаимодействия между ИИ-ассистентом и внешними системами. Он включает три основных компонента:

Компонент Описание Примеры
Tools (Инструменты) Выполняемые действия Запросы к БД, HTTP-запросы, операции с файлами
Resources (Ресурсы) Данные для чтения Содержимое файлов, ответы API, записи в БД
Prompts (Промпты) Предопределённые шаблоны задач Шаблоны ревью кода, генерации отчётов

Зачем нужен MCP?

  • Расширение возможностей: даёт Claude доступ к системам, которые иначе недоступны

  • Актуальные данные: получение свежей документации, содержимого БД, данных API

  • Автоматизация операций: деплой, отправка уведомлений, управление ресурсами

  • Конфиденциальность: данные обрабатываются локально, без загрузки в облако

Быстрый старт

Проверка статуса MCP

> /mcp

Показывает статус текущих настроенных MCP-серверов.

Добавление MCP-сервера

Используйте команду claude mcp add для добавления сервера:

# Добавление сервера файловой системы
claude mcp add filesystem npx -y @modelcontextprotocol/server-filesystem /path/to/directory

# Добавление сервера базы данных SQLite
claude mcp add sqlite npx -y mcp-server-sqlite ./database.db

# Добавление пользовательского сервера
claude mcp add my-server node /path/to/server.js

Настройка через конфигурационный файл

Также можно создать файл .mcp.json в корне проекта:

{
  "filesystem": {
    "command": "npx",
    "args": ["-y", "@modelcontextprotocol/server-filesystem", "/allowed/path"]
  },
  "database": {
    "command": "npx",
    "args": ["-y", "mcp-server-sqlite", "./data.db"]
  }
}

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

Файловая система

Доступ к локальной файловой системе:

{
  "filesystem": {
    "command": "npx",
    "args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/directory"]
  }
}

Возможности: чтение, запись, поиск файлов в указанной директории.

База данных SQLite

Подключение к базе данных SQLite:

{
  "sqlite": {
    "command": "npx",
    "args": ["-y", "mcp-server-sqlite", "./database.db"]
  }
}

Возможности: выполнение SQL-запросов, управление структурой базы данных.

GitHub

Подключение к репозиториям GitHub:

{
  "github": {
    "command": "npx",
    "args": ["-y", "@modelcontextprotocol/server-github"],
    "env": {
      "GITHUB_TOKEN": "${GITHUB_TOKEN}"
    }
  }
}

Возможности: управление Issues, PR, операции с репозиториями.

Context7 (Поиск документации)

Получение актуальной документации библиотек:

{
  "context7": {
    "command": "npx",
    "args": ["-y", "@context7/mcp-server"]
  }
}

Возможности: получение актуальной документации и примеров кода любых библиотек.

Supabase

Подключение к бэкенду Supabase:

{
  "supabase": {
    "command": "npx",
    "args": ["-y", "@supabase/mcp-server"],
    "env": {
      "SUPABASE_URL": "${SUPABASE_URL}",
      "SUPABASE_KEY": "${SUPABASE_KEY}"
    }
  }
}

Возможности: операции с базой данных, аутентификация, управление хранилищем.

Playwright (Автоматизация браузера)

Автоматизация браузерных операций и создание снимков страниц:

{
  "playwright": {
    "command": "npx",
    "args": ["-y", "@anthropic-ai/mcp-server-playwright"]
  }
}

Возможности: скриншоты страниц, заполнение форм, навигация, клики по элементам.

Tavily (Веб-поиск)

Предоставление Claude возможности поиска в интернете в реальном времени:

{
  "tavily": {
    "command": "npx",
    "args": ["-y", "tavily-mcp-server"],
    "env": {
      "TAVILY_API_KEY": "${TAVILY_API_KEY}"
    }
  }
}

Возможности: веб-поиск, извлечение содержимого страниц, исследования.

Docker

Управление контейнерами:

{
  "docker": {
    "command": "npx",
    "args": ["-y", "@docker/mcp-server"]
  }
}

Возможности: управление контейнерами, образами, сетями.

Типы серверов

stdio (Локальный процесс)

Наиболее распространённый тип, запускается как локальный дочерний процесс:

{
  "my-server": {
    "command": "node",
    "args": ["./server.js"],
    "env": {
      "API_KEY": "${API_KEY}"
    }
  }
}

Особенности:

  • Работает локально, данные не покидают машину

  • Claude Code управляет жизненным циклом процесса

  • Подходит для файловой системы, локальных баз данных и т. п.

SSE (Server-Sent Events)

Подключение к удалённым MCP-серверам:

{
  "remote-server": {
    "type": "sse",
    "url": "https://mcp.example.com/sse"
  }
}

Особенности:

  • Подходит для облачных сервисов

  • Поддержка OAuth-аутентификации

  • Не требует локальной установки

HTTP

REST API-подход:

{
  "api-server": {
    "type": "http",
    "url": "https://api.example.com/mcp",
    "headers": {
      "Authorization": "Bearer ${API_TOKEN}"
    }
  }
}

Переменные окружения

Конфигурация MCP поддерживает подстановку переменных окружения:

{
  "my-server": {
    "command": "node",
    "args": ["${CLAUDE_PLUGIN_ROOT}/server.js"],
    "env": {
      "DATABASE_URL": "${DATABASE_URL}",
      "API_KEY": "${API_KEY}",
      "DEFAULT_NAMESPACE": "${K8S_NAMESPACE:-default}"
    }
  }
}

Синтаксис:

  • ${VAR} — подстановка значения переменной окружения

  • ${VAR:-default} — если переменная не задана, используется значение по умолчанию

Практические примеры

Пример 1: Помощник для работы с базой данных

{
  "postgres": {
    "command": "npx",
    "args": ["-y", "mcp-server-postgres"],
    "env": {
      "DATABASE_URL": "postgresql://user:pass@localhost/mydb"
    }
  }
}

Использование:

> Посчитай общую сумму заказов за последние 7 дней
> Найди топ-10 пользователей по количеству покупок

Пример 2: Администрирование Kubernetes

{
  "kubernetes": {
    "command": "node",
    "args": ["./k8s-mcp-server.js"],
    "env": {
      "KUBECONFIG": "${KUBECONFIG}",
      "K8S_NAMESPACE": "${K8S_NAMESPACE:-default}"
    }
  }
}

Использование:

> Покажи статус всех подов
> Перезапусти деплоймент api-server
> Покажи последние логи ошибок

Пример 3: Конфигурация нескольких серверов

{
  "filesystem": {
    "command": "npx",
    "args": ["-y", "@modelcontextprotocol/server-filesystem", "./src"]
  },
  "database": {
    "command": "npx",
    "args": ["-y", "mcp-server-sqlite", "./data.db"]
  },
  "github": {
    "command": "npx",
    "args": ["-y", "@modelcontextprotocol/server-github"],
    "env": {
      "GITHUB_TOKEN": "${GITHUB_TOKEN}"
    }
  }
}

Устранение неполадок

Сервер не запускается

  1. Проверьте, что команда правильно установлена: bash npx -y @modelcontextprotocol/server-filesystem --help

  2. Проверьте, что переменные окружения заданы: bash echo $GITHUB_TOKEN

  3. Просмотрите логи Claude Code для получения информации об ошибке

Инструменты недоступны

  1. Используйте /mcp для проверки статуса сервера

  2. Убедитесь в корректности формата конфигурационного файла (синтаксис JSON)

  3. Перезапустите Claude Code для перезагрузки конфигурации

Проблемы с правами доступа

  • Убедитесь, что есть права на чтение/запись по указанным путям

  • Проверьте корректность строки подключения к базе данных

  • Убедитесь, что API-токен действителен и имеет достаточные права

Рекомендации по безопасности

  1. Принцип минимальных привилегий: предоставляйте только необходимые права доступа

  2. Защита конфиденциальной информации: храните токены и пароли в переменных окружения

  3. Ограничение доступа к путям: сервер файловой системы должен открывать только необходимые директории

  4. Регулярная ротация ключей: периодически обновляйте API-токены

Следующие шаги

🚀
Начните с QCode — ИИ-ассистент для программистов
Официальный ретранслятор Claude Code, быстро и надёжно
Посмотреть тарифы → Создать аккаунт