mcpField
M
mcp-cli

mcp-cli

github.com/philschmidエージェントワークフロー1.3k412 回インストール38 週間前に更新
リポジトリ

mcp-cli について

mcp-cliは、MCPサーバーとツールを検索し、ツールのパラメーターやスキーマを確認して実行するコマンドラインクライアントです。シェルでの呼び出し連結に対応し、クライアント、サーバー、ネットワークのエラーを異なる終了コードで示します。

主な機能

  1. 01設定済みサーバーとツールの一覧表示
  2. 02ツールのパラメーターとJSONスキーマの確認
  3. 03名前によるツール検索
  4. 04引数または標準入力のJSONでツールを実行
  5. 05シェルのワークフローで呼び出しを連結

活用シーン

  1. 01利用可能なMCPツールの検索
  2. 02実行前のツールスキーマ確認
  3. 03JSON入力によるツールの実行
  4. 04ツールの出力を次の呼び出しへ渡す

MCP 対応

設定済みのMCPサーバーに接続してツールを検索・確認し、指定された引数で実行します。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/philschmid/mcp-cli --skill mcp-cli

インストール後、Claude Code で/mcp-cliを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

install.sh
README.md
biome.json
LICENSE
CHANGELOG.md
.gitignore
bun.lock
mcp_servers.json
package.json
.github/workflows/
release.yml
ci.yml
scripts/
release.sh
generate-system-instructions.ts
src/
client.ts
config.ts
daemon-client.ts
daemon.ts
errors.ts
index.ts
output.ts
version.ts
src/commands/
grep.ts
call.ts
info.ts
list.ts
tests/
cli-errors.test.ts
client.test.ts
config.test.ts
filter.test.ts
errors.test.ts

詳細

MCP-CLI

コマンドラインから MCP サーバーにアクセスします。MCP を使うと、GitHub、ファイルシステム、データベース、API などの外部システムとやり取りできます。

コマンド

コマンド出力
mcp-cliすべてのサーバーとツールを一覧表示
mcp-cli info <server>サーバーのツールとパラメーターを表示
mcp-cli info <server> <tool>ツールの JSON スキーマを取得
mcp-cli grep "<pattern>"名前でツールを検索
mcp-cli call <server> <tool>ツールを呼び出す(引数がない場合は標準入力から JSON を読み込みます)
mcp-cli call <server> <tool> '<json>'引数を指定してツールを呼び出す

どちらの形式も使用できます: <server> <tool> または <server>/<tool>

ワークフロー

  1. 検出:mcp-cli → 利用可能なサーバーを確認
  2. 確認:mcp-cli info <server> → パラメーター付きのツールを確認
  3. 詳細確認:mcp-cli info <server> <tool> → 完全な JSON スキーマを取得
  4. 実行:mcp-cli call <server> <tool> '<json>' → 引数を指定して実行

例

# List all servers
mcp-cli

# With descriptions  
mcp-cli -d

# See server tools
mcp-cli info filesystem

# Get tool schema (both formats work)
mcp-cli info filesystem read_file
mcp-cli info filesystem/read_file

# Call tool
mcp-cli call filesystem read_file '{"path": "./README.md"}'

# Pipe from stdin (no '-' needed!)
cat args.json | mcp-cli call filesystem read_file

# Search for tools
mcp-cli grep "*file*"

# Output is raw text (pipe-friendly)
mcp-cli call filesystem read_file '{"path": "./file"}' | head -10

高度なチェーン処理

# Chain: search files → read first match
mcp-cli call filesystem search_files '{"path": ".", "pattern": "*.md"}' \
  | head -1 \
  | xargs -I {} mcp-cli call filesystem read_file '{"path": "{}"}'

# Loop: process multiple files
mcp-cli call filesystem list_directory '{"path": "./src"}' \
  | while read f; do mcp-cli call filesystem read_file "{\"path\": \"$f\"}"; done

# Conditional: check before reading
mcp-cli call filesystem list_directory '{"path": "."}' \
  | grep -q "README" \
  && mcp-cli call filesystem read_file '{"path": "./README.md"}'

# Multi-server aggregation
{
  mcp-cli call github search_repositories '{"query": "mcp", "per_page": 3}'
  mcp-cli call filesystem list_directory '{"path": "."}'
}

# Save to file
mcp-cli call github get_file_contents '{"owner": "x", "repo": "y", "path": "z"}' > output.txt

注: call はテキストコンテンツをそのまま出力します(テキストの抽出に jq は不要です)。

オプション

フラグ用途
-d説明を含める
-c <path>設定ファイルを指定

よくあるエラー

誤ったコマンドエラー修正方法
mcp-cli server toolAMBIGUOUS_COMMANDcall server tool または info server tool を使用
mcp-cli run server toolUNKNOWN_SUBCOMMANDrun の代わりに call を使用
mcp-cli listUNKNOWN_SUBCOMMANDlist の代わりに info を使用
mcp-cli call serverMISSING_ARGUMENTツール名を追加
mcp-cli call server tool {bad}INVALID_JSON引用符を使った有効な JSON を使用

終了コード

  • 0:成功
  • 1:クライアントエラー(不正な引数、設定の不足)
  • 2:サーバーエラー(ツールの実行失敗)
  • 3:ネットワークエラー

コメント