mcpField
A
agentcast

agentcast

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

agentcast について

agentcastは、LLMの応答から構造化JSONを得たいアシスタントやエージェントの開発者向けMCPサーバーです。JSONの抽出、フィールドと型の仕様に沿った検証、失敗時の再試行フィードバック生成を行います。

主な機能

  1. 01不規則なテキストからJSONを抽出
  2. 02仕様に基づく値の検証
  3. 03再試行用フィードバックの生成

活用シーン

  1. 01説明文に囲まれたJSONの解析
  2. 02必須フィールドと値の型の確認
  3. 03不正な出力に対する修正フィードバックの準備

MCP 対応

MCPクライアントにJSON抽出、仕様検証、再試行フィードバックのツールを提供します。Node版agentcastライブラリを使わないクライアントでも、再試行ループを手動で進められます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"mukundakatta-agentcast": {
"command": "npx",
"args": [
"-y",
"@mukundakatta/agentcast-mcp"
]
}
}
}
起動コマンドnpx -y @mukundakatta/agentcast-mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@mukundakatta/agentcast-mcp0.1.0

ツール

3

掲載時のツール一覧 · 3 週間前に更新

パラメーター型必須説明
textstringはいJSON がどこかに含まれている可能性のある、LLM からの自由形式テキスト。

詳細

agentcast-mcp

npm tests mcp

AI アシスタントに構造化出力を強制する機能を提供する MCP サーバーです。乱雑な LLM テキストから JSON を抽出し、形状の仕様に照らして検証し、モデルが期待と異なる形状を返した場合に再試行用のフィードバックメッセージを生成します。

@mukundakatta/agentcast を基盤に構築されています。Claude Desktop、Cursor、Cline、Windsurf、Zed、その他あらゆる MCP クライアントで動作します。

提供するツール

extract_json

乱雑な LLM 出力から JSON 値を取り出します。テキスト全体、フェンスで囲まれた ```json ``` ブロック、次に最大のバランスの取れた {...}/[...] 部分文字列の順に試します。解析された値と、成功した方法を返します。

{
  "text": "Sure, here you go:\n```json\n{\"answer\": 42}\n```\nLet me know!"
}

→

{
  "value": { "answer": 42 },
  "found": true,
  "source": "fenced_json"
}

source は whole、fenced_json、fenced_plain、balanced_substring、または none のいずれかです。

validate_response

解析済みの JSON 値を、agentcast の形状仕様に照らして検証します。仕様ではフィールド名を型に対応付けます。型は string、number、boolean、array、object です。省略可能にするには、末尾に ? を付けます。

{
  "value": { "name": "ada" },
  "shape": { "name": "string", "age": "number" }
}

→

{
  "valid": false,
  "error": "missing required field 'age'"
}
build_retry_prompt

試行履歴を受け取り、モデルが期待と異なる形状を返した際に agentcast が会話に追加する、検証エラーのフィードバックメッセージを生成します。Node 以外の MCP クライアントが同じ再試行ループを手動で実行する際に使える、「フィードバックとしての検証エラー」というパターンを実現します。

{
  "attempts": [
    { "text": "{\"name\":\"ada\"}", "error": "missing required field 'age'" }
  ],
  "expected_shape": { "name": "string", "age": "number" }
}

→

{
  "feedback": "Your previous response did not match the required shape. Error: missing required field 'age'\n\nTry again. Respond with ONLY valid JSON that fixes the error above.\n\nExpected shape: {\"name\":\"string\",\"age\":\"number\"}"
}

インストール

Claude Desktop

claude_desktop_config.json に追加します。

{
  "mcpServers": {
    "agentcast": {
      "command": "npx",
      "args": ["-y", "@mukundakatta/agentcast-mcp"]
    }
  }
}
Cursor/Cline/Windsurf/Zed

同じ形式で、クライアントに応じた mcp.json に設定します。ほとんどのクライアントでは、npx -y @mukundakatta/agentcast-mcp によって自動検出されます。

ローカルインストール
npm install -g @mukundakatta/agentcast-mcp
mcp-agentcast        # listens on stdio

これが重要な理由

LLM が構造化データを返すよう求められていても、JSON を説明文やフェンスで囲んだり、幻覚によるフィールドを含めたりすることがあります。標準の JSON.parse では例外が発生します。手作業で作成した正規表現では、ネストされた構造を見落とします。この MCP サーバーを使うと、エージェントを動かすあらゆるモデルで、(1)応答から JSON を取り出し、(2)期待される形状と一致するかを確認し、(3)次のターンでモデルが修正するよう促す正確な再試行プロンプトを作成できます。

ライセンス

MIT。

コメント

MCP は初めてですか?

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

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