Gap
All five MCP security rules in ai/ai-best-practices/ exist only for Python. The official MCP
TypeScript SDK (@modelcontextprotocol/sdk) is the primary language for MCP server development,
yet none of these rules fire on TypeScript code.
Proposed additions
Two new TypeScript rules (extending existing Python ones):
mcp-command-injection-typescript — flags exec()/execSync()/eval() with a non-literal
argument inside server.tool() or server.registerTool() callbacks (CWE-78, ERROR)
mcp-ssrf-typescript — flags fetch()/axios.get/post/put/delete()/https.get() with a
non-literal URL inside MCP tool handler callbacks (CWE-918, ERROR)
Both cover the MCP SDK v1 (server.tool) and v2 (server.registerTool) APIs.
Gap
All five MCP security rules in
ai/ai-best-practices/exist only for Python. The official MCPTypeScript SDK (
@modelcontextprotocol/sdk) is the primary language for MCP server development,yet none of these rules fire on TypeScript code.
Proposed additions
Two new TypeScript rules (extending existing Python ones):
mcp-command-injection-typescript— flagsexec()/execSync()/eval()with a non-literalargument inside
server.tool()orserver.registerTool()callbacks (CWE-78, ERROR)mcp-ssrf-typescript— flagsfetch()/axios.get/post/put/delete()/https.get()with anon-literal URL inside MCP tool handler callbacks (CWE-918, ERROR)
Both cover the MCP SDK v1 (
server.tool) and v2 (server.registerTool) APIs.