司会者
emceeは、 OpenAPI仕様に準拠したあらゆるWebアプリケーションにModel Context Protocol(MCP)サーバーを提供するツールです。emceeを使用すると、 Claude Desktopやその他のアプリをChatGPTプラグインと同様に外部ツールやデータサービスに接続できます。
クイックスタート
macOS を使用していてHomebrewがインストールされている場合は、すぐに起動して実行できます。
# Install emcee
brew install loopwork-ai/tap/emceeClaude Desktopがインストールされていることを確認してください。
Claude Desktop を emcee で使用するように構成するには:
Claude デスクトップ設定を開く (⌘,)
サイドバーの「開発者」セクションを選択します
「設定の編集」をクリックして設定ファイルを開きます
設定ファイルはApplication Supportディレクトリに保存されています。以下のコマンドでVSCodeから直接開くこともできます。
code ~/Library/Application\ Support/Claude/claude_desktop_config.jsonweather.gov MCP サーバーを追加するには、次の構成を追加します。
{
"mcpServers": {
"weather": {
"command": "emcee",
"args": [
"https://api.weather.gov/openapi.json"
]
}
}
}ファイルを保存したら、Claudeを終了して再起動してください。チャットボックスの右下に🔨57が表示されます。これをクリックすると、MCPを通じてClaudeが利用できるすべてのツールのリストが表示されます。
新しいチャットを開始して、現在地の天気について質問します。
オレゴン州ポートランドの天気はどうですか?
ClaudeはMCPを通じて利用可能なツールを確認し、お客様の質問への回答に適していると判断した場合は、そのツールの使用をリクエストします。このリクエストを確認し、承認または拒否することができます。
許可すると、Claude は MCP と通信し、その結果を使用して応答を通知します。
エージェントを構築していますか?リモートMCPサーバーを展開したいですか?emcee@loopwork.comまでお問い合わせください。
Related MCP server: OpenAPI Client Generator MCP
なぜ司会者を使うのですか?
MCPは、AIモデルをツールやデータソースに接続するための標準化された方法を提供します。まだ初期段階ですが、ブラウザ、開発者ツール、その他のシステムに接続するためのさまざまなサーバーが既に利用可能です。
emceeは、既存のMCPサーバー実装がないサービス、特に自分で構築しているサービスに接続するための便利な手段だと考えています。OpenAPI仕様のWebアプリをお持ちですか?ダッシュボードやクライアントライブラリなしで、ここまでできることに驚かれるかもしれません。
インストール
インストーラースクリプト
インストーラー スクリプトを使用して、プラットフォーム (Linux x86-64/i386/arm64 および macOS Intel/Apple Silicon) 用の emcee のビルド済みリリースをダウンロードしてインストールします。
# fish
sh (curl -fsSL https://get.emcee.sh | psub)
# bash, zsh
sh <(curl -fsSL https://get.emcee.sh)自家製ビール
Loopwork の tapからHomebrewを使用して emcee をインストールします。
brew install loopwork-ai/tap/emceeドッカー
emcee を使用した事前構築済みのDocker イメージが利用可能です。
docker run -it ghcr.io/loopwork-ai/emceeソースからビルド
go 1.24以降が必要です。
git clone https://github.com/loopwork-ai/emcee.git
cd emcee
go build -o emcee cmd/emcee/main.goビルドしたら、その場で実行 ( ./emcee ) することも、 /usr/local/binなどPATH内のどこかに移動することもできます。
使用法
Usage:
emcee [spec-path-or-url] [flags]
Flags:
--basic-auth string Basic auth value (either user:pass or base64 encoded, will be prefixed with 'Basic ')
--bearer-auth string Bearer token value (will be prefixed with 'Bearer ')
-h, --help help for emcee
--raw-auth string Raw value for Authorization header
--retries int Maximum number of retries for failed requests (default 3)
-r, --rps int Maximum requests per second (0 for no limit)
-s, --silent Disable all logging
--timeout duration HTTP request timeout (default 1m0s)
-v, --verbose Enable debug level logging to stderr
--version version for emceeemcee は、ワイヤ形式としてJSON-RPC 2.0 を使用する MCP 用の標準入出力 (stdio)トランスポートを実装します。
コマンドラインから emcee を実行すると、stdin をリッスンし、stdout に出力し、stderr にログを記録するプログラムが起動します。
認証
認証を必要とする API の場合、emcee はいくつかの認証方法をサポートしています。
認証タイプ | 使用例 | 結果のヘッダー |
無記名トークン |
|
|
基本認証 |
|
|
生の値 |
|
|
これらの認証値は直接提供することも、 1Password シークレット参照として提供することもできます。
1Password 参照を使用する場合:
op://vault/item/field形式を使用します (例--bearer-auth="op://Shared/X/credential")1Password CLI ( op )がインストールされ、
PATHで利用可能であることを確認してください。emcee を実行する前、または Claude Desktop を起動する前に 1Password にサインインしてください
# Install op
brew install 1password-cli
# Sign in 1Password CLI
op signin{
"mcpServers": {
"twitter": {
"command": "emcee",
"args": [
"--bearer-auth=op://shared/x/credential",
"https://api.twitter.com/2/openapi.json"
]
}
}
}[!重要]
emcee は、コマンド引数として指定された URL から OpenAPI 仕様をダウンロードする際に認証情報を使用しません。OpenAPI 仕様へのアクセスに認証が必要な場合は、まずお好みの HTTP クライアントを使用してローカルファイルにダウンロードし、そのローカルファイルのパスを emcee に指定してください。
OpenAPI仕様の変革
OpenAPI仕様をemceeに渡す前に、標準のUnixユーティリティを使用して変換することができます。これは以下の場合に便利です。
OpenAPI オーバーレイを使用して説明またはパラメータを変更する
Redoclyで複数の仕様を組み合わせる
たとえば、 jqを使用してweather.govのpointツールのみを含めることができます。
cat path/to/openapi.json | \
jq 'if .paths then .paths |= with_entries(select(.key == "/points/{point}")) else . end' | \
emceeJSON-RPC
JSON-RPC リクエストを送信することで、提供されている MCP サーバーと直接対話できます。
emcee は MCP ツールの機能のみを提供します。リソース、プロンプト、サンプリングなどのその他の機能はまだサポートされていません。
リストツール
{"jsonrpc": "2.0", "method": "tools/list", "params": {}, "id": 1}{
"jsonrpc":"2.0",
"result": {
"tools": [
// ...
{
"name": "tafs",
"description": "Returns Terminal Aerodrome Forecasts for the specified airport station.",
"inputSchema": {
"type": "object",
"properties": {
"stationId": {
"description": "Observation station ID",
"type": "string"
}
},
"required": ["stationId"]
}
},
// ...
]
},
"id": 1
}通話ツール
{"jsonrpc": "2.0", "method": "tools/call", "params": { "name": "taf", "arguments": { "stationId": "KPDX" }}, "id": 1}{
"jsonrpc":"2.0",
"content": [
{
"type": "text",
"text": /* Weather forecast in GeoJSON format */,
"annotations": {
"audience": ["assistant"]
}
}
]
"id": 1
}デバッグ
MCP Inspectorは、MCPサーバーのテストとデバッグを行うツールです。Claudeやemceeが期待通りに動作しない場合は、このInspectorを使って原因を突き止めることができます。
npx @modelcontextprotocol/inspector emcee https://api.weather.gov/openapi.json
# 🔍 MCP Inspector is up and running at http://localhost:5173 🚀open http://localhost:5173ライセンス
emcee は、Apache License バージョン 2.0 に基づいてライセンスされます。