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.

