mcpField
A
agentvet

agentvet

ローカル
github.comAI・エージェント120 週間前に更新

agentvet について

agentvetは、生成されたツール呼び出し引数を検証し、再試行用のフィードバックを作成するMCPサーバーです。実行中のエージェントループ外で、ツール入力や定義を確認するMCPクライアントや開発者向けです。

主な機能

  1. 01形状仕様に基づく引数検証
  2. 02LLM向け再試行ヒントの生成
  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 クライアントで、LLM が生成したツール呼び出しの引数を実行前に検証し、問題がある場合に LLM 向けの再試行メッセージを生成できます。

npx -y @mukundakatta/agentvet-mcp

3 つのツールがあります。

  • validate_tool_args — 小規模な形状仕様に照らして引数を確認し、{ valid, error?, retry_hint? } を返します。retry_hint はそのまま送信できる LLM 向けのフィードバックメッセージです。
  • lint_tool_definition — LLM のツール使用精度を損なうよくあるミスがないか、ツール定義をチェックします。
  • generate_retry_message — 検証エラーを受け取り、agentvet の ToolArgError.toLLMFeedback() の形式を使って標準の LLM 向け再試行メッセージを作成します。

クライアントへの追加方法

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

スネークケースではない名前、説明の欠如、フィールドの説明の欠如、必須フィールドがないことについて警告を返します。

generate_retry_message:

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

実行時の呼び出し元に返される標準の再試行フィードバック文字列を返すため、実行中のエージェントループの外で再試行テキストを準備できます。

独立した MCP サーバーである理由

@mukundakatta/agentvet は依存関係ゼロの JavaScript ライブラリです。この MCP サーバーを使うと、その検証プリミティブを MCP 対応のあらゆる AI アシスタントから利用できます。ツールのレジストリをすばやく監査したり、チャットから離れずに「この args オブジェクトは自分の send_email ツールで有効ですか?」とアシスタントに尋ねたりするのに便利です。

エージェントループ内で実行時の引数検証を行うには、Node プロセス内で @mukundakatta/agentvet を直接使ってください(ツール関数をラップし、ToolArgError を同期的にスローします)。

関連する MCP サーバー

agent-stack シリーズの一部です。

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。