Skip to main content
Glama

司会フロー図

司会者

emceeはOpenAPI仕様に準拠したあらゆるWebアプリケーションにModel Context Protocol(MCP)サーバーを提供するツールです。emceeを使用すると、 Claude Desktopその他のアプリをChatGPTプラグインと同様に外部ツールやデータサービスに接続できます。

クイックスタート

macOS を使用していてHomebrewがインストールされている場合は、すぐに起動して実行できます。

# Install emcee
brew install loopwork-ai/tap/emcee

Claude Desktopがインストールされていることを確認してください。

Claude Desktop を emcee で使用するように構成するには:

  1. Claude デスクトップ設定を開く (⌘,)

  2. サイドバーの「開発者」セクションを選択します

  3. 「設定の編集」をクリックして設定ファイルを開きます

クロードデスクトップ設定編集設定ボタン

設定ファイルはApplication Supportディレクトリに保存されています。以下のコマンドでVSCodeから直接開くこともできます。

code ~/Library/Application\ Support/Claude/claude_desktop_config.json

weather.gov MCP サーバーを追加するには、次の構成を追加します。

{
  "mcpServers": {
    "weather": {
      "command": "emcee",
      "args": [
        "https://api.weather.gov/openapi.json"
      ]
    }
  }
}

ファイルを保存したら、Claudeを終了して再起動してください。チャットボックスの右下に🔨57が表示されます。これをクリックすると、MCPを通じてClaudeが利用できるすべてのツールのリストが表示されます。

新しいチャットを開始して、現在地の天気について質問します。

オレゴン州ポートランドの天気はどうですか?

ClaudeはMCPを通じて利用可能なツールを確認し、お客様の質問への回答に適していると判断した場合は、そのツールの使用をリクエストします。このリクエストを確認し、承認または拒否することができます。

許可すると、Claude は MCP と通信し、その結果を使用して応答を通知します。

MCPツールの使用に関するクロードの応答


TIP

エージェントを構築していますか?リモート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 emcee

emcee は、ワイヤ形式としてJSON-RPC 2.0 を使用する MCP 用の標準入出力 (stdio)トランスポートを実装します。

コマンドラインから emcee を実行すると、stdin をリッスンし、stdout に出力し、stderr にログを記録するプログラムが起動します。

認証

認証を必要とする API の場合、emcee はいくつかの認証方法をサポートしています。

認証タイプ

使用例

結果のヘッダー

無記名トークン

--bearer-auth="abc123"

Authorization: Bearer abc123

基本認証

--basic-auth="user:pass"

Authorization: Basic dXNlcjpwYXNz

生の値

--raw-auth="Custom xyz789"

Authorization: Custom xyz789

これらの認証値は直接提供することも、 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ユーティリティを使用して変換することができます。これは以下の場合に便利です。

  • jqまたはyqを使用してツールとして公開する特定のエンドポイントを選択する

  • OpenAPI オーバーレイを使用して説明またはパラメータを変更する

  • Redoclyで複数の仕様を組み合わせる

たとえば、 jqを使用してweather.govpointツールのみを含めることができます。

cat path/to/openapi.json | \
  jq 'if .paths then .paths |= with_entries(select(.key == "/points/{point}")) else . end' | \
  emcee

JSON-RPC

JSON-RPC リクエストを送信することで、提供されている MCP サーバーと直接対話できます。

NOTE

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 に基づいてライセンスされます。

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mattt/emcee'

If you have feedback or need assistance with the MCP directory API, please join our Discord server