Mcp Cli Catalog について
Mcp Cli Catalog は、コーディングエージェントがローカルの CLI ツールを見つけられるようにする MCP サーバーです。カタログはコマンドを記述するだけで実行せず、実行にはエージェントのシェルアクセスが必要です。
主な機能
- 01CLI ツールを MCP 定義として公開
- 02JSON カタログでツールを設定
- 03使い方のヒントとコマンド名を提示
活用シーン
- 01エージェントによるローカル CLI の発見
- 02コマンド例によるシェル操作の案内
MCP 対応
設定済みの CLI 項目を MCP ツール定義として公開します。定義はエージェントにシェルの利用を促すもので、コマンド自体は実行しません。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
mcp-cli-catalog
お使いのマシンにある CLI ツールを公開する MCP サーバーです。コーディングエージェントはすでにシェルにアクセスでき、パイプやフィルターを使った複雑なコマンドの生成を得意としています。このサーバーは、利用可能なツールをエージェントに知らせ、MCP ツールをより効率的に使えるようにします。
理由
- LLM コーディングエージェントは、パイプを使ってシェルコマンドを効果的に連結し、複雑なデータをフィルタリングして整形できます。
- CLI ツールを MCP ツールとして宣言すると、LLM がそれらを検出できるようになります。
仕組み
- このサーバーは、お使いの CLI ツールを MCP ツール定義として公開し、利用可能なツールを LLM に知らせます。
- カタログで定義されている MCP ツールは、LLM にシェルを使うよう指示するだけで、ツール自体を実行することはありません。
- コマンドを実際に実行するには、エージェントがシェルにアクセスできる必要があります。
インストール
MCP 設定にサーバーを追加します(例:Claude Code の場合)。
{
"mcpServers": {
"cli-catalog": {
"command": "npx",
"args": ["mcp-cli-catalog"]
}
}
}
または、カスタムカタログのパスを指定します。
{
"mcpServers": {
"cli-catalog": {
"command": "npx",
"args": ["mcp-cli-catalog", "--config", "./tools.json"]
}
}
}
ツールの設定
検出可能にしたい CLI ツールを記載した JSON カタログファイル(デフォルト:~/.mcp-cli-catalog.json)を追加します。
{
// JSON Comments are allowed.
"tools": [
{
"name": "knowledge-base-search",
"description": "Search full text across the knowledge base",
"usage": "knowledge-base-search 'pattern' | head"
},
{
"name": "knowledge-base-get",
"description": "Get a knowledge base file",
"usage": "knowledge-base-get path/to/file.md | sed -n '100,200p'\nknowledge-base-get path/to/file.md | rg 'TODO'"
}
]
}
nameとdescriptionは必須です。usage(任意)は、応答内のヒントとして表示されます。command(任意)は、実行する正確な文字列です。省略すると、ツールのnameが使用されます。--config <path>またはMCP_CLI_CATALOG_FILE=<path>を指定すると、別のカタログを参照できます。
テスト
MCP Inspector を使ってサーバーの設定をテストします。
npx @modelcontextprotocol/inspector npx mcp-cli-catalog
または、カスタムカタログを使います。
npx @modelcontextprotocol/inspector npx mcp-cli-catalog --config ./tools.json
開発
npm run dev:src/index.jsから直接実行しますnpm run build:dist/index.jsにコンパイルし、権限を修正しますnpm start:ビルド済みのサーバーをdist/index.jsから実行します
別のアプローチ
Cloudflare の「Code Mode」1 と Anthropic の MCP によるコード実行に関する記事2では、MCP のツールに関する課題を解決する別の方法が検討されています。このアプローチでは、SDK を通じて LLM に MCP ツールを提供し、LLM がそれらのツールを呼び出して処理するコードを記述します。このプロジェクトでは、よりシンプルな方法を採用しています。CLI ツールを構築し、MCP ツールカタログを通じて検出可能にします。
- Cloudflare、「Code Mode」、2025年。
- Anthropic、「MCP によるコード実行」、2025年。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。