| Crates.io | turbomcp-cli |
| lib.rs | turbomcp-cli |
| version | 3.0.0-beta.3 |
| created_at | 2025-08-26 17:18:20.152451+00 |
| updated_at | 2026-01-22 16:45:15.154738+00 |
| description | Command-line tools for managing and testing MCP servers |
| homepage | https://turbomcp.org |
| repository | https://github.com/Epistates/turbomcp |
| max_upload_size | |
| id | 1811555 |
| size | 213,206 |
CLI for MCP servers with complete protocol support
turbomcp-cli is a command-line interface for the Model Context Protocol, built on the turbomcp-client library. It provides complete MCP protocol coverage with rich, multi-format output and smart transport auto-detection.
turbomcp-client and turbomcp-transport# Install latest stable version
cargo install turbomcp-cli
# Install specific version
cargo install turbomcp-cli --version 2.2.2
git clone https://github.com/Epistates/turbomcp.git
cd turbomcp
cargo install --path crates/turbomcp-cli
# List tools from a server
turbomcp-cli tools list --command "./my-mcp-server"
# Call a tool with arguments
turbomcp-cli tools call calculate --arguments '{"a": 5, "b": 3}'
# Get server information
turbomcp-cli server info
# List resources
turbomcp-cli resources list --url tcp://localhost:8080
# Work with prompts
turbomcp-cli prompts list --url unix:///tmp/mcp.sock
turbomcp-cli <COMMAND>
Commands:
tools Tool operations (list, call, schema, export)
resources Resource operations (list, read, templates, subscribe)
prompts Prompt operations (list, get, schema)
complete Completion operations
server Server management (info, ping, log-level, roots)
sample Sampling operations (advanced)
connect Interactive connection wizard
status Connection status
help Print help information
Global Options:
-f, --format <FORMAT> Output format [default: human] [possible: human, json, yaml, table, compact]
-v, --verbose Enable verbose output
-c, --connection <NAME> Use saved connection from config
--no-color Disable colored output
-h, --help Print help
-V, --version Print version
All commands support these connection options:
--url <URL> - Server URL for HTTP/WebSocket or command path for STDIO (default: http://localhost:8080/mcp)--command <COMMAND> - Command to execute for STDIO transport (overrides --url)--auth <AUTH> - Bearer token or API key for authentication--json - Output results in JSON formattools list - List Available ToolsList all tools available from an MCP server.
# List tools from HTTP server
turbomcp-cli tools list --url http://localhost:8080/mcp
# List tools from WebSocket server
turbomcp-cli tools list --url ws://localhost:8080/mcp
# List tools from STDIO server
turbomcp-cli tools list --command "./target/debug/my-server"
Example Output:
Available Tools:
- calculator_add: Add two numbers together
- file_read: Read contents of a file
- search_web: Search the web for information
Total: 3 tools
tools call - Call a ToolExecute a specific tool on the MCP server.
# Call a tool with JSON parameters (HTTP)
turbomcp-cli tools call calculator_add \
--url http://localhost:8080/mcp \
--arguments '{"a": 5, "b": 3}'
# Call a tool via WebSocket
turbomcp-cli tools call file_read \
--url ws://localhost:8080/mcp \
--arguments '{"path": "/etc/hosts"}'
# Call a tool via STDIO
turbomcp-cli tools call calculator_add \
--command "./target/debug/my-server" \
--arguments '{"a": 5, "b": 3}'
Example Output:
{
"result": 8,
"success": true
}
tools schema - Export Tool SchemasExport JSON schemas for all tools from an MCP server.
# Export schemas to stdout (HTTP)
turbomcp-cli tools schema --url http://localhost:8080/mcp
# Export schemas to file (HTTP)
turbomcp-cli tools schema \
--url http://localhost:8080/mcp \
--output schemas.json
# Export schemas from STDIO server
turbomcp-cli tools schema \
--command "./target/debug/my-server" \
--output schemas.json
Example Output:
{
"tools": [
{
"name": "calculator_add",
"description": "Add two numbers together",
"inputSchema": {
"type": "object",
"properties": {
"a": {"type": "number"},
"b": {"type": "number"}
},
"required": ["a", "b"]
}
}
]
}
The CLI supports three transport methods:
turbomcp-cli tools list --url http://localhost:8080/mcp
turbomcp-cli tools list --url https://api.example.com/mcp
turbomcp-cli tools list --url ws://localhost:8080/mcp
turbomcp-cli tools list --url wss://api.example.com/mcp
# Using --command option
turbomcp-cli tools list --command "./my-server"
turbomcp-cli tools list --command "python server.py"
# Or specify path in --url (auto-detected)
turbomcp-cli tools list --url "./my-server"
Transport Auto-Detection:
http://, https:// → HTTP transportws://, wss:// → WebSocket transport--command option or executable paths → STDIO transport# List tools from HTTP server
turbomcp-cli tools list --url http://localhost:8080/mcp
# Call calculator tool via STDIO
turbomcp-cli tools call calculator_add \
--command "./target/debug/calculator-server" \
--arguments '{"a": 10, "b": 5}'
# Export all schemas to file via WebSocket
turbomcp-cli tools schema \
--url ws://localhost:8080/mcp \
--output my-server-schemas.json
# Test STDIO server with authentication
turbomcp-cli tools list \
--command "python my-server.py" \
--auth "bearer-token-here" \
--json
Status: Not yet implemented
Modern CLI best practices mandate using OS-native credential stores for storing long-lived tokens:
| Platform | Credential Store |
|---|---|
| macOS | Keychain |
| Windows | DPAPI / Credential Manager |
| Linux | libsecret / Secret Service |
Planned commands:
# Future: Secure login flow
turbomcp-cli auth login --provider github
turbomcp-cli auth login --url https://mcp.example.com
# Future: Use stored credentials automatically
turbomcp-cli tools list --url https://mcp.example.com # Uses keychain
# Future: Logout / clear credentials
turbomcp-cli auth logout --url https://mcp.example.com
Current workaround: Pass tokens via --auth flag or environment variables:
export MCP_AUTH_TOKEN="your-token"
turbomcp-cli tools list --url https://mcp.example.com --auth "$MCP_AUTH_TOKEN"
This feature will be implemented using the keyring crate for cross-platform credential storage.
Licensed under the MIT License.
Part of the TurboMCP Rust SDK for the Model Context Protocol.