agentvet-mcp
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? }whereretry_hintis 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'sToolArgError.toLLMFeedback()formatting.
Add to your client
Claude Desktop
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.
Tool examples
validate_tool_args:
{
"tool_name": "send_email",
"args": { "to": "[email protected]" },
"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": "[email protected]" }
}
Returns the canonical retry feedback string the runtime callers see — so you can prepare retry text outside the live agent loop.
Why a separate MCP server
@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).
Sibling MCP servers
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.
License
MIT