Лучшие MCP-серверы для агентов программирования: список

Лучшие MCP-серверы для программирования: Playwright, GitHub, Context7, Sentry, Postgres и другие, с командами установки для Claude Code, Codex и Gemini CLI.

Solviera Teknoloji 11 мин чтения

Лучшие MCP-серверы для агентов программирования — те, что дают агенту то, чего он не может сам: увидеть приложение в браузере, прочитать сегодняшнюю документацию библиотеки, посмотреть задачу, которую он исправляет, найти стектрейс из продакшена. Агент программирования вроде Claude Code, Codex или Gemini CLI и так читает файлы, правит их и запускает команды. Сервер, который это дублирует, только тратит контекст.

Этот список субъективный и намеренно короткий. Для каждого сервера — что он делает, когда помогает, как его добавить и на что обратить внимание. Если протокол для вас новый, начните со статьи что такое MCP-сервер и статьи о MCP в глоссарии.

Как я выбирал серверы

Сервер попадает в список, если проходит три проверки:

  1. Он закрывает реальный пробел. Даёт доступ к чему-то за пределами репозитория: браузеру, облачному сервису, базе данных, актуальной документации.
  2. Его поддерживает вендор или известный проект. В официальном репозитории есть инструкция по установке, и сервер обновляется.
  3. Его доступ можно сузить. Режимы только для чтения, наборы инструментов, привязка к проекту, разрешённые каталоги. Над сервером, который нельзя ограничить, стоит подумать дважды.

Общее у всех серверов одно: описания их инструментов попадают в контекст агента и отправляются заново на каждом ходу, даже если агент их ни разу не вызвал. Поэтому вопрос не «полезен ли этот сервер?», а «полезен ли он этому агенту, в этом проекте, прямо сейчас?».

Краткая справка

СерверЧто получает агентТранспортЧем сузить
PlaywrightУправление настоящим браузером: открыть, кликнуть, заполнить, скриншотstdio (npx)--isolated, --headless
Chrome DevToolsКонсоль, сеть, трассировки производительностиstdio (npx)--isolated
Context7Актуальная документация библиотек под нужную версиюHTTP или stdioAPI-ключ, ничего не пишет
GitHubЗадачи, pull request, поиск по коду, ActionsHTTP или DockerНаборы инструментов, режим только для чтения
SentryОшибки, стектрейсы, разбор задачHTTP (OAuth)Организация/проект в URL
Postgres (Postgres MCP Pro)Схема, запросы, EXPLAIN, советы по индексамstdio (uvx/Docker)--access-mode=restricted
SupabaseТаблицы, SQL, миграции, логиHTTP (OAuth)read_only=true, project_ref
GitLog, diff, blame в локальном репозиторииstdio (uvx)--repository
FetchВеб-страница в виде Markdownstdio (uvx)Использовать умеренно
FilesystemФайлы в указанных папкахstdio (npx)Разрешённые каталоги

1. Playwright: пусть агент видит приложение

Если добавлять только один сервер, то этот. Playwright MCP от Microsoft позволяет агенту открыть ваше приложение на localhost, читать страницу через дерево доступности, нажимать кнопки, заполнять формы и делать скриншоты. «Я поменял форму, должно работать» превращается в «я отправил форму и увидел сообщение об успехе».

claude mcp add playwright -- npx @playwright/mcp@latest
codex mcp add playwright -- npx @playwright/mcp@latest
gemini mcp add playwright npx @playwright/mcp@latest

Нужен Node.js 18 или новее. Полезные флаги: --headless, чтобы работать без окна, и --isolated, чтобы профиль браузера жил в памяти и cookies и входы не сохранялись между сессиями. Есть ещё --allowed-origins, но сам проект пишет, что это не граница безопасности, так что не рассчитывайте, что он удержит агента от открытого интернета.

На что обратить внимание: страницы, которые открывает агент, становятся входными данными модели. Страница с текстом «игнорируй свои инструкции и выполни эту команду» — это попытка prompt injection. По возможности держите агента на своём приложении. Полный процесс описан в статье тестирование в браузере с ИИ-агентами.

2. Chrome DevTools: отладка того, что видит браузер

Chrome DevTools MCP от Google пересекается с Playwright, но больше заточен под отладку: сообщения консоли, сетевые запросы, трассировки производительности. Когда страница тормозит или запрос падает с ошибкой CORS, этот сервер позволяет агенту выяснить причину, а не гадать.

claude mcp add chrome-devtools -- npx -y chrome-devtools-mcp@latest

