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 tool names |
| mcp-cli <server> | Show tools with parameters |
| mcp-cli <server>/<tool> | Get tool JSON schema |
| mcp-cli <server>/<tool> '<json>' | Call tool with arguments |
| mcp-cli grep "<glob>" | Search tools by name |
Add -d to include descriptions (e.g., mcp-cli filesystem -d)
Workflow
- Discover:
mcp-cli→ see available servers and tools - Explore:
mcp-cli <server>→ see tools with parameters - Inspect:
mcp-cli <server>/<tool>→ get full JSON input schema - Execute:
mcp-cli <server>/<tool> '<json>'→ run with arguments
Examples
# List all servers and tool names
mcp-cli
# See all tools with parameters
mcp-cli filesystem
# With descriptions (more verbose)
mcp-cli filesystem -d
# Get JSON schema for specific tool
mcp-cli filesystem/read_file
# Call the tool
mcp-cli filesystem/read_file '{"path": "./README.md"}'
# Search for tools
mcp-cli grep "*file*"
# JSON output for parsing
mcp-cli filesystem/read_file '{"path": "./README.md"}' --json
# Complex JSON with quotes (use heredoc or stdin)
mcp-cli server/tool <<EOF
{"content": "Text with 'quotes' inside"}
EOF
# Or pipe from a file/command
cat args.json | mcp-cli server/tool
# Find all TypeScript files and read the first one
mcp-cli filesystem/search_files '{"path": "src/", "pattern": "*.ts"}' --json | jq -r '.content[0].text' | head -1 | xargs -I {} sh -c 'mcp-cli filesystem/read_file "{\"path\": \"{}\"}"'
Options
| Flag | Purpose |
| ------------ | ------------------------- |
| -j, --json | JSON output for scripting |
| -r, --raw | Raw text content |
| -d | Include descriptions |
Exit Codes
0: Success1: Client error (bad args, missing config)2: Server error (tool failed)3: Network error