OpenAPI MCP Server について
MCP サーバーを開発するためのひな型です。加算ハンドラーの例を備え、stdio、SSE、OpenAPI/REST の各モードで動作します。
主な機能
- 01stdio サーバーモード
- 02SSE サーバーモード
- 03OpenAPI/REST モード
- 04加算ハンドラーの例
- 05Docker 実行設定
活用シーン
- 01MCP サーバー実装の開始
- 02stdio、SSE、REST モードの試行
MCP 対応
stdio と SSE のトランスポート、および OpenAPI/REST エンドポイントを備えた MCP サーバーの基盤です。加算ハンドラーの例で、各プロトコルに応じた実装を確認できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
OpenAPI MCP サーバー
これは、独自の MCP サーバーを構築する際の出発点として使用できるスケルトンプロジェクトです。加算関数の例では、3 つすべてのプロトコルでハンドラーを実装する方法を示しています。
機能
現在の実装状況:
- ✅ 標準入出力(stdio)
- ✅ Server-Sent Events(SSE)
- ✅ OpenAPI/REST エンドポイント
実行モード
サーバーは、MODE 環境変数で制御される 3 種類の実行モードに対応しています。
stdio:標準入出力サーバーとして実行sse:Server-Sent Events サーバーとして実行(ポート 8001)openapi:OpenAPI/REST サーバーとして実行(ポート 8002)
ビルドと実行
Docker Compose を使用する場合
- コンテナをビルドします:
docker compose build
- 特定のサービスを実行します:
# Run all services
docker compose up
# Run only SSE server
docker compose up sse-mcp-server
# Run only OpenAPI server
docker compose up openapi-mcp-server
Docker を直接使用する場合
Docker を使用してサーバーを直接実行することもできます。
# Run in stdio mode
docker run -i --rm -e MODE=stdio 3loc/openapi-mcp-server
# Run in SSE mode
docker run -p 8001:8000 --rm -e MODE=sse 3loc/openapi-mcp-server
# Run in OpenAPI mode
docker run -p 8002:8000 --rm -e MODE=openapi 3loc/openapi-mcp-server
設定
mcp.json ファイルを使用してサーバーを設定できます。設定例を以下に示します。
{
"mcpServers": {
"stdio-mcp-server": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"--name", "openapi-mcp-server",
"-e", "MODE=stdio",
"3loc/openapi-mcp-server"
]
},
"sse-mcp-server": {
"url": "http://localhost:8001/sse"
}
}
}
開発
このプロジェクトは、複数の通信プロトコルに対応した MCP サーバーを実装するための基盤を提供します。3 つすべてのモード(stdio、SSE、OpenAPI)が実装済みで、ニーズに応じて切り替えて使用できます。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。