mcpField
A
agentvet

agentvet

本地服务
github.comAI 与智能体120 周前更新

关于 agentvet

agentvet 是用于校验生成的工具调用参数并准备重试反馈的 MCP 服务,适合在实时 Agent 循环之外检查工具输入或定义的 MCP 客户端及开发者。

主要功能

  1. 01按结构规范校验参数
  2. 02生成面向大模型的重试提示
  3. 03检查工具定义
  4. 04根据校验错误生成重试消息

适用场景

  1. 01调用工具前检查参数
  2. 02审核一组工具定义
  3. 03根据校验错误准备重试反馈

MCP 相关

向 MCP 客户端提供参数校验、工具定义检查和重试消息生成工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"mukundakatta-agentvet": {
"command": "npx",
"args": [
"-y",
"@mukundakatta/agentvet-mcp"
]
}
}
}
启动命令npx -y @mukundakatta/agentvet-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@mukundakatta/agentvet-mcp0.1.0

工具

3

收录的工具列表 · 更新于 3 周前

参数类型必填说明
argsobject是LLM 希望传递的参数对象。
shapeobject是将字段名称映射到类型的结构规范。类型:"string"、"number"、"boolean"、"array"、"object"。添加后缀 "?" 表示可选。例如:{ "name": "string", "age": "number", "tags": "array", "notes": "string?" }
tool_namestring是正在调用的工具名称(会显示在 retry_hint 中)。

详细介绍

agentvet-mcp

适用于 @mukundakatta/agentvet 的 MCP 服务。 可让 Claude Desktop、Cursor、Cline、Windsurf、Zed 或任何其他 MCP 客户端在执行前验证大模型生成的工具调用参数,并在出错时生成便于大模型理解的重试消息。

npx -y @mukundakatta/agentvet-mcp

提供三个工具:

  • validate_tool_args — 根据简单的形状规范检查参数;返回 { valid, error?, retry_hint? },其中 retry_hint 是一条可直接发送给大模型的反馈消息。
  • lint_tool_definition — 检查工具定义,找出可能影响大模型工具使用准确性的常见问题。
  • generate_retry_message — 根据验证错误,使用 agentvet 的 ToolArgError.toLLMFeedback() 格式生成规范的大模型重试消息。

添加到客户端

Claude Desktop

编辑 ~/Library/Application Support/Claude/claude_desktop_config.json(macOS)或 %APPDATA%\Claude\claude_desktop_config.json(Windows):

{
  "mcpServers": {
    "agentvet": {
      "command": "npx",
      "args": ["-y", "@mukundakatta/agentvet-mcp"]
    }
  }
}

Cursor(~/.cursor/mcp.json)、Cline、Windsurf 和 Zed 的配置格式相同。

工具示例

validate_tool_args:

{
  "tool_name": "send_email",
  "args": { "to": "[email protected]" },
  "shape": { "to": "string", "subject": "string", "body": "string" }
}

返回:

{
  "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" } } }
  }
}

返回有关非 snake_case 名称、缺少描述、缺少字段描述以及没有必填字段的警告。

generate_retry_message:

{
  "tool_name": "send_email",
  "validation_error": "missing required field: subject",
  "attempted_args": { "to": "[email protected]" }
}

返回运行时调用方收到的规范重试反馈字符串,让你能在实时 Agent 循环之外预先准备重试文本。

为什么要单独使用 MCP 服务

@mukundakatta/agentvet 是一个零依赖 JavaScript 库。此 MCP 服务让任何支持 MCP 的 AI 助手都能使用其中的验证基础功能。你可以用它快速审查工具注册表,或在不离开聊天界面的情况下询问助手:“这个 args 对象对我的 send_email 工具有效吗?”

如需在 Agent 循环中进行运行时参数验证,请在 Node 进程中直接使用 @mukundakatta/agentvet(它会包装你的工具函数,并同步抛出 ToolArgError)。

同系列 MCP 服务

属于 agent-stack 系列:

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。