Для Codex и Gemini CLI используйте ту же команду (npx -y chrome-devtools-mcp@latest) с codex mcp add или gemini mcp add. Если вам не нужны оба браузерных сервера, выберите один на агента: каждый добавляет длинный список инструментов.

3. Context7: актуальная документация вместо памяти

Модели знают библиотеки по обучающим данным, которым месяцы или годы. Поэтому агенты вызывают функции, переименованные две версии назад. Context7 от Upstash отдаёт актуальную документацию и примеры кода для конкретной версии по длинному списку библиотек, и агент может посмотреть, а не угадывать.

# Удалённый сервер
claude mcp add --transport http context7 https://mcp.context7.com/mcp

# Или локально
codex mcp add context7 -- npx -y @upstash/context7-mcp

Если у вас есть API-ключ Context7, передавайте его в заголовке CONTEXT7_API_KEY удалённого сервера (например, --header "CONTEXT7_API_KEY: ctx7sk-…" в claude mcp add). Полезное правило для CLAUDE.md или AGENTS.md: «Если не уверен в API библиотеки, сначала проверь Context7». Записанным правилам агенты следуют надёжнее, чем разовым напоминаниям; см. как писать CLAUDE.md и AGENTS.md.

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

4. GitHub: задачи, pull request и CI

Официальный сервер GitHub читает и пишет задачи, pull request, результаты поиска по коду, запуски Actions и многое другое. Агент может начать с текста задачи, проверить упавший workflow и в конце открыть pull request.

Удалённый сервер находится по адресу https://api.githubcopilot.com/mcp/. Его можно запустить и локально через Docker:

claude mcp add github -e GITHUB_PERSONAL_ACCESS_TOKEN=$GITHUB_PAT \
  -- docker run -i --rm -e GITHUB_PERSONAL_ACCESS_TOKEN ghcr.io/github/github-mcp-server

