BeefChicken MCP

by watanabebashi

Not rated
GitHub

About

Turn any OpenAPI 3.0 spec into an MCP server with zero code — deploy to Cloudflare Workers, Node.js, Docker, or run locally via npx, with a built-in OAuth 2.1 server for MCP clients that require custom connector authentication.

Details

Author
watanabebashi
Categories
Developer Tools, API, Infrastructure, Other

Setup

Install BeefChicken MCP in your MCP client (Claude Desktop, Cursor, Windsurf, and others).

Repository: https://github.com/watanabebashi/BeefChicken-MCP

Follow the installation instructions in the repository README, then restart your MCP client.

openapi.yaml を1枚置くだけ。コード記述ゼロでどんなWeb APIも即座にMCPサーバー化

BeefChicken MCPは、任意のopenapi.yamlを配置するだけで、対象の Web API を Claude や Cursor などのMCPクライアントから直接呼び出せるようにする汎用 MCP サーバー(プロキシ)です。

特定のAPIに依存する実装コードは一切不要。APIキーを直接指定できないクライアント向けに簡易 OAuth 2.1 サーバーまで同梱しているため、Claude.ai (Web版)にもそのまま接続できます。

graph LR subgraph Client [AIクライアント] Claude[🤖 Claude.ai / Cursor 等] end subgraph Proxy [BeefChicken MCP] MCP[⚡ MCPサーバー<br/>Workers / Node.js / Docker] OAuth[🔐 内蔵 OAuth 2.1] end subgraph Target [接続先API] Spec[📄 docs/openapi.yaml] API[🌐 対象Web API<br/>Stripe / GitHub / 社内API] end Spec -->|ビルド時/起動時に静的JSON化| MCP Claude -->|MCPプロトコル / OAuth| MCP MCP -->|ネイティブfetch| API

- MCPサーバーを作るために、TypeScriptやPythonでツール定義やリクエストハンドラをガリガリ書く必要がある。
- APIの仕様変更のたびにコードを修正・テストして再デプロイするのが大変。
- Claude.ai (Web版) で自作ツールを使いたいが、OAuth 2.1 認証サーバー構築のハードルが高い。

- 🧩コード記述 0 行:docs/openapi.yamlを繋ぎたいAPIの仕様書に差し替えるだけ!
- 🔐Claude.ai (Web版) 即対応: 簡易 OAuth 2.1 サーバー内蔵で、Web版Claudeのカスタムコネクタも一発接続。
- ⚡️サーバー維持費 0 円:Cloudflare Workersに数秒でデプロイ(Docker / Node.js にも対応)。無料枠内ならタダでMCPサーバーがあなたのものに。
- 📥デプロイすら不要な最短経路: Claude Desktop 等のローカルクライアントなら、cloneもビルドも不要。npmからnpx beefchicken-mcpで即起動。
- 📦超軽量&ゼロパースオーバーヘッド: OpenAPI 仕様書はビルド時(Workers)・起動時(Docker)・デプロイ前のnpm run generate(Node.js)のいずれかで静的 JSON へ変換済み。リクエスト処理中の YAML パースは一切不要。

- 🧩設定ファイルの差し替えだけで完結: コードを1行も書かずに任意の Web API を MCP ツール化。
- 🎯専用プロキシに徹した設計: 複雑なハンドラ記述を排除し、仕様書通りの純粋なプロキシとして動作。
- 📦静的JSON変換: 実行時の YAML パーサーや$ref解決ロジックを非搭載にし、Worker バンドルサイズを最小化。
- 🔌ネイティブfetch中継: 余計な HTTP クライアントライブラリを挟まずレスポンスをダイレクト中継。
- 🛡️Stateless & Robust: SSE 長時間保持に依存しないresponseMode: 'json'構成。タイムアウト制限に強い堅牢設計。
- 📦4通りの配布形態: Cloudflare Workers / Node.js / Docker イメージ(GHCR)/ npm CLI(npx beefchicken-mcp)。用途に応じて選択可能。

⚠️ 本番公開前の注意点: 本サーバー自体にはレート制限がありません。公開時は Cloudflare のRate Limiting Rulesやリバースプロキシ等で制御してください。また同梱の OAuth 2.1 サーバーは簡易実装です。詳細は認証ドキュメントを確認してください。

docs/openapi.yamlを繋ぎたい API の OpenAPI 3.0 仕様書に差し替えます。

💡 ヒント: Stripe や GitHub などの標準 OpenAPI は公式やAPIs.guru等から入手できます。

npm install npm run generate # docs/openapi.yaml を解析し、src/generated/tools.json を自動生成

ローカル MCP クライアント(Claude Desktop 等)の場合 — 最短:

npx beefchicken-mcp --openapi /絶対パス/to/openapi.yaml

npm パッケージとして配布しているため、cloneもデプロイも不要です(この経路では手順1のnpm install/npm run generateも不要で、指定した仕様書を起動のたびにオンメモリで解析します)。クライアント設定への具体的な登録方法は手順4を参照してください。

成功するとhttps://beefchicken-mcp.<あなたのサブドメイン>.workers.dev/mcpが発行されます(D1設定等の詳細はデプロイ手順参照)。

API_BASE_URL=https://api.example.com npm run node:dev
docker run -p 3000:3000 \ -e HOST=0.0.0.0 \ -e ALLOWED_HOSTS=127.0.0.1,localhost \ -e API_BASE_URL=https://api.example.com \ -v $(pwd)/docs/openapi.yaml:/app/docs/openapi.yaml:ro \ ghcr.io/watanabebashi/beefchicken-mcp

イメージはGHCRから配布されており、ビルドは不要です。自分のopenapi.yamlをマウントすると、コンテナ起動時にそれを解析してtools.jsonを生成します(マウントしない場合は同梱のサンプル仕様書が使われます)。タグはlatest(最新リリース)・vX.Y.Z(特定バージョン固定)・edge(main ブランチの最新ビルド)から選べます。ローカルの変更を試したい場合は、従来どおりdocker build -t beefchicken-mcp .でビルドできます。

発行された URL に対しAuthorization: Bearer <対象APIのAPIキー>ヘッダーを付けて MCP クライアントに設定します。

4. ローカル MCP クライアント(Claude Desktop 等)から直接使う場合

Claude Desktop / Claude Code のように MCP サーバーをサブプロセスとして起動するクライアントには、デプロイ不要でnpx経由で直接接続できます。設定ファイル(例:claude_desktop_config.json)に以下を追加してください。

{ "mcpServers": { "my-api": { "command": "npx", "args": ["beefchicken-mcp", "--openapi", "/絶対パス/to/your-api-openapi.yaml"], "env": { "API_KEY": "<対象APIのAPIキー>", "API_BASE_URL": "https://api.example.com" } } } }

- --openapiに対象APIの OpenAPI 仕様書への絶対パスを指定すると、起動のたびにオンメモリでツール定義を生成します(事前のnpm run generateは不要)。フラグを省いた位置引数(["beefchicken-mcp", "/絶対パス/to/your-api-openapi.yaml"])でも同じ動作です。パスを一切指定しなかった場合は、クローン済みリポジトリ内で事前に生成済みのsrc/generated/tools.jsonにフォールバックします(無ければ起動時にエラーで停止します)。cwd 相対のデフォルト仕様書は意図的に持ちません。MCPクライアントがサブプロセスを起動する際の cwd は予測できないため、必ず絶対パスで指定してください。
- API_KEYは必須です。stdio モードは Web版向けの簡易OAuthサーバーを経由せず、API_KEYの値をそのまま対象APIへのAuthorization: Bearerとして使います。
- リポジトリを clone した状態でクライアントに登録したい場合は、commandnpxargs["tsx", "src/stdio.ts", "--openapi", "./docs/openapi.yaml"]にし、cwd(対応しているクライアントの場合)をリポジトリのルートに設定しても同じエントリーポイント(src/stdio.ts)が起動します(npm run stdionpmのバナー出力が標準出力に混ざり stdio の JSON-RPC 通信を壊すため、クライアント設定には使わないでください。手元のターミナルで単体動作を確認する用途に留めてください)。

This is a web browser that enables your coding agent, such as Claude Code, to visit websites on your behalf and assist you in identifying bugs or creating UI test cases.

A server that dynamically creates MCP endpoints from any OpenAPI specification URL.

A template for creating a remote, authentication-free MCP server deployable on Cloudflare Workers.

An example of a remote MCP server deployable on Cloudflare Workers without authentication.

An example of a remote MCP server without authentication, deployable on Cloudflare Workers or runnable locally via npm.

An authentication-free, remote MCP server designed for deployment on Cloudflare Workers.

An authentication-free remote MCP server designed for deployment on Cloudflare Workers.

A template for deploying a remote, auth-less MCP server on Cloudflare Workers.

A remote MCP server deployable on Cloudflare Workers that does not require authentication.

Authless Remote MCP Server on Cloudflare

An example of a remote MCP server deployable on Cloudflare Workers without authentication.

A template for deploying a remote MCP server on Cloudflare Workers without authentication.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.