IBM/mcp-context-forge
An AI Gateway, registry, and proxy that sits in front of any MCP, A2A, or REST/gRPC APIs, exposing a unified endpoint with centralized discovery, guardrails and management. Optimizes Agent & Tool calling, and supports plugins.
ContextForge – AIツール、エージェント、APIの統合ゲートウェイ
何であるか – ContextForgeはオープンソースのレジストリおよびプロキシであり、任意のModel Context Protocol (MCP) サーバー、A2A(エージェント間)サービス、または通常のREST/gRPC APIを、1つの中央管理されたエンドポイントを通じて公開できます。これはゲートウェイとして機能し、バックエンドを翻訳・発見・監視し、LLM駆動のアプリケーションにおいてネイティブなMCPツールのように見えるようにします。
なぜ重要か – 現代のLLMアプリは、検索、データベース、カスタムツール、他のエージェントなど、多数の外部サービスを呼び出す必要があることがよくあります。各統合を個別に管理すると、すぐにメンテナンスの地獄になります:認証、レート制限、再試行、監視、バージョン管理をすべてのサービスに対して別々に処理しなければなりません。ContextForgeは以下の方法でこの課題を解決します。
- 異種バックエンド(MCP、REST、gRPC)を1つの一貫したAPI表面に統合。
- 中央管理(認証、レート制限、OAuth、JWT、シークレット管理)を提供。
- 組み込みの可観測性をOpenTelemetryで実現(Jaeger、Zipkin、Phoenixなどへのトレース出力)。
- プラグイン拡張(40以上)により、追加のトランスポートやカスタムロジックを可能に。
- 管理者UIを提供し、実行時設定、ヘルスチェック、ログ閲覧が可能。
主要コンポーネント
| コンポーネント | 役割 |
|---|---|
| ツールゲートウェイ | MCP、REST、gRPCサービスをMCP互換のツールに変換;TOON圧縮と自動JSONスキーマ抽出をサポート。 |
| エージェントゲートウェイ | OpenAI互換、Anthropic、またはカスタムエージェントをA2Aプロトコル経由でルーティング;トークンレベルのルーティングとバージョニングを処理。 |
| APIゲートウェイ | 一般的なRESTサービス向けにレート制限、再試行、リバースプロキシ機能を追加。 |
| プラグインシステム | WebSocket、SSE、stdioなど、追加トランスポート用の40以上もの準備済みアダプターと統合。 |
| 可観測性レイヤー | OpenTelemetryインストルメンテーション;Phoenix、Jaeger、Zipkin、Tempo、DataDog、New Relicなどへのエクスポート;LLM固有のメトリクス(トークン使用量、コスト)。 |
| 管理者UI | HTMX/Alpineベースのダッシュボードでサーバー、ツール、プロンプト、リソースを管理可能;オフライン環境(air-gapped)での展開もサポート。 |
実行方法
- PyPI –
pip install mcp-contextforge-gatewayを実行し、mcpgatewayCLIで起動。 - Docker / Docker-Compose – 事前ビルド済みイメージ
ghcr.io/ibm/mcp-context-forgeを取得し、docker compose up -dで1コマンドでフルスタック(ゲートウェイ+PostgreSQL+Redis+オプションのNginx)を起動。 - Kubernetes (Helm) – マルチクラスタ、HA構成向けに提供されたHelmチャートをデプロイ;自動スケーリング、Prometheusメトリクス、シークレット注入を含む。
- Dev container – VS Codeのdev-containerサポートにより、迅速なローカル開発が可能。
一般的なワークフロー
- シークレットの生成(
python -m mcpgateway.scripts.init_secrets)。 - ゲートウェイの起動(CLI、Docker、またはHelm)。
- 管理者UIまたはREST呼び出しでバックエンドを登録 – 例:レガシーRESTサービスを
http://localhost:4444/gatewaysに接続。 - ツール/プロンプト/リソースのセットをバンドルする仮想サーバーを作成。
- 任意のLLMクライアント(OpenAI互換、Anthropic、カスタム)から統合MCPエンドポイントを消費 – クライアントは、下位の実装にかかわらず、単一の
/mcpURL を見ます。
誰が使うべきか
- 複数の異種サービスを呼び出す必要があるエージェント型AIアプリケーションを開発するチーム。
- すべてのAI関連APIに対して中央ポリシーの強制(認証、レート制限、監査)を望む企業。
- 分散型LLMワークロードにおけるツール使用状況の可観測性を求める開発者。
- 新しいトランスポートプロトコルが登場しても進化できるプラグインフレンドリーなゲートウェイが必要な人。
成熟度とコミュニティ
- IBMが継続的にメンテナンス;CIパイプライン(テスト、Lint、依存関係レビュー)を備える。
- 7,000以上の自動テストと完全なCI/CDワークフロー。
- PyPIパッケージおよびDockerイメージとして配布;Python 3.11+をサポート。
- ドキュメントサイト(
ibm.github.io/mcp-context-forge)にはクイックスタートガイド、APIリファレンス、ロードマップが含まれる。 - コントリビューションを歓迎 –
CONTRIBUTING.mdを参照して、イシューの作成とPRのガイドラインを確認。
TL;DR – ContextForgeは、プロダクションレベルで信頼できる拡張性のあるゲートウェイであり、任意のAIツール、エージェント、サービス(MCP、REST、gRPC)を、1つの観測可能で中央管理されたエンドポイントに変換し、LLM駆動アプリケーションで利用可能にします。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト