Wraps the agentvet validation library as three MCP tools you can call from Claude Desktop, Cursor, or any MCP client. validate_tool_args checks an arguments object against a shape spec and returns an LLM-ready retry message when something's missing or wrong. lint_tool_definition scans a tool's JSON schema for common mistakes that hurt LLM accuracy, like missing descriptions or non-snake_case names. generate_retry_message builds the canonical feedback string from a validation error. Useful when you want to audit a batch of tool definitions or prototype validation logic in chat before wiring it into your agent runtime. For production validation loops, the underlying agentvet library runs synchronously in your Node process and throws ToolArgError directly.
MCP server for @mukundakatta/agentvet. Lets Claude Desktop, Cursor, Cline, Windsurf, Zed, or any other MCP client validate LLM-generated tool-call args before execution and produce LLM-friendly retry messages when something's wrong.
npx -y @mukundakatta/agentvet-mcp
Three tools:
validate_tool_args — check args against a small shape spec; returns { valid, error?, retry_hint? } where retry_hint is a ready-to-send LLM feedback message.lint_tool_definition — sanity-check a tool definition for common mistakes that hurt LLM tool-use accuracy.generate_retry_message — given a validation error, build the canonical LLM-facing retry message using agentvet's ToolArgError.toLLMFeedback() formatting.Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"agentvet": {
"command": "npx",
"args": ["-y", "@mukundakatta/agentvet-mcp"]
}
}
}
Same shape for Cursor (~/.cursor/mcp.json), Cline, Windsurf, Zed.
validate_tool_args:
{
"tool_name": "send_email",
"args": { "to": "a@b.com" },
"shape": { "to": "string", "subject": "string", "body": "string" }
}
Returns:
{
"valid": false,
"error": "missing required field: subject",
"retry_hint": "send_email rejected your args: missing required field: subject. Please call again with the corrected arguments."
}
lint_tool_definition:
{
"tool": {
"name": "BadName",
"inputSchema": { "type": "object", "properties": { "x": { "type": "string" } } }
}
}
Returns warnings about non-snake_case name, missing description, missing field descriptions, and no required fields.
generate_retry_message:
{
"tool_name": "send_email",
"validation_error": "missing required field: subject",
"attempted_args": { "to": "a@b.com" }
}
Returns the canonical retry feedback string the runtime callers see — so you can prepare retry text outside the live agent loop.
@mukundakatta/agentvet is a zero-dependency JavaScript library. This MCP server makes its validation primitives accessible from any MCP-aware AI assistant. Useful for quickly auditing a registry of tools, or asking the assistant "is this args object valid for my send_email tool?" without leaving the chat.
For runtime arg validation in your agent loop, use @mukundakatta/agentvet directly inside your Node process (it wraps your tool fn and throws ToolArgError synchronously).
Part of the agent-stack series:
@mukundakatta/agentfit-mcp — Fit it.@mukundakatta/agentguard-mcp — Sandbox it.@mukundakatta/agentsnap-mcp — Test it.@mukundakatta/agentvet-mcp — Vet it. (this)@mukundakatta/agentcast-mcp — Validate it.MIT
io.github.ericm1018/skillfm-llm-cost-optimizer-openai-anthropic-usage
io.github.mikerawsonnz/llm-orchestration-agent
io.github.mikerawsonnz/authenticated-llm-agent
labforgedev/copilot-memory-mcp
csoai-org/agent-prompt-injection-firewall-mcp
io.github.mikerawsonnz/authenticated-multi-llm-agent