mcp-cli について
mcp-cliは、MCPサーバーとツールを検索し、ツールのパラメーターやスキーマを確認して実行するコマンドラインクライアントです。シェルでの呼び出し連結に対応し、クライアント、サーバー、ネットワークのエラーを異なる終了コードで示します。
主な機能
- 01設定済みサーバーとツールの一覧表示
- 02ツールのパラメーターとJSONスキーマの確認
- 03名前によるツール検索
- 04引数または標準入力のJSONでツールを実行
- 05シェルのワークフローで呼び出しを連結
活用シーン
- 01利用可能なMCPツールの検索
- 02実行前のツールスキーマ確認
- 03JSON入力によるツールの実行
- 04ツールの出力を次の呼び出しへ渡す
MCP 対応
設定済みのMCPサーバーに接続してツールを検索・確認し、指定された引数で実行します。
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ philschmid/ mcp-cli --skill mcp-cliインストール後、Claude Code で/mcp-cliを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
install.shREADME.mdbiome.jsonLICENSECHANGELOG.md.gitignorebun.lockmcp_servers.jsonpackage.json.github/workflows/release.ymlci.ymlscripts/release.shgenerate-system-instructions.tssrc/client.tsconfig.tsdaemon-client.tsdaemon.tserrors.tsindex.tsoutput.tsversion.tssrc/commands/grep.tscall.tsinfo.tslist.tstests/cli-errors.test.tsclient.test.tsconfig.test.tsfilter.test.tserrors.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>
ワークフロー
- 検出:
mcp-cli→ 利用可能なサーバーを確認 - 確認:
mcp-cli info <server>→ パラメーター付きのツールを確認 - 詳細確認:
mcp-cli info <server> <tool>→ 完全な JSON スキーマを取得 - 実行:
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 tool | AMBIGUOUS_COMMAND | call server tool または info server tool を使用 |
mcp-cli run server tool | UNKNOWN_SUBCOMMAND | run の代わりに call を使用 |
mcp-cli list | UNKNOWN_SUBCOMMAND | list の代わりに info を使用 |
mcp-cli call server | MISSING_ARGUMENT | ツール名を追加 |
mcp-cli call server tool {bad} | INVALID_JSON | 引用符を使った有効な JSON を使用 |
終了コード
0:成功1:クライアントエラー(不正な引数、設定の不足)2:サーバーエラー(ツールの実行失敗)3:ネットワークエラー
コメント
Markdown 対応