turbomcp-cli

Crates.ioturbomcp-cli
lib.rsturbomcp-cli
version1.1.0-exp.3
created_at2025-08-26 17:18:20.152451+00
updated_at2025-08-29 19:52:20.464001+00
descriptionCommand-line tools for managing and testing MCP servers
homepage
repositoryhttps://github.com/Epistates/turbomcp
max_upload_size
id1811555
size136,002
Nick Paterno (nicholasjpaterno)

documentation

README

TurboMCP CLI

Crates.io Documentation License: MIT

Command-line interface for interacting with MCP servers - list tools, call tools, and export schemas.

Overview

turbomcp-cli provides essential tools for working with MCP (Model Context Protocol) servers. Connect to any MCP server via HTTP or WebSocket to explore available tools, execute them, and export their schemas.

Features

  • 🔧 Tool Management - List and call tools on running MCP servers
  • 📋 Schema Export - Export tool schemas for documentation and validation
  • 🌐 Multi-Transport - Support for HTTP and WebSocket connections
  • 📊 JSON Output - Machine-readable output for automation

Installation

From Crates.io

# Install latest stable version
cargo install turbomcp-cli

# Install specific version
cargo install turbomcp-cli --version 1.0.1

From Source

git clone https://github.com/Epistates/turbomcp.git
cd turbomcp
cargo install --path crates/turbomcp-cli

Usage

turbomcp-cli <COMMAND>

Commands:
  tools-list     List tools from a running server
  tools-call     Call a tool on a running server  
  schema-export  Export tool schemas from a running server
  help           Print this message or the help of the given subcommand(s)

Options:
  -h, --help     Print help
  -V, --version  Print version

Connection Options

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 format

Commands

tools-list - List Available Tools

List 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 Tool

Execute a specific tool on the MCP server.

# Call a tool with JSON parameters (HTTP)
turbomcp-cli tools-call \
    --url http://localhost:8080/mcp \
    --name calculator_add \
    --arguments '{"a": 5, "b": 3}'

# Call a tool via WebSocket
turbomcp-cli tools-call \
    --url ws://localhost:8080/mcp \
    --name file_read \
    --arguments '{"path": "/etc/hosts"}'

# Call a tool via STDIO
turbomcp-cli tools-call \
    --command "./target/debug/my-server" \
    --name calculator_add \
    --arguments '{"a": 5, "b": 3}'

Example Output:

{
  "result": 8,
  "success": true
}

schema-export - Export Tool Schemas

Export JSON schemas for all tools from an MCP server.

# Export schemas to stdout (HTTP)
turbomcp-cli schema-export --url http://localhost:8080/mcp

# Export schemas to file (HTTP)
turbomcp-cli schema-export \
    --url http://localhost:8080/mcp \
    --output schemas.json

# Export schemas from STDIO server
turbomcp-cli schema-export \
    --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"]
      }
    }
  ]
}

Transport Support

The CLI supports three transport methods:

HTTP/HTTPS

turbomcp-cli tools-list --url http://localhost:8080/mcp
turbomcp-cli tools-list --url https://api.example.com/mcp

WebSocket

turbomcp-cli tools-list --url ws://localhost:8080/mcp
turbomcp-cli tools-list --url wss://api.example.com/mcp

STDIO (Standard Input/Output)

# 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:

  • URLs starting with http://, https:// → HTTP transport
  • URLs starting with ws://, wss:// → WebSocket transport
  • --command option or executable paths → STDIO transport

Examples

# List tools from HTTP server
turbomcp-cli tools-list --url http://localhost:8080/mcp

# Call calculator tool via STDIO
turbomcp-cli tools-call \
  --command "./target/debug/calculator-server" \
  --name calculator_add \
  --arguments '{"a": 10, "b": 5}'

# Export all schemas to file via WebSocket
turbomcp-cli schema-export \
  --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

Related Tools

License

Licensed under the MIT License.


Part of the TurboMCP high-performance Rust SDK for the Model Context Protocol.

Commit count: 8

cargo fmt