mcpField
M
Mcp Cli Catalog

Mcp Cli Catalog

ローカル
github.com/abcpro1開発ツール150 週間前に更新

Mcp Cli Catalog について

Mcp Cli Catalog は、コーディングエージェントがローカルの CLI ツールを見つけられるようにする MCP サーバーです。カタログはコマンドを記述するだけで実行せず、実行にはエージェントのシェルアクセスが必要です。

主な機能

  1. 01CLI ツールを MCP 定義として公開
  2. 02JSON カタログでツールを設定
  3. 03使い方のヒントとコマンド名を提示

活用シーン

  1. 01エージェントによるローカル CLI の発見
  2. 02コマンド例によるシェル操作の案内

MCP 対応

設定済みの CLI 項目を MCP ツール定義として公開します。定義はエージェントにシェルの利用を促すもので、コマンド自体は実行しません。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"cli-catalog": {
"command": "npx",
"args": [
"-y",
"mcp-cli-catalog"
]
}
}
}
起動コマンドnpx -y mcp-cli-catalog

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmmcp-cli-catalog

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

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 ツールカタログを通じて検出可能にします。


  1. Cloudflare、「Code Mode」、2025年。
  2. Anthropic、「MCP によるコード実行」、2025年。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。