MCP について
Connect API を使ったクライアントとサーバーのサンプルプロジェクトです。Swagger の操作を Chatlas ツールとして登録する方法と、Shiny アプリの例も示します。
主な機能
- 01Connect API のクライアントとサーバー
- 02Swagger 操作のマッピング
- 03Chatlas ツール登録
- 04Shiny アプリの例
活用シーン
- 01サンプルのサーバーとクライアントの実行
- 02Swagger 操作のツール化
- 03ローカル OpenAPI サーバーでのテスト
- 04Shiny アプリの実行
MCP 対応
Connect API を使う MCP サーバーとクライアントが含まれます。Swagger 操作を Chatlas ツールとして登録する方法も示します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
インストール方法は未掲載です
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ツール一覧はまだ取得されていません
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP
Connect API を使用するクライアントとサーバーのシンプルな例です。
使用方法
MCP サーバーを実行します:
CONNECT_API_KEY="<your key>" SWAGGER_FILE="swagger.yaml" make server
次に、MCP クライアントを実行します:
make client
app.py のメイン関数にあるチャットを変更して、別の質問をしてみましょう。
Swagger の使用方法
以下のコードは、Chatlas に Swagger ツールを登録する方法を示すスニペットです。
import chatlas
import requests
from openapi_mcp.chatlas import SwaggerTool
from openapi_mcp.connect_api import map_operations_to_tools
from openapi_mcp.swagger import (
expand_all_references,
transform_swagger_to_operation_dict,
)
api_url = "127.0.0.1:8000/"
openapi_dict = requests.get(f"{api_url}/swagger.json").json()
openapi_doc = expand_all_references(openapi_dict)
operations = transform_swagger_to_operation_dict(openapi_doc)
tools = map_operations_to_tools(operations)
aws_model = os.getenv("AWS_MODEL", "us.anthropic.claude-3-5-sonnet-20241022-v2:0")
aws_region = os.getenv("AWS_REGION", "us-east-1")
chat = chatlas.ChatBedrockAnthropic(model=aws_model, aws_region=aws_region)
for operation in api_operations.values():
SwaggerTool.register_tool(
chat,
SwaggerTool(
base_url=api_url,
operation=operation,
),
)
実際に試すには、OpenAPI 互換のローカルサーバーを実行し、Shiny アプリケーションを起動します:
# Run the OpenAPI-compatible server
make ex-starwars
# Run Shiny
make shiny

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