Developer Releases mcp-linter Tool Exposing Security Flaws in Anthropic MCP Servers

A new open-source utility called mcp-linter was created to audit servers built on Anthropic's Model Context Protocol. The tool runs servers in isolated child processes, performs initialize handshakes, and checks 34 rules without executing any tools. Testing revealed multiple issues across official reference servers, including missing parameter descriptions and absent safety annotations. One server received a low score of 38 out of 100 due to 18 undocumented parameters that increase the risk of LLM hallucinations. The linter also supports automatic patch generation and SARIF output for GitHub Security integration. The project is published under the MIT license with plans to add support for remote transports such as SSE and WebSocket.

HabrTranslated from Russian

Read at source

A developer has released mcp-linter, a lightweight security auditing tool for servers implementing Anthropic's Model Context Protocol (MCP). The utility requires zero runtime dependencies and runs entirely on standard Node.js modules.

With the release of MCP, developers quickly began connecting LLMs such as Claude Desktop, Claude Code, and Cursor to external services and local resources. The protocol uses JSON-RPC 2.0 over stdio, yet the ecosystem lacked dedicated testing and static analysis tools.

Four Hidden Problems Identified

The article details four recurring issues. First, stdout pollution occurs when libraries write diagnostic messages to standard output instead of stderr, breaking JSON-RPC framing and causing clients to disconnect. Second, missing destructiveHint annotations allow autonomous agents to execute dangerous operations without human confirmation. Third, tool poisoning lets attackers embed prompt-injection directives inside tool descriptions that are fed directly to the model. Fourth, incomplete input schemas without parameter descriptions increase the rate of argument hallucinations by LLMs.

When run against official Anthropic reference servers, the linter produced the following results: @modelcontextprotocol/server-everything scored 90/100 with one missing description; @modelcontextprotocol/server-memory scored 66/100 with four undocumented parameters; @modelcontextprotocol/server-filesystem scored only 38/100 with 18 missing descriptions.

The tool can be invoked directly via npx, supports a --fix flag to generate JSON patches, and exports findings in SARIF v2.1.0 format for GitHub Code Scanning. It is available on npm and GitHub under the MIT license.

Meridian digestThe week's most consequential security stories, distilled into one briefing.See the digest

More in AI Security

Pentesting AI Components: Key Vulnerabilities CISOs Must Address in RAG and Agent Systems
Local AI Models Help Scammers by Drafting Fraudulent Replies Without Raising Alerts
SOC Forum 2026 Examines How Generative AI Lowers Attack Barriers and Reshapes Security Operations