Короткий ответ
Свой MCP-сервер нужен, когда под вашу систему нет готового или готовый делает не то. По сути это тонкая обёртка над существующим API: вы описываете набор операций, которые агенту разрешено вызывать, и что каждая делает. Основная работа не в коде, а в том, как описать инструменты, чтобы модель поняла, когда их применять.
Когда это нужно
- под вашу систему готового сервера нет — самописная учётная система, отраслевое ПО, внутренний сервис;
- готовый есть, но даёт слишком много: вам нужно три операции, а он открывает всю базу;
- нужна своя логика: проверки перед записью, ограничения, фильтрация выдачи.
Третий пункт встречается чаще всего. Готовый сервер к базе даёт универсальный доступ, а вам нужно, чтобы агент видел только определённые таблицы и только нужные поля.
Из чего состоит
Минимальный сервер — это:
- Список инструментов — что агент может вызвать.
- Описание каждого — что делает, какие параметры принимает, что возвращает.
- Реализация — код, который выполняет вызов: запрос к API, к базе, к файлу.
Технически это несложно: есть готовые библиотеки под основные языки, и большая часть работы — это переложить существующие вызовы API в формат MCP.
Практический разбор с кодом — в статье для разработчиков.
Главное — описания, а не код
Здесь основная ошибка новичков. Агент выбирает инструмент по описанию, а не по названию функции. Плохое описание — и агент либо не вызовет инструмент, когда нужно, либо вызовет не тот.
Что помогает:
- Описывать задачу, а не реализацию. Не «выполняет SELECT по таблице orders», а «находит заказы клиента за период».
- Явно указывать ограничения — «возвращает не больше 50 записей», «только за последний год».
- Называть параметры человеческими словами — модель на них тоже смотрит.
- Проверять на реальных вопросах: задайте агенту десяток формулировок и посмотрите, вызывает ли он нужное.
Типичные ошибки
- Слишком много инструментов сразу. Три понятных работают лучше двадцати расплывчатых: агенту труднее выбрать, а вам — отладить.
- Возврат сырых данных. Тысяча строк JSON забьёт контекст и обойдётся в токены. Отдавайте то, что нужно для ответа.
- Отсутствие ограничений. Запрос без лимита однажды вернёт всю таблицу.
- Права от администратора «на время отладки», которые остаются навсегда — см. безопасность.
С чего начать практически
- Возьмите одну задачу, которую агент должен уметь решать.
- Опишите один инструмент под неё.
- Подключите и проверьте на реальных вопросах — как подключать.
- Добавляйте следующий, только когда первый работает предсказуемо.
Если нужен не доступ к данным, а объяснение правил работы, — это не MCP-сервер, а скилл: полчаса вместо дня.