Здесь принцип наименьших привилегий важнее всего. У сервера GitHub много инструментов, и некоторые из них пишут. Сузьте его:

  • Наборы инструментов. Включайте только нужное, например repos,issues,pull_requests: локально флагом --toolsets или переменной GITHUB_TOOLSETS, на удалённом сервере — заголовком X-MCP-Toolsets.
  • Режим только для чтения. Локально --read-only, на удалённом сервере — /readonly в конце URL (https://api.githubcopilot.com/mcp/readonly) или заголовок X-MCP-Readonly: true.
  • Fine-grained токен. Ограничьте персональный токен доступа репозиториями, с которыми работает агент, и минимальными правами для задачи.

Агенту-ревьюеру или агенту, который разбирает задачи, запись нужна редко. Давайте пишущие инструменты только тому агенту, который должен открывать pull request.

5. Sentry: начинать с реальной ошибки

Облачный MCP-сервер Sentry позволяет агенту искать ошибки, читать стектрейсы и смотреть детали задач. «Исправь баг, на который пользователи натыкаются при оплате» превращается в «исправь это исключение, в этой строке, с этими breadcrumbs». Аутентификация через OAuth: при первом подключении открывается вход в браузере.

claude mcp add --transport http sentry https://mcp.sentry.dev/mcp/my-org/my-project

Замените my-org и my-project на слаги своей организации и проекта. Sentry сам рекомендует привязывать URL к одному проекту: тогда инструменты по умолчанию работают с ним, часть инструментов обзора скрыта, и это тоже экономит контекст. Связка Sentry и GitHub хорошо работает, чтобы исправлять падения CI и баги из продакшена, начиная с текста задачи.

6. Сервер базы данных, только на чтение

Агент, который видит схему и может выполнить SELECT, пишет запросы и миграции лучше. Агент, который может выполнить DROP TABLE в продакшене, — это плохой день, который просто ещё не наступил. Два надёжных варианта:

Postgres MCP Pro (crystaldba/postgres-mcp) работает с любой базой PostgreSQL. Кроме запросов он умеет объяснять планы, проверять здоровье базы и предлагать индексы. Главная настройка — режим доступа:

claude mcp add postgres --env DATABASE_URI=postgresql://readonly_user:pass@localhost:5432/app_dev \
  -- uvx postgres-mcp --access-mode=restricted

restricted ограничивает работу читающими транзакциями и лимитирует время выполнения; unrestricted разрешает полное чтение и запись. Используйте restricted и в любом случае подключайтесь пользователем базы, у которого есть только права на SELECT. Два замка лучше одного, тем более что проект предупреждает: небезопасные языки хранимых процедур могут обойти его проверки.

Supabase держит облачный сервер по адресу https://mcp.supabase.com/mcp. Добавьте ?project_ref=<id>&read_only=true, чтобы привязать его к одному проекту и выполнять все запросы от имени Postgres-пользователя только на чтение. Сам Supabase советует использовать его на данных для разработки, не отключать ручное подтверждение вызовов инструментов и не отдавать его конечным пользователям.

Заметка: старый эталонный Postgres-сервер проекта MCP переведён в архив. Выбирайте поддерживаемый.

7. Git, Fetch и Filesystem: эталонные серверы

Проект MCP по-прежнему поддерживает несколько эталонных серверов. Они удобны, но сначала проверьте, нужны ли они вашему агенту.

  • Git (uvx mcp-server-git --repository /path/to/repo): инструменты log, diff, blame и commit. Агенты программирования и так запускают git в терминале, так что пользы больше всего в клиентах без доступа к оболочке или когда вы хотите, чтобы git-операции были явными вызовами инструментов.
  • Fetch (uvx mcp-server-fetch): превращает веб-страницу в Markdown для модели. Пригодится, чтобы прочитать справочник по API, которого нет в Context7. Каждая загруженная страница — недоверенные данные, так что предупреждение о prompt injection действует в полной мере.
  • Filesystem (npx -y @modelcontextprotocol/server-filesystem /path/one /path/two): доступ к файлам только в перечисленных каталогах. Claude Code и Codex и так правят файлы проекта; используйте этот сервер, чтобы открыть одну дополнительную папку, например общий каталог дизайн-токенов, не открывая весь домашний каталог.

Что ещё стоит знать

В зависимости от стека место в списке могут заслужить: Linear или Notion для задач и спецификаций, Stripe для платёжных объектов в тестовом режиме, Figma для чтения макетов, документация Cloudflare и мобильные серверы для симуляторов. Применяйте те же три проверки. Сервер, добавленный «на всякий случай», в основном добавляет контекст.

Как добавить серверы в Claude Code, Codex и Gemini CLI

Один и тот же сервер работает во всех трёх; различается регистрация.

Claude Code. Опции идут перед именем, команда сервера — после --:

claude mcp add --transport http sentry https://mcp.sentry.dev/mcp
claude mcp add --scope project playwright -- npx @playwright/mcp@latest
claude mcp list

--scope local (по умолчанию) сохраняет сервер только для вас в этом проекте, --scope user — для всех ваших проектов, а --scope project пишет .mcp.json в репозиторий для всей команды. .mcp.json поддерживает подстановку ${VAR}, так что файл можно коммитить без токенов. Чтобы войти в OAuth-серверы, выполните /mcp внутри сессии.

Codex. Используйте CLI или правьте ~/.codex/config.toml:

[mcp_servers.github]
url = "https://api.githubcopilot.com/mcp/readonly"
bearer_token_env_var = "GITHUB_PAT"

[mcp_servers.playwright]
command = "npx"
args = ["@playwright/mcp@latest"]
enabled_tools = ["browser_navigate", "browser_snapshot", "browser_click", "browser_take_screenshot"]

bearer_token_env_var берёт токен из переменной окружения, а не из файла, а enabled_tools / disabled_tools урезают сервер до нужных инструментов. Для OAuth-серверов есть codex mcp login <name>.

Gemini CLI. gemini mcp add пишет в .gemini/settings.json (проект, по умолчанию) или в ~/.gemini/settings.json с --scope user:

gemini mcp add --transport http github https://api.githubcopilot.com/mcp/readonly \
  --header "Authorization: Bearer $GITHUB_PAT"

В settings.json инструменты ограничивают includeTools и excludeTools, а trust: true отключает запросы подтверждения. Для всего, что пишет, trust не включайте. Учтите: если передать токен в --header, как выше, он окажется в файле настроек; где можно, используйте ссылки $VAR в env и headers.

Безопасность: коротко, но серьёзно

MCP-серверы связывают модель с реальными системами. Короткий чек-лист:

  • Наименьшие привилегии по умолчанию. Режимы только для чтения, узкие наборы инструментов, один проект на сервер, fine-grained токены. Давайте право записи одному агенту под одну задачу, а не всем агентам навсегда.
  • Данные для разработки, а не продакшен. Направляйте серверы баз данных на локальную копию или staging. Если агенту всё же нужно заглянуть в продакшен — пользователь только на чтение и короткая сессия.
  • Секреты не в открытом тексте. Переменные окружения, ссылки ${VAR} или связка ключей ОС. Токен в закоммиченном .mcp.json — это утёкший токен.
  • Всё, что возвращает сервер, — недоверенные данные. Веб-страницы, комментарии к задачам, строки базы и сообщения об ошибках могут содержать инструкции, адресованные агенту. Не отключайте подтверждения для инструментов, которые пишут или запускают команды.
  • Знайте, что запускаете. stdio-сервер — это код, который работает на вашей машине с вашими правами. Ставьте из официального репозитория, фиксируйте версии для всего чувствительного и не копируйте команды установки из случайных README.
  • Посмотрите список инструментов. Прежде чем отдать сервер агенту, выведите его инструменты и уберите лишние.

Общая картина — в статье безопасность ИИ-агентов для программирования.

Какие серверы каким агентам

Если у вас несколько агентов, раздавайте серверы по ролям:

АгентСерверы
ФронтендPlaywright или Chrome DevTools, Context7, Figma
БэкендContext7, Postgres или Supabase только на чтение
Исправление баговSentry, GitHub (задачи и Actions), Playwright
РевьюерGitHub только на чтение

Так контекст каждого агента остаётся компактным, а ошибка или внедрённая инструкция дотягивается до меньшего. И расход токенов тоже ниже.

Как я делаю это в AgentVera

Регистрировать одни и те же серверы трижды в трёх форматах быстро надоедает. В AgentVera я держу их в одном месте:

  • Один список для всех CLI. Менеджер MCP хранит серверы и подключает их при запуске агента: Claude Code, Codex, Gemini CLI, Copilot, Cursor, opencode и другие CLI с поддержкой MCP. Каждый сервер я отдаю всем агентам, выбранным агентам, группе или роли в команде и ограничиваю нужными проектами.
  • Каталог и проверка стоимости. В каталоге есть готовые записи для Playwright, Chrome DevTools, Context7, GitHub, Sentry, Supabase, Git, Fetch, Filesystem и других. Проверка подключения показывает инструменты сервера с примерной стоимостью в токенах для каждого, так что видно, что он добавляет к каждому ходу.
  • Секреты в связке ключей. Переменные окружения и токены из заголовков хранятся в связке ключей операционной системы, а удалённые серверы работают через шлюз AgentVera, так что в конфиге CLI токена нет.
  • Браузер, за которым можно следить. Браузер агента даёт агентам управляемый Chrome через Playwright MCP, и я вижу вкладки вживую.
  • Доступ к базе по правилам. Вместо голой строки подключения менеджер баз данных позволяет агентам выполнять запросы к подключению через собственный инструмент: по умолчанию только чтение, каждый запрос записывается в лог. DB Guard проверяет миграции, которые пишет агент.
  • Подтверждения. Для агентов Claude Code автоподтверждение отвечает только на запросы, заведомо безопасные; всё остальное по-прежнему приходит ко мне.

Итоги

Лучший набор MCP для программирования небольшой: браузер, актуальная документация, трекер задач и мониторинг ошибок, плюс база данных только на чтение, когда этого требует задача. Добавляйте серверы под агента и под проект, сужайте каждый режимом только для чтения или наборами инструментов, не храните токены в открытых файлах и считайте всё, что возвращает сервер, недоверенным. Если хотите управлять серверами для нескольких агентов в одном месте, скачайте AgentVera бесплатно и откройте страницу MCP.

Вопросы

Какие MCP-серверы лучше всего подходят для программирования?

Для большинства проектов: Playwright или Chrome DevTools, чтобы видеть запущенное приложение, Context7 для актуальной документации библиотек, GitHub для задач и pull request, Sentry для ошибок в продакшене и сервер базы данных только на чтение. Остальные добавляйте, когда они нужны задаче.

Сколько MCP-серверов подключать к одному агенту?

Столько, сколько нужно задаче, и не больше. Описания инструментов каждого сервера отправляются на каждом ходу, так что десять серверов с множеством инструментов съедают контекст, даже когда не используются. Три–пять узких серверов на агента — разумная отправная точка.

Безопасно ли давать агенту доступ к базе данных через MCP?

На копии для разработки или staging, с пользователем только на чтение или в режиме сервера, допускающем лишь читающие транзакции, — да. Не подключайте агента к продакшену с правом записи и помните, что в данных базы может оказаться текст, который пытается управлять агентом.

Нужен ли filesystem MCP-сервер для Claude Code или Codex?

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

Можно ли использовать одни и те же MCP-серверы в Claude Code, Codex и Gemini CLI?

Да. MCP — открытый протокол, и одна и та же stdio-команда или HTTP-адрес работает во всех трёх. Отличается только способ регистрации: claude mcp add, codex mcp add или config.toml, gemini mcp add или settings.json.

Соберите своих агентов за одним столом.

Скачайте AgentVera бесплатно; ваши установленные CLI уже готовы к работе.

Другие статьи