MCP сервер: что это простыми словами и как подключить его к Claude

MCP сервер — программа, через которую Claude получает доступ к внешним системам: GitHub, Notion, базе данных, папкам на диске или любому API. Сервер говорит на открытом протоколе Model Context Protocol (MCP) и сообщает Claude, какие действия у него есть. Claude вызывает эти действия сам, когда они нужны для задачи.
MCP сервер простыми словами
В обычном чате модель видит только твоё сообщение и прикреплённые файлы. Заглянуть в твой Notion, посмотреть issue на GitHub или сделать SQL-запрос к рабочей базе она не может. MCP сервер даёт ей такой доступ. Он запускается рядом с Claude, объявляет список своих инструментов («создать issue», «найти страницу», «выполнить запрос») и выполняет их, когда Claude просит.
В Claude Code картина другая: там уже есть встроенные инструменты для чтения файлов, команд терминала и загрузки веб-страниц. Поэтому в Claude Code MCP сервер нужен для того, до чего терминал не дотянется или что требует входа в аккаунт: Notion, Sentry, облачная база, корпоративный трекер задач.
В документации протокола MCP сравнивают с портом USB-C для ИИ-приложений. Раньше под каждую пару «модель + сервис» писали свою обвязку. Теперь сервер пишут один раз по общей спецификации, и его может подключить любое приложение с поддержкой MCP, если оно умеет нужный транспорт (о транспортах ниже).
Протокол открытый. Anthropic представила его 25 ноября 2024 года и сразу выложила спецификацию и SDK в открытый доступ. Так что MCP не привязан к Claude: сервер или клиент может написать кто угодно.
Из чего состоит MCP: host, client, server
В MCP три участника. Host — приложение, в котором ты работаешь: Claude Code или Claude Desktop. Client живёт внутри host и держит соединение с одним сервером. Server отдаёт возможности.
Возможности бывают трёх видов:
- Tools — функции, которые модель вызывает: операции с файлами, запросы к API, запросы к базе. Это самый частый случай.
- Resources — данные для контекста: содержимое файлов, записи из базы, ответы API.
- Prompts — готовые шаблоны запросов, которые сервер предлагает пользователю. В Claude Code они появляются как команды через
/.
Транспортов в спецификации два. Stdio: host запускает сервер как процесс на твоём компьютере и общается с ним через стандартный ввод-вывод. Streamable HTTP: сервер работает удалённо, клиент ходит к нему по HTTP, авторизация через токены или OAuth. Старый транспорт SSE в Claude Code помечен как устаревший, для удалённых серверов бери HTTP.
Чем MCP сервер отличается от скилла и плагина
Путают постоянно, поэтому коротко.
- MCP сервер даёт Claude доступ к данным и действиям во внешней системе, куда без него не попасть: твой Notion, корпоративный трекер задач, облачная база.
- Скилл даёт Claude знание: файл
SKILL.mdс инструкциями, чек-листом или процедурой. Claude подгружает его, когда задача подходит, или ты вызываешь его командой/имя-скилла. Доступа к новым системам скилл сам по себе не открывает. Подробно про скиллы я писал в статье что такое Claude Skills. - Плагин собирает всё вместе: в одной папке могут лежать скиллы, агенты, хуки и MCP серверы, и Claude Code ставит её целиком.
На практике они работают в паре: MCP сервер достаёт задачи из трекера, а скилл объясняет Claude, как по твоим правилам их разбирать.
Как подключить MCP сервер к Claude Code
Если Claude Code у тебя ещё не стоит, начни с гайда по Claude Code. Дальше всё делается командой claude mcp add из терминала.
Удалённый сервер по HTTP. Нужны имя и адрес. Пример из документации Claude Code, сервер Notion:
claude mcp add --transport http notion https://mcp.notion.com/mcp
Если сервер требует входа, открой в Claude Code панель /mcp и пройди авторизацию там.
Локальный сервер (stdio). Команду запуска пишешь после двойного дефиса --. Всё, что после него, уходит серверу без изменений, а опции самого Claude Code (--transport, --env, --scope) пишутся до него. Пример из документации, сервер Airtable. Ключ API я подставляю из переменной окружения, а не вписываю в команду. Команда для macOS и Linux:
claude mcp add --env AIRTABLE_API_KEY="$AIRTABLE_API_KEY" --transport stdio airtable -- npx -y airtable-mcp-server
В PowerShell переменная окружения пишется иначе: --env AIRTABLE_API_KEY=$env:AIRTABLE_API_KEY. Запись "$AIRTABLE_API_KEY" там передаст пустой ключ.
Обрати внимание на порядок: между --env и именем сервера стоит --transport stdio. Если написать имя сразу после --env, CLI примет его за ещё одну пару KEY=value и откажет. Поставь между ними ещё одну опцию, и команда пройдёт.
Где хранится настройка. По умолчанию сервер добавляется в локальную область: только для текущего проекта и только для тебя, запись лежит в ~/.claude.json. С флагом --scope user сервер будет доступен во всех твоих проектах (тот же ~/.claude.json). С --scope project конфиг попадёт в файл .mcp.json в корне проекта, его можно закоммитить, и серверы получит вся команда. Каждый такой сервер Claude Code попросит одобрить при первом запуске в проекте.
Проверка и управление:
claude mcp list— список серверов со статусом:✔ Connected,! Needs authenticationили✘ Failed to connect;claude mcp get notion— подробности по одному серверу, включая текст ошибки;claude mcp remove notion— удалить сервер;/mcpвнутри сессии — статус, авторизация, отключение сервера без удаления.
Если инструкция к серверу написана для Claude Desktop и там только JSON-блок, его можно добавить через claude mcp add-json, передав объект из-под mcpServers.
Как подключить MCP сервер к Claude Desktop
В Claude Desktop три пути. Начни с первого: он самый простой.
Расширение из каталога. Settings → Extensions, кнопка Browse extensions. Там каталог расширений, проверенных Anthropic: выбираешь нужное, жмёшь Install, ключи API вводишь в форме, без правки файлов. Расширение — это локальный MCP сервер в готовой упаковке. Если тебе прислали файл .mcpb, его ставят там же: Advanced settings → Install Extension…
Удалённый сервер (коннектор). На личных тарифах Pro и Max: Customize → Connectors, кнопка «+», затем Add custom connector, вставляешь URL сервера и жмёшь Add. Кастомные коннекторы есть и на бесплатном тарифе, но там разрешён только один. Учти: к такому серверу Claude подключается из облака Anthropic, а не с твоего компьютера. Сервер во внутренней сети, за VPN или файрволом так не подключится, даже если с твоего компьютера он открывается: ему нужен доступ из интернета.
Локальный сервер через конфиг. Если сервера нет в каталоге расширений, его прописывают вручную. Открой меню Claude в строке меню приложения (на macOS она вверху экрана) и выбери Settings → Developer → Edit Config. Нужны именно эти настройки, а не настройки внутри окна чата. Откроется файл:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Добавь секцию mcpServers. Пример из официального руководства MCP, файловый сервер с доступом к двум папкам на Mac:
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/Users/username/Desktop",
"/Users/username/Downloads"
]
}
}
}
На Windows структура та же, меняются только пути, и обратную косую черту в JSON нужно удваивать: "C:\\Users\\username\\Desktop". Пути пиши абсолютные. Для npx на компьютере должен стоять Node.js. После сохранения полностью закрой Claude Desktop и запусти снова: конфиг читается только при старте. Проверить подключение можно через кнопку «+» внизу поля ввода → Connectors → Manage connectors: там появится filesystem со списком инструментов.
Если сервер не появился, смотри логи. На macOS они лежат в ~/Library/Logs/Claude, на Windows в %APPDATA%\Claude\logs. Общий лог подключений называется mcp.log, а вывод конкретного сервера пишется в mcp-server-ИМЯ.log. Ещё один частый источник проблем: пути в конфиге относительные или с опечаткой.
Какие MCP серверы поставить первыми
Каталог опубликованных серверов теперь живёт в MCP Registry (opens in new tab). Реестр пока в статусе preview и проверяет только, что автор владеет своим пространством имён (аккаунтом GitHub или доменом). Код серверов он не проверяет, проверку безопасности оставляет npm, PyPI и другим площадкам. В репозитории modelcontextprotocol/servers (opens in new tab) остались только эталонные серверы, которые поддерживает руководящая группа протокола. Старые серверы оттуда для GitHub, PostgreSQL, Slack и Puppeteer переехали в архив, поэтому инструкции с этими пакетами из статей прошлого года уже неактуальны.
С чего я бы начал:
- Filesystem (эталонный) — чтение и запись файлов в папках, которые ты явно перечислил. Его разбирает официальное руководство для Claude Desktop.
- Fetch (эталонный) — загружает веб-страницы и превращает их в текст, удобный модели.
- Git (эталонный) — чтение истории, поиск и операции с локальными git-репозиториями.
- GitHub — официальный сервер от самого GitHub, команды подключения для Claude Code ниже.
- Notion — удалённый сервер
https://mcp.notion.com/mcp, пример прямо из документации Claude Code.
Первые три особенно полезны в Claude Desktop. В Claude Code они обычно лишние: файлы, git-команды и загрузку страниц Claude там делает встроенными инструментами.
Как подключить GitHub в Claude Code. Токен (personal access token GitHub) держи в переменной окружения GITHUB_PAT: вписанный прямо в команду, он останется в истории терминала. Команда export GITHUB_PAT=токен тоже попадёт в историю, поэтому в инструкции GitHub переменную заполняют из файла .env. Для Claude Code 2.1.1 и новее GitHub советует такие команды.
macOS и Linux:
export GITHUB_PAT="$(grep '^GITHUB_PAT=' .env | cut -d '=' -f2-)"
claude mcp add-json github '{"type":"http","url":"https://api.githubcopilot.com/mcp","headers":{"Authorization":"Bearer '"$GITHUB_PAT"'"}}'
На Windows add-json может ответить Invalid input, и тогда GitHub советует старую форму, где имя сервера стоит сразу после add. В PowerShell переменная окружения пишется как $env:GITHUB_PAT.
Windows, PowerShell:
claude mcp add github --transport http https://api.githubcopilot.com/mcp/ -H "Authorization: Bearer $env:GITHUB_PAT"
После добавления проверь сервер командой claude mcp get github: если переменная была пустой, в заголовок уйдёт Bearer без токена, и сервер не подключится. Для Claude Desktop GitHub советует локальный запуск через Docker, потому что удалённый вариант там пока не поддерживается.
Готовые коннекторы, которые проверила Anthropic, собраны в Anthropic Directory (opens in new tab). В отличие от MCP Registry, туда попадают только прошедшие проверку. Любой удалённый сервер оттуда добавляется в Claude Code той же командой claude mcp add.
Больше серверов не значит лучше. Каждый сервер — ещё один процесс или подключение и ещё одна точка доступа к твоим данным. Держи включёнными те, что нужны в текущем проекте, остальные выключай в /mcp: настройка сохраняется.
Безопасность: что может MCP сервер
MCP сервер работает с твоими правами. Руководство MCP прямо предупреждает про файловый сервер: он может делать с файлами всё, что можешь ты сам. Сервер GitHub действует от имени владельца токена. Отсюда несколько правил, которых я держусь:
- Ставлю серверы только из понятных источников: официальный репозиторий сервиса, каталог расширений Claude Desktop, Anthropic Directory. Наличие сервера в MCP Registry говорит только о том, кто его опубликовал, а не о том, что код безопасен. Незнакомый пакет сначала читаю.
- Даю минимум доступа: файловому серверу только нужную папку, а не весь домашний каталог; токену только нужные права.
- Помню про prompt injection. Сервер, который тянет внешний контент (веб-страницы, письма, тикеты), может принести в контекст чужие инструкции. Документация Claude Code отдельно предупреждает об этом риске.
- Не коммичу токены и не вписываю их в команды. В
.mcp.jsonдля команды ключи лучше подставлять через переменные окружения вида${API_KEY}, а не писать открытым текстом. - Читаю, что Claude собирается сделать. Claude Code и Claude Desktop спрашивают разрешение перед вызовом инструмента, и отказать можно в любой момент.
Как написать свой MCP сервер
Если нужного сервера нет, его можно написать. Официальные SDK есть для TypeScript, Python и других языков, а пошаговое руководство лежит на modelcontextprotocol.io (opens in new tab). Для отладки есть MCP Inspector.
Быстрее всего стартовать со скиллом MCP Builder: он задаёт Claude структуру сервера и напоминает про валидацию входных данных. Готовый код стоит прогнать через Code Reviewer, особенно если сервер пишет на диск или ходит в API с твоим токеном. Если сервер падает при старте, Debugging Wizard поможет разобрать лог.
Частые вопросы
MCP сервер работает без интернета? Зависит от сервера. Локальный stdio-сервер вроде Filesystem общается с Claude прямо на компьютере. Но сам Claude всё равно облачный, а серверы вроде GitHub или Notion ходят в свои API по сети.
Работает ли MCP сервер из Claude в других программах? Да, если программа поддерживает MCP и нужный транспорт. Локальный stdio-сервер запускает только приложение на твоём компьютере: Claude Code, Claude Desktop или другой клиент с поддержкой stdio. Удалённый HTTP-сервер подключается и к облачным клиентам, если он доступен из интернета. Меняется и способ настройки в каждом приложении.
Чем MCP отличается от function calling? Function calling — способ, которым модель вызывает функцию внутри одного приложения. MCP стандартизирует, как сервер описывает свои инструменты и как клиент с ним общается, поэтому один сервер подходит многим приложениям без переделки.
Итого
MCP сервер даёт Claude доступ к внешним данным и действиям, скилл даёт инструкции, плагин упаковывает и то и другое. В Claude Code сервер подключается командой claude mcp add. В Claude Desktop проще всего поставить расширение из каталога в Settings → Extensions. Удалённый сервер добавляется как коннектор, а локальный, которого нет в каталоге, прописывается в claude_desktop_config.json с перезапуском приложения. Начни с одного сервера под реальную задачу, дай ему минимум прав и посмотри, как Claude им пользуется. Инструкции под свои задачи ищи в каталоге скиллов.
Связанные скиллы
Разработчик MCP-серверов
БесплатноДля разработчиков: создание MCP-серверов для интеграции LLM с API и внешними сервисами
РазработкаРевьюер кода
БесплатноДля проверки кода, аудита безопасности и ревью PR. Используйте при работе с pull requests.
РазработкаМастер отладки
БесплатноДля анализа ошибок, трассировки стека и поиска причин сбоев. Используйте при исследовании ошибок.
Разработка

