mcp-client-cli
Command-line interface for any Model Context Protocol (MCP) server.
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
iterm
A Model Context Protocol server that executes commands in the current iTerm session - useful for REPL and CLI assistance
mcp
Octopus Deploy Official MCP Server
furi
CLI & API for MCP management
editor
MCP Server for Phaser Editor
DoorDash
MCP server from JordanDalton/DoorDash-MCP-Server
mcp
MCP сервер для автоматического создания и развертывания приложений в Timeweb Cloud