{"id":"1e5688e8-1678-4850-9f5d-bce0a455aaa6","slug":"mcp-cli","kind":"skill","name":"mcp-cli","summary":"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, list available MCP servers/tools, or call MCP","owner":"github","repoUrl":"https://github.com/github/awesome-copilot/tree/HEAD/skills/mcp-cli","license":"MIT","licenseTier":"permissive","trust":"official","stars":39994,"match":null,"fewStars":false,"format":"skill","createdAt":null,"addedAt":"2026-10-14T05:15:42.538Z","logoUrl":"https://avatars.githubusercontent.com/u/9919?v=4","linkOnly":false,"collection":{"name":"awesome-copilot","repo":"github/awesome-copilot"},"skillPath":"skills/mcp-cli","categories":["developer-tools","data-analytics","memory-knowledge"],"tags":["ai","github-copilot","prompt-engineering","hacktoberfest","agents","awesome","custom-agents"],"runtime":"binary","local":true,"cloudCapable":false,"cloudCapability":"unknown","cloudReadyOnPlatform":false,"needsApiKey":false,"reviewed":false,"syncedAt":"2026-10-14T05:15:42.536Z","sample":false,"url":"https://conduits.dev/tools/mcp-cli","language":"JavaScript","transports":[],"install":{},"requirements":{"env":[],"upstreamMayCharge":false},"tools":null,"readme":"> 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, list available MCP servers/tools, or call MCP tools from command line.\n\n# MCP-CLI\n\nAccess MCP servers through the command line. MCP enables interaction with external systems like GitHub, filesystems, databases, and APIs.\n\n## Commands\n\n| Command                            | Output                          |\n| ---------------------------------- | ------------------------------- |\n| `mcp-cli`                          | List all servers and tool names |\n| `mcp-cli <server>`                 | Show tools with parameters      |\n| `mcp-cli <server>/<tool>`          | Get tool JSON schema            |\n| `mcp-cli <server>/<tool> '<json>'` | Call tool with arguments        |\n| `mcp-cli grep \"<glob>\"`            | Search tools by name            |\n\n**Add `-d` to include descriptions** (e.g., `mcp-cli filesystem -d`)\n\n## Workflow\n\n1. **Discover**: `mcp-cli` → see available servers and tools\n2. **Explore**: `mcp-cli <server>` → see tools with parameters\n3. **Inspect**: `mcp-cli <server>/<tool>` → get full JSON input schema\n4. **Execute**: `mcp-cli <server>/<tool> '<json>'` → run with arguments\n\n## Examples\n\n```bash\n# List all servers and tool names\nmcp-cli\n\n# See all tools with parameters\nmcp-cli filesystem\n\n# With descriptions (more verbose)\nmcp-cli filesystem -d\n\n# Get JSON schema for specific tool\nmcp-cli filesystem/read_file\n\n# Call the tool\nmcp-cli filesystem/read_file '{\"path\": \"./README.md\"}'\n\n# Search for tools\nmcp-cli grep \"*file*\"\n\n# JSON output for parsing\nmcp-cli filesystem/read_file '{\"path\": \"./README.md\"}' --json\n\n# Complex JSON with quotes (use heredoc or stdin)\nmcp-cli server/tool <<EOF\n{\"content\": \"Text with 'quotes' inside\"}\nEOF\n\n# Or pipe from a file/command\ncat args.json | mcp-cli server/tool\n\n# Find all TypeScript files and read the first one\nmcp-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\\\": \\\"{}\\\"}\"'\n```\n\n## Options\n\n| Flag         | Purpose                   |\n| ------------ | ------------------------- |\n| `-j, --json` | JSON output for scripting |\n| `-r, --raw`  | Raw text content          |\n| `-d`         | Include descriptions      |\n\n## Exit Codes\n\n- `0`: Success\n- `1`: Client error (bad args, missing config)\n- `2`: Server error (tool failed)\n- `3`: Network error"}