Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Agentvet

FreeNot checked

Validate tool-call args before execution. Returns LLM-friendly retry hints.

GitHubEmbed

About

Validate tool-call args before execution. Returns LLM-friendly retry hints.

README

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.

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:

License

MIT

from github.com/MukundaKatta/agentvet-mcp

Install Agentvet in Claude Desktop, Claude Code & Cursor

Recommended · one command, every IDE
unyly install agentvet

Installs into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.

First time? Get the CLI: curl -fsSL https://unyly.org/install | sh

Or configure manually

Run in your terminal:

claude mcp add agentvet -- npx -y @mukundakatta/agentvet-mcp

FAQ

Is Agentvet MCP free?

Yes, Agentvet MCP is free — one-click install via Unyly at no cost.

Does Agentvet need an API key?

No, Agentvet runs without API keys or environment variables.

Is Agentvet hosted or self-hosted?

Self-hosted: the server runs locally on your machine via the install command above.

How do I install Agentvet in Claude Desktop, Claude Code or Cursor?

Open Agentvet on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare Agentvet with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All ai MCPs