mcp2cli — 任意のMCP/OpenAPIをランタイムでCLI化するツール
概要
mcp2cliは、MCP(Model-Callable Protocol)サーバーやOpenAPI仕様を入力として受け取り、その場で「CLI」に変換するPythonパッケージです。ポイントは「ランタイムでの自動生成」と「ゼロコードジェン(コード生成を伴わない)」にあり、APIのエンドポイントをコマンドやサブコマンドとして即座に扱えます。これにより、対話的な操作やスクリプトでの利用、デバッグが容易になり、ツールスキーマを毎ターン送信するオーバーヘッド(トークン消費)を96〜99%削減できると謳われています。pipでインストールでき、uvxで直接実行する方法も用意されています。
リポジトリの統計情報
- スター数: 221
- フォーク数: 7
- ウォッチャー数: 221
- コミット数: 30
- ファイル数: 10
- メインの言語: Python
主な特徴
- ランタイムでOpenAPIやMCPメタデータを解析し、即座にCLIコマンドを生成(コード生成不要)。
- トークン消費の削減を狙い、ツールスキーマを毎回送る運用を不要にする設計思想。
- pipインストールまたはuvxからの直接実行に対応し、手早く試せる。
- CLI経由でAPIのパラメータやリクエストボディを扱い、デバッグや自動化が容易。
技術的なポイント
mcp2cliは「仕様(OpenAPI)やMCPのメタ情報をプログラム的に読み取り、実行時にコマンド/サブコマンドを動的に組み立てる」アプローチを採っています。具体的には、エンドポイントのパス、HTTPメソッド、期待されるパラメータやリクエストボディのスキーマを解析し、それらをCLI引数やプロンプトにマッピングする仕組みが中核にあります。ゼロコードジェンとある通り、ソースファイルやクライアントライブラリを生成せず、ランタイムの構成(オブジェクトや関数の動的生成)でコマンドを提供するため、ローカルに余計なファイルを残さずに済みます。
この設計は幾つかの利点をもたらします。まずAPI仕様が変わっても再ビルド不要で、起動時に最新の仕様をそのまま反映できます。次に、LLMや外部ツール連携において「ツールスキーマを毎回送る」運用が不要になり、プロンプト内のトークン使用を抑えてコスト削減につながります。開発者視点では、CLIで複雑なJSONボディやクエリを手早く組み立てられ、スクリプト化やCIジョブへの組み込みも容易です。
実装面では、HTTPクライアントでの通信、認証情報(トークンやAPIキー)の受け渡し、エラーハンドリング、レスポンスの整形出力(JSON整形やテキスト表示)といった基盤機能が必要になります。また、実行時に生成されるCLIは補完やヘルプ表示を備えることで使い勝手を高めることが期待されます。READMEの記述から、インストールの容易さ(pip)と直接実行のサポートがあり、手軽に導入して検証できる点も評価できます。
プロジェクトの構成
主要なファイルとディレクトリ:
- .gitignore: file
- .python-version: file
- LICENSE: file
- README.md: file
- assets: dir
…他 5 ファイル
まとめ
ランタイムでAPIを即座にCLI化し、開発・デバッグ・自動化の導線を短くする実用的なツールです。
リポジトリ情報:
- 名前: mcp2cli
- 説明: Turn any MCP server or OpenAPI spec into a CLI — at runtime, with zero codegen
- スター数: 221
- 言語: Python
- URL: https://github.com/knowsuchagency/mcp2cli
- オーナー: knowsuchagency
- アバター: https://avatars.githubusercontent.com/u/11974795?v=4
READMEの抜粋:
mcp2cli
Turn any MCP server or OpenAPI spec into a CLI — at runtime, with zero codegen.
Save 96–99% of the tokens wasted on tool schemas every turn.
Install
pip install mcp2cli
# Or run directly without installing
uvx mcp2cli --help