Get the FREE Ultimate OpenClaw Setup Guide →

mcp-client-cli

Command-line interface for any Model Context Protocol (MCP) server.

Installation
Run this command in your terminal to add the MCP server to Claude Code.
Run in terminal:
Command
claude mcp add --transport stdio thedotmack-mcp-client-cli uvx chroma-mcp --data-dir ~/.chroma

How to use

mcp-cli provides a universal command-line interface to any MCP server. It automatically discovers the tools exposed by the server and dynamically generates CLI commands and options from the server's tool schemas, so you can run tasks without manually wiring JSON-RPC calls or parsing tool definitions. You can point the CLI at a server inline (via --server) or use a named server defined in your config file, then list tools, inspect help for individual tools, and execute operations with arguments that map to the server's input schema. This makes it ideal for scripting, automation, CI/CD, testing MCP servers, and ad-hoc data operations.

You can run tools directly against an inline server like uvx chroma-mcp by using --server "uvx chroma-mcp" and then call a tool name such as chroma_list_collections or chroma_query_documents. If you prefer repeatable configurations, you can define named servers in your config file (for example chroma and github in the sample config) and then reference them with --use chroma or --use github. The CLI will generate helpful --help output for each tool, showing required and optional arguments, and will format results for easy piping with tools like jq.

How to install

Prerequisites:

  • Node.js (recommended LTS) and npm installed on your system
  • Basic familiarity with the command line

Install mcp-cli globally:

npm install -g mcp-cli

(Optional) Verify installation:

mcp-cli --version

Configure a server (example for a local Chroma MCP) by creating a config file at ~/.mcp-cli.json or ./config, with an entry similar to:

{
  "servers": {
    "chroma": {
      "command": "uvx",
      "args": ["chroma-mcp", "--data-dir", "~/.chroma"]
    },
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_TOKEN": "your-token"
      }
    }
  },
  "defaultServer": "chroma"
}

Then you can list tools for a server inline or use a named server:

# Inline server
mcp-cli --server "uvx chroma-mcp" --list-tools

# Named server from config
mcp-cli --use chroma --list-tools

Additional notes

Notes and tips:

  • mcp-cli discovers tools by querying the server's tools/list endpoint, so you do not need to predefine tool schemas locally.
  • You can store multiple servers in a single config file and switch between them with --use, or run inline with --server for ad-hoc usage.
  • Output is formatted for readability and easy piping; JSON outputs are also suitable for further processing with jq.
  • If your MCP server requires authentication or environment variables, supply them via the env block in the config (or export them in your shell before running the CLI).
  • Supported MCP servers include Chroma, GitHub, and other custom implementations; the CLI works with any server implementing the MCP protocol.

Related MCP Servers

Sponsor this space

Reach thousands of developers