actionforge について
actionforge は、ActionForge アカウントのツールを Claude などの MCP クライアントに公開するブリッジです。ツール一覧と呼び出しを MCP に対応付け、一覧を 30 秒間キャッシュします。
主な機能
- 01tools/list によるアカウントツールの一覧表示
- 02プロキシ URL 経由のツール呼び出し
- 03ツール一覧の 30 秒キャッシュ
- 04ツールの失敗を回復可能な結果として報告
活用シーン
- 01Claude Desktop で ActionForge ツールを公開
- 02MCP クライアントからアカウントツールを呼び出し
MCP 対応
stdio 経由で ActionForge アカウントのツールを MCP クライアントに公開します。tools/list は GET /api/tools に、tools/call は対応するプロキシ URL に割り当てられます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y actionforge-mcpACTIONFORGE_API_KEYシークレットYour ActionForge API key. Generate one from the ActionForge API or dashboard.ACTIONFORGE_URLBase URL of your ActionForge deployment. Defaults to the hosted service if unset.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
ActionForge MCP サーバー
ActionForge アカウントの ツールを、Claude Desktop、Claude Code、その他 Model Context Protocol に対応するあらゆる MCP クライアントに公開します。
ActionForge は、説明と2つの JSON Schema から、ホスト型 API エンドポイントを作成します。必要な関数を説明すると、実装を生成してサーバーレス関数としてデプロイし、検証済みの URL を返します。すべてのツールは入力のみを受け取る純粋関数です。生成されたコードはデプロイ前にスキャンされ、ネットワークへのアクセスや実行時に構築されたコードの実行が確認された場合は拒否されます。
このパッケージは MCP ブリッジです。エンドポイントを、Claude が直接呼び出せるツールにします。実行時依存関係はありません。stdio、fetch、そして約500行のコードだけです。
API キーは pritas.github.io/actionforge_ui で取得してください。
マッピングはほぼ1対1のため、このラッパーは薄くなっています。ActionForge のツールはすでに MCP ツールそのものです。名前、説明、入力用と出力用の JSON Schema で構成されます。tools/list は GET /api/tools を読み込み、tools/call はツールのプロキシ URL に POST します。
SDK を介さず、2025-06-18 のプロトコルスキーマに直接対応して実装しています。これにより、インストールするパッケージは1つだけで、その下に依存関係はありません。また、すべての分岐をオフラインでテストできます。npm run smoke は、コンパイル済みサーバーを閉じたポートに対して stdio 経由で実行し、アカウントがなくてもハンドシェイク、通知に期待される無応答、トランスポート障害への対応をすべて確認します。
インストール
npx actionforge-mcp
実行時依存関係はありません。サーバー全体は stdio、fetch、そして約500行のコードで構成されています。Node 20.12+ 以外にインストールするものはありません。
代わりに、このリポジトリをチェックアウトして実行する場合:
npm install
npm run build
node dist/server.js
設定
export ACTIONFORGE_URL=https://your-deployment.example.com
export ACTIONFORGE_API_KEY=af_... # from POST /api/signup, or npm run keygen
npx actionforge-mcp
公開される内容はすべて、そのキーのアカウントに限定されます。別のキーを指定すると、別のテナントのツールが公開されます。API がスコープを強制するため、MCP サーバーがその範囲を越えてアクセスすることはできません。
トランスポートは、改行区切りの JSON を使用する stdio です。stdout にはプロトコルフレームのみが出力されます。それ以外の出力はクライアントが解析するストリームを破損させるため、ログはすべて stderr に出力されます。
Claude Desktop
claude_desktop_config.json:
{
"mcpServers": {
"actionforge": {
"command": "npx",
"args": ["-y", "actionforge-mcp"],
"env": {
"ACTIONFORGE_URL": "https://your-deployment.example.com",
"ACTIONFORGE_API_KEY": "af_..."
}
}
}
}
Claude Code
claude mcp add actionforge \
--env ACTIONFORGE_URL=https://your-deployment.example.com \
--env ACTIONFORGE_API_KEY=af_... \
-- npx -y actionforge-mcp
エラーの報告方法
プロトコルには、このサーバーが厳密に従う区別があります。これによって、モデルが自力で回復できるかどうかが決まるためです。
| 状況 | 報告方法 | 理由 |
|---|---|---|
引数がツールの input_schema に適合しない(400) | isError: true を含む結果 | モデルは検証の詳細を読み取り、呼び出しを修正できます |
| ツールがまだ準備できていない(503) | isError: true を含む結果 | 一時的なエラーのため、少し待ってから再試行できます |
| レート制限(429) | isError: true を含む結果 | 待機時間が含まれます |
ツールの実行後、ツール自身の output_schema に適合しなかった(502) | ツール内の障害として名前を付けた、isError: true を含む結果 | モデルの引数が原因ではありません |
| ツールが存在しない(404)、または不明なツール名 | JSON-RPC エラー | モデルでは修正できないため、クライアントが再度リストを取得する必要があります |
| ActionForge に到達できない | JSON-RPC エラー -32603 | ツールの結果ではなく、トランスポート障害です |
モデルが対応できる情報は、モデルが確認できる結果の中に残します。真に例外的な状況のみ、プロトコルエラーになります。
キャッシュ
ツールのリストは30秒間キャッシュされます。ツールが存在しないと判明した場合、キャッシュはすぐに破棄されます。そのため、削除されたツールは TTL の期限切れを待たず、次回のリスト取得で表示されなくなります。
公開
npm run build && npm run smoke
npm publish --access public
dist/ は gitignore 対象です。ビルド成果物として prepublishOnly により再ビルドされるため、npm に公開される内容は常にコミット済みのソースからコンパイルされます。
公開のたびに version を更新してください。npm は、公開済みバージョンの上書きを拒否します。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。