mcpField
M
MCP OpenAPI

MCP OpenAPI

ローカル
github.com/electrocucaracha開発ツール458 週間前に更新

MCP OpenAPI について

MCP OpenAPIはOpenAPI仕様を解析し、MCP対応のサーバーコードとツールを動的に生成します。既存サービスにMCP対応を加えるチーム向けで、サイドカーとしても配置できます。

主な機能

  1. 01OpenAPI仕様の解析
  2. 02MCPサーバーコードの生成
  3. 03MCP対応ツールの作成

活用シーン

  1. 01API仕様からMCP対応を生成
  2. 02既存サービスの横にサイドカー配置

MCP 対応

OpenAPI仕様からMCPサーバーの構成要素とツールを生成し、MCPクライアントに提供します。

設定

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

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

MCP OpenAPI

License GitHub Super-Linter Ruby Style Guide Code style: black

visitors Scc Code Badge Scc COCOMO Badge

このプロジェクトは、自動化ツールによってサーバー生成を簡素化し、MCP プロトコルの普及を加速することを目的としています。 OpenAPI 仕様を解析し、対応する MCP サーバーコンポーネントを動的に生成します。

主な機能

  • OpenAPI 仕様を解析します
  • MCP 互換のサーバーコードとツールを動的に生成します
  • 統合とデプロイを効率化できるよう設計されています

ユースケース

一般的なユースケースの 1 つは、このアプリケーションを既存のサービスと並行してサイドカーとしてデプロイすることです。 これにより、手動でサーバーを実装することなく、シームレスに MCP をサポートできます。

OpenAPI から MCP への変換を自動化することで、このツールは手動でのサーバー開発に伴う負担を軽減し、 最新のサービスアーキテクチャにおける MCP プロトコルの迅速な普及を促進します。

ワークフロー

sequenceDiagram
    actor user as User
    actor agent as Agent
    participant ingress as Ingress
    participant mcp_proxy as MCP Proxy
    participant openapi_server as OpenAPI Server
    participant db as Database

    user->>ingress: Request for OpenAPI resource
    ingress->>openapi_server: Forward request
    openapi_server->>db: Query database
    db-->>openapi_server: Database response
    openapi_server-->> user: OpenAPI Server response

    Note over user,db: LLM interaction

    user->>agent: Send a prompt
    agent->>ingress: Request for MCP tool
    ingress->>mcp_proxy: Forward request
    mcp_proxy->>openapi_server: Forward request
    openapi_server->>db: Query database
    db-->>openapi_server: Database response
    openapi_server-->>mcp_proxy: OpenAPI Server response
    mcp_proxy-->>agent: MCP server response
    agent-->>user: Prompt response

環境変数

NameDefaultDescription
OPENAPI_SPEC_URLOpen API 仕様の URL です。
TRANSPORTstreamable-httpMCP サーバーとの通信に使用するトランスポートの種類です。
HOST127.0.0.1サーバーをバインドするホスト名または IP アドレスです。
PORT8000リッスンするポート番号です。

開発環境のセットアップ方法

このプロジェクトは Dev Container に対応しており、設定済みの開発環境を簡単に使い始められます。これにより、開発環境間の一貫性が確保され、貢献者は環境を手動で設定することなく作業を開始できます。

オプション 1:GitHub Codespaces

クラウドベースの開発環境をすぐに起動できます。

GitHub Codespaces で開く

オプション 2:ローカルの Dev Container(Visual Studio Code)
  1. Visual Studio Code をインストールします。
  2. Dev Containers 拡張機能をインストールします。
  3. コンテナランタイムがインストールされ、実行中であることを確認します。
  4. このリポジトリを Visual Studio Code で開きます。
  5. プロンプトが表示されたら、プロジェクトを Dev Container で再度開きます。

検証

MCP サーバーを検証するためのヘルパースクリプトが用意されています。 MCP Python SDK を使用して接続し、ツールを一覧表示して実行します。

利用可能なツールの一覧表示
./tests/client.py -m http://localhost:8000/mcp

出力例:

{
  "properties": {
    "url": {
      "title": "Url",
      "type": "string"
    }
  },
  "required": ["url"],
  "title": "fetch_websiteArguments",
  "type": "object"
}
ツールの呼び出し
./tests/client.py -m http://localhost:8000/mcp -a call-tool -t fetch -i url=https://electrocucaracha.com/acerca/

出力例(一部省略):

<!DOCTYPE html>
<html lang="es">
  <head>
    <meta charset="UTF-8" />
    ...
  </head>
</html>

コメント

MCP は初めてですか?

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

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