MCP-сервер — посредник между ИИ и внешним миром. Он переводит запросы модели на язык конкретного сервиса и возвращает результат в чат. Один раз написал — и можно подключать к Claude, Cursor, VS Code и другим клиентам.
Что такое MCP-сервер
Когда в поиске набираешь «mcp сервер что это», обычно хочешь понять, зачем ИИ-агентам понадобился ещё один протокол. Ответ простой: Model Context Protocol, или сокращённо MCP, — это открытый стандарт, который выпустила Anthropic в 2024 году. Он задаёт общий язык, на котором нейросети общаются с внешними программами, базами данных, файлами и API.
До MCP у каждого ИИ-приложения был свой способ вызвать внешний инструмент. Разработчикам приходилось писать отдельную интеграцию под Claude, отдельную под Cursor, отдельную под VS Code. MCP заменяет это на единый разъём: напиши сервер один раз, и любой MCP-клиент его поймёт.
Представьте USB-C. Он не диктует, как работает телефон или ноутбук, но стандартизирует способ подключения. Точно так же Model Context Protocol не меняет саму модель, но даёт всем агентам один протокол для работы с внешними системами. Сообщения передаются поверх JSON-RPC — структурированные запросы и ответы, в которых модель видит список доступных инструментов, их описания и схемы входных данных.
Если вы разработчик 1С и слышали, что ИИ умеет помогать с кодом, но не хотите писать интеграцию с нуля, вам нужен именно MCP-сервер. Существуют решения для репозиториев 1С:Enterprise Development Tools (EDT) и готовые серверы для вайб-кодинга в 1С. Они не требуют внедрения в платформу напрямую; достаточно развернуть сервер и дать к нему доступ из клиента. Подходит для тех задач, где нужно быстро получить подсказки по коду, а не глубокое согласование данных.
Зачем нужен MCP-сервер
MCP нужен там, где ИИ должен действовать не только в рамках своих обученных знаний, а работать с актуальными данными и реальными системами.
- Один сервер — много клиентов. MCP-сервер для Claude, Cursor или VS Code пишется один раз. Подключить его к другому клиенту — значит добавить ту же конфигурацию в другом редакторе.
- Агент получает контекст, а не голые инструкции. Вместо того чтобы копировать текст из десятка файлов в промпт, модель сама запрашивает нужные фрагменты через ресурсы сервера.
- Действия становятся проверяемыми. Каждый вызов инструмента — это явная операция с понятной схемой входных данных. Пользователь или код клиента решает, разрешать ли её выполнение.
- Экосистема растёт без централизации. Любой разработчик может опубликовать MCP-сервер для своего сервиса, а пользователи подключают его через конфигурацию, а не через специальную интеграцию.
Ключевое правило: MCP — это не ещё одна языковая модель и не замена API. Это протокол обмена контекстом между моделью и внешним миром.
Как устроен MCP-сервер
Архитектура MCP состоит из трёх ролей.
| Роль | Что делает | Примеры |
|---|---|---|
| Host | Приложение с нейросетью, с которым работает пользователь | Claude Desktop, Claude Code, Cursor, VS Code |
| Client | Компонент внутри host, который держит одно соединение с одним сервером | создаётся автоматически при подключении сервера |
| Server | Отдельная программа, которая предоставляет контекст и инструменты | доступ к файлам, базе данных, GitHub, Notion |
Host может держать сразу несколько клиентов. Например, Claude Desktop одновременно подключён к локальному файловому серверу, к серверу базы знаний Notion и к поисковому серверу Brave. Каждый из них — это отдельный MCP client, но для пользователя это выглядит как один интерфейс.
MCP-сервер предоставляет три типа возможностей.
| Возможность | Что это | Кто управляет | Пример |
|---|---|---|---|
| Tools | Функции, которые модель может вызвать для выполнения действий | модель решает, когда вызывать | поиск рейсов, отправка сообщения, запись события в календарь |
| Resources | Источники данных только для чтения, которые дают контекст | приложение определяет доступ | содержимое файлов, схема базы данных, документация API |
| Prompts | Готовые шаблоны запросов, которые помогают пользователю решить задачу | пользователь выбирает | спланировать поездку, подвести итоги встреч, написать письмо |
Важное различие: tools — это активные действия, resources — пассивный контекст, prompts — шаблоны для пользователя. Модель не может сама прочитать ресурс, если клиент не дал ей доступ, и не может выполнить инструмент без разрешения пользователя или host-приложения.
Когда использовать MCP
| Ситуация | Подходит MCP | Почему |
|---|---|---|
| Нужно подключить агента к внутренней базе знаний, CRM или таск-трекеру | да | один сервер закрывает доступ для любого MCP-клиента |
| Модель должна работать с локальными файлами и терминалом | да | локальный сервер через stdio даёт безопасный контролируемый доступ |
| Требуется единый интерфейс к нескольким облачным API | да | несколько удалённых серверов подключается к одному host |
| Задача решается простым промптом без внешних данных | нет | лишний слой усложняет архитектуру |
| Нужна жёсткая производительная оптимизация с миллисекундной задержкой | осторожно | накладные расходы протокола могут быть избыточны |
MCP — это уровень интеграции, а не уровень бизнес-логики. Если у вас нет внешних систем, к которым агенту нужно обращаться, протокол не нужен. Если такие системы есть — MCP позволяет не плодить собственные коннекторы под каждого клиента.
Как подключить MCP-сервер: пример для Claude Desktop
Самый быстрый способ понять, как подключить MCP-сервер, — запустить готовый файловый сервер от Anthropic. Он позволяет Claude читать и изменять файлы в заданной папке с явным подтверждением каждой операции. Это и есть локальный MCP-сервер: он запускается прямо на вашем компьютере и не отправляет данные в облако.
Для начала нужны две вещи: установленный Claude Desktop и Node.js. Проверьте версию Node.js в терминале:
node --version
Если команда возвращает номер версии, всё готово. Откройте настройки Claude Desktop, перейдите в раздел разработчика и добавьте новый MCP-сервер. Для файлового сервера конфигурация выглядит так:
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/Users/username/Documents"
]
}
}
}
После сохранения Claude Desktop автоматически запустит сервер при старте. В чате появится доступ к инструментам файловой системы: чтение директорий, поиск, создание и переименование файлов. Каждое изменение требует вашего подтверждения.
Аналогичная конфигурация подходит и для других клиентов. В Cursor MCP-серверы добавляются в настройки редактора через тот же JSON-блок в разделе MCP. В VS Code плагин GitHub Copilot и ряд других расширений читают ту же структуру mcpServers. Суть не меняется: команда запуска, аргументы и переменные окружения. Если вы уже пробовали подключить MCP-сервер для Claude Code, здесь ничего нового нет, только другой host.
Совет: указывайте в
argsименно ту папку, с которой разрешено работать. Не давайте серверу доступ ко всей файловой системе без необходимости: MCP — это мощный мост, но мост должен вести только туда, куда вы хотите.
Ограничения
Ограничения
Что учитывать
MCP не управляет самой моделью.
Протокол передаёт контекст и инструменты, но не решает, как модель их использует. Всё равно нужен хороший промпт и проверка результатов.
Безопасность лежит на стороне сервера и клиента.
MCP описывает формат сообщений, но не защищает от плохо написанного сервера. Если сервер даёт доступ к лишнему, модель может вызвать лишнее при недостаточном контроле.
Не все клиенты поддерживают все возможности.
Один клиент может поддерживать tools, но не prompts. Другой — resources, но не sampling. Перед написанием сервера проверьте, что умеет ваш host.
Удалённые серверы требуют авторизации.
Локальные серверы через стандартный ввод-вывод просты в настройке, а внешние удалённые серверы работают через HTTP и требуют OAuth или другого механизма доступа.
Антипаттерны
Антипаттерны
Чего не делать
Давать серверу больше прав, чем нужно.
Если агенту нужно только читать документы, не разрешайте ему переименовывать и удалять файлы. Минимальные права снижают риск случайных или злоумышленных действий.
Смешивать бизнес-логику и протокол.
MCP-сервер должен быть тонким адаптером между моделью и внешней системой. Тяжёлые вычисления и сложные правила лучше оставить за пределами сервера.
Считать, что пользователь всё контролирует автоматически.
Даже если host запрашивает подтверждение, важно проектировать инструменты так, чтобы их вызовы были понятны и безопасны по умолчанию.
Игнорировать логирование и аудит.
В сервере, который работает через стандартный ввод-вывод, нельзя писать в stdout — это сломает JSON-RPC. Используйте стандартный модуль логирования, который пишет в stderr, и ведите журнал вызовов инструментов.
Чеклист
Чеклист
Проверка перед запуском
Цель интеграции сформулирована одним предложением.
Например: «Claude должен читать актуальные статьи из базы знаний перед ответом» — или, если вы разработчик 1С, «модель должна видеть структуру репозитория 1C:Enterprise Development Tools и подсказывать по коду».
Выбран тип сервера: локальный или удалённый.
Локальный — для доступа к файлам, терминалу, локальным базам. Удалённый — для облачных сервисов и инструментов общего доступа.
Права доступа минимальны.
Каждый инструмент даёт ровно те операции, которые нужны задаче, не больше.
Проверена поддержка клиента.
Host умеет нужные вам tools, resources и prompts.
Продумана безопасность авторизации.
Для удалённых серверов настроен OAuth, проверены права и механизм отзыва токенов.
Ссылки
Ссылки
- Документация: Model Context Protocol
- Репозиторий серверов: github.com/modelcontextprotocol/servers
- SDK и спецификация: modelcontextprotocol.io/specification