agentvet-mcp
by MukundaKatta
README.md
# agentvet-mcp
**MCP server for [`@mukundakatta/agentvet`](https://www.npmjs.com/package/@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.
```bash
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):
```json
{
"mcpServers": {
"agentvet": {
"command": "npx",
"args": ["-y", "@mukundakatta/agentvet-mcp"]
}
}
}
```
Same shape for Cursor (`~/.cursor/mcp.json`), Cline, Windsurf, Zed.
## Tool examples
**`validate_tool_args`:**
```json
{
"tool_name": "send_email",
"args": { "to": "a@b.com" },
"shape": { "to": "string", "subject": "string", "body": "string" }
}
```
Returns:
```json
{
"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`:**
```json
{
"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`:**
```json
{
"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.
## 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`](https://www.npmjs.com/package/@mukundakatta/agentfit-mcp) — *Fit it.*
- [`@mukundakatta/agentguard-mcp`](https://www.npmjs.com/package/@mukundakatta/agentguard-mcp) — *Sandbox it.*
- [`@mukundakatta/agentsnap-mcp`](https://www.npmjs.com/package/@mukundakatta/agentsnap-mcp) — *Test it.*
- [`@mukundakatta/agentvet-mcp`](https://www.npmjs.com/package/@mukundakatta/agentvet-mcp) — *Vet it.* (this)
- [`@mukundakatta/agentcast-mcp`](https://www.npmjs.com/package/@mukundakatta/agentcast-mcp) — *Validate it.*
## License
MIT
TDQS
A4.2/5.0
Scored across 3 tools
Disambiguation5/5
Each tool targets a distinct operation: generating retry messages, linting tool definitions, and validating tool args. There is no overlap in purpose.
Naming Consistency5/5
All tool names follow a consistent verb_noun snake_case pattern (generate_retry_message, lint_tool_definition, validate_tool_args), making them predictable.
Tool Count5/5
With 3 tools, the server is well-scoped for its purpose of agent vetting and validation. Each tool earns its place without being too sparse or bloated.
Completeness4/5
The set covers core validation, linting, and feedback generation. A minor gap is the absence of a tool to suggest fixes or re-lint after changes, but the core workflow is complete.
Maintenance
ActivityInactive
ResponsivenessNo issues