mcp_tool_lint
Static review of MCP tool definitions, as returned by a server's tools/list, for how well a model can choose and call them. Flags missing, too-short or vague descriptions; parameters with no description or type; free-form objects and arrays without items; required fields that are not declared; duplicate, case-colliding or near-identical tools; missing or contradictory annotations (readOnlyHint, destructiveHint and friends); tool-poisoning phrasing that tells the model to override its instructions or hide actions from the user; and hidden zero-width, bidi or tag characters. Also estimates the token cost of the whole tool list. Nothing is fetched and no tool is called; the score is a heuristic for usability, not a security guarantee. Deterministic, no LLM.
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "mcp_tool_lint"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| tools | No | The tool definitions to check: each an object with name, description, inputSchema and optional title, outputSchema and annotations. Max 200 tools, 512 KB request body. | |
| tools_list | No | Alternative to tools: a raw tools/list result ({"tools": [...]}) pasted as-is. |