Новости Claude

Claude и MCP: как линтер нашёл ошибки в серверах Anthropic

Рабочее место разработчика с двумя мониторами, распечатками, сетевым оборудованием и отчётом по проверке MCP-сервера

Для серверов Model Context Protocol появился новый инструмент проверки — mcp-linter. Он помогает находить проблемы в протоколе и безопасности ещё до того, как их увидит пользователь Claude Desktop, Cursor или другой клиент.

Зачем вообще нужен линтер для MCP

MCP быстро стал популярным способом подключать Claude, Cursor и других ИИ-агентов к файлам, базам данных и внешним сервисам. Но по мере роста экосистемы выяснилось, что для таких серверов почти не было удобных инструментов проверки и статического анализа.

Из-за этого разработчики часто повторяли одни и те же ошибки: лишний вывод в stdout ломал JSON-RPC-обмен, опасные команды запускались без подтверждения, а в описания инструментов можно было случайно или намеренно встроить prompt injection.

Что делает mcp-linter

Автор проекта собрал mcp-linter без сторонних зависимостей, на чистом Node.js. Утилита запускает MCP-сервер в изолированном дочернем процессе, проводит проверку и не вызывает сами инструменты, чтобы ничего не повредить.

Внутри — 34 правила, оценка здоровья сервера по шкале от A+ до F и от 0 до 100, генерация автоисправлений через режим --fix и экспорт отчётов в SARIF v2.1.0 для GitHub Security. Запустить его можно прямо через npx, без отдельной установки.

Какие баги нашли в официальных серверах Anthropic

Проверка эталонных серверов из репозитория modelcontextprotocol показала, что проблемы есть даже в официальных примерах. У @modelcontextprotocol/server-everything у одного параметра в инструменте не хватало описания.

У @modelcontextprotocol/server-memory линтер отметил отсутствие верхнеуровневых instructions при инициализации и четыре параметра без описаний. А у @modelcontextprotocol/server-filesystem он нашёл 18 параметров без пояснений — например, для path, content, edits и destination. Для моделей такие пробелы усложняют выбор правильных аргументов и повышают риск ошибок.

Что это даёт разработчикам и командам

Проблема MCP-серверов в том, что ошибки здесь часто выглядят мелкими, но последствия могут быть неприятными: клиент зависает, агент запускает лишнюю операцию или модель получает вредоносную инструкцию через описание инструмента. Поэтому регулярная проверка особенно полезна тем, кто делает серверы для Claude Desktop, Cursor и внутренних рабочих агентов.

Для команды это удобный способ быстро увидеть слабые места, получить готовые подсказки на исправление и добавить проверку в CI/CD или GitHub Security. Если нужно держать MCP-сервер в порядке, такие автоматические аудиты экономят время и снижают риск неприятных сюрпризов в продакшене.

Частые вопросы

Почему обычный console.log может навредить MCP-серверу?
Если сообщение уходит в stdout, клиент может принять его за часть JSON-RPC и сломать соединение. Для логов в MCP лучше использовать stderr.
Зачем нужны destructiveHint и readOnlyHint?
Эти аннотации подсказывают агенту, насколько инструмент безопасен. Если у деструктивной команды нет нужной метки, она может выполниться без подтверждения пользователя.
Можно ли быстро проверить свой MCP-сервер?
Да, mcp-linter запускается через npx и умеет сразу показать ошибки, а при необходимости — предложить исправления. Это удобно и для локальной разработки, и для команды перед релизом.

Читайте также

Попробовать Lord GPT бесплатно →