Skip to main content

mcp-cli

Interface for MCP (Model Context Protocol) servers via CLI. Use when you need to interact with external tools, APIs, or data sources through MCP servers.

来源信息

仓库
philschmid/mcp-cli
最近来源活动
2026年2月5日 18:31
检测到的 SKILL.md 语言
英语
星标
1,279
Forks
161

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
mcp-cli
description
Interface for MCP (Model Context Protocol) servers via CLI. Use when you need to interact with external tools, APIs, or data sources through MCP servers.
# MCP-CLI Access MCP servers through the command line. MCP enables interaction with external systems like GitHub, filesystems, databases, and APIs. ## Commands | Command | Output | |---------|--------| | `mcp-cli` | List all servers and tools | | `mcp-cli info <server>` | Show server tools and parameters | | `mcp-cli info <server> <tool>` | Get tool JSON schema | | `mcp-cli grep "<pattern>"` | Search tools by name | | `mcp-cli call <server> <tool>` | Call tool (reads JSON from stdin if no args) | | `mcp-cli call <server> <tool> '<json>'` | Call tool with arguments | **Both formats work:** `<server> <tool>` or `<server>/<tool>` ## Workflow 1. **Discover**: `mcp-cli` → see available servers 2. **Explore**: `mcp-cli info <server>` → see tools with parameters 3. **Inspect**: `mcp-cli info <server> <tool>` → get full JSON schema 4. **Execute**: `mcp-cli call <server> <tool> '<json>'` → run with arguments ## Examples ```bash # 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 ``` ## Advanced Chaining ```bash # 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 ``` **Note:** `call` outputs raw text content directly (no jq needed for text extraction) ## Options | Flag | Purpose | |------|---------| | `-d` | Include descriptions | | `-c <path>` | Specify config file | ## Common Errors | Wrong Command | Error | Fix | |---------------|-------|-----| | `mcp-cli server tool` | AMBIGUOUS_COMMAND | Use `call server tool` or `info server tool` | | `mcp-cli run server tool` | UNKNOWN_SUBCOMMAND | Use `call` instead of `run` | | `mcp-cli list` | UNKNOWN_SUBCOMMAND | Use `info` instead of `list` | | `mcp-cli call server` | MISSING_ARGUMENT | Add tool name | | `mcp-cli call server tool {bad}` | INVALID_JSON | Use valid JSON with quotes | ## Exit Codes - `0`: Success - `1`: Client error (bad args, missing config) - `2`: Server error (tool failed) - `3`: Network error
在 GitHub 查看