1. Conduid
  2. AI
  3. Cmcp
MCP server · AI

Cmcp

A command-line utility for interacting with MCP servers.

Unclaimed MIT last commit 7 months ago ai
57Fair

Scored 12 days ago · breakdown

About Cmcp

Cmcp is an MCP server published by RussellLuo in the AI category: a command-line utility for interacting with MCP servers.

The repository has 18 stars and 7 forks, with the last commit 7 months ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues before depending on it in production.

Install

From source
git clone https://github.com/RussellLuo/cmcp

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

✦

Ask AI about Cmcp

Powered by Claude · Grounded in docs

I know everything about Cmcp. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

Static checks derived from the repository 5 days ago. Heuristics on the source, not an audit.

  • ✓README presentThe repository ships documentation.
  • ✓License declaredUsable under a stated license.
  • !Tests presentNo tests found. Behaviour changes may go unnoticed between versions.
  • !Dependencies pinnedNo lockfile. Installs can pull different code over time.
  • ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
  • !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.

Releases

v0.4.0v0.4.0 · 3 Mar 2026Major changes: Add `mcp.json` configuration support (f3a1f4a) Improve error handling and documentation (b7ed22c) Update README (23b6d48, 77eb5bb)
v0.3.0v0.3.0 · 17 Aug 2025Support JSON parameters containing newlines (ca7f3ab95404ad21276c9fc85941cfcd0bbd747d, 039ddce0369455b1a3a767faf5580a1ccbb4efae) Add metadata support for STDIO and SSE (19bae960ad87fcf4ecebe9195f9a82993f19c1fb,…
v0.2.0v0.2.0 · 11 May 2025Improve command parsing for STDIO transport (a3008520d5a6d2f79f852aa12e71412ec09460b9) Add support for `resources/templates/list` (#1) Simplify parameter passing format (in the style of HTTPie) (74f7f78bf4ad4eec87a4fa422522436bc18d1c35)…
v0.1.0v0.1.0 · 23 Mar 2025Initial release.

README

cMCP

cmcp logo

cmcp is a command-line utility that helps you interact with MCP servers. It's basically curl for MCP servers.

Installation

pip install cmcp

Usage

STDIO

Interact with the STDIO server:

cmcp COMMAND METHOD

Add required parameters:

cmcp COMMAND METHOD param1=value param2:='{"arg1": "value"}'

Add required environment variables:

cmcp COMMAND METHOD ENV_VAR1:value ENV_VAR2:value param1=value param2:='{"arg1": "value"}'

HTTP (or SSE)

Interact with the HTTP (or SSE) server:

cmcp URL METHOD

Add required parameters:

cmcp URL METHOD param1=value param2:='{"arg1": "value"}'

Add required HTTP headers:

cmcp URL METHOD Header1:value Header2:value param1=value param2:='{"arg1": "value"}'

Verbose mode

Enable verbose mode to show JSON-RPC request and response:

cmcp -v COMMAND_or_URL METHOD

Quick Start

Given the following MCP Server (see here):

# server.py
from mcp.server.fastmcp import FastMCP

# Create an MCP server
mcp = FastMCP("Demo")


# Add a prompt
@mcp.prompt()
def review_code(code: str) -> str:
    return f"Please review this code:\n\n{code}"


# Add a static config resource
@mcp.resource("config://app")
def get_config() -> str:
    """Static configuration data"""
    return "App configuration here"


# Add a dynamic greeting resource
@mcp.resource("greeting://{name}")
def get_greeting(name: str) -> str:
    """Get a personalized greeting"""
    return f"Hello, {name}!"


# Add an addition tool
@mcp.tool()
def add(a: int, b: int) -> int:
    """Add two numbers"""
    return a + b

STDIO transport

List prompts:

cmcp 'mcp run server.py' prompts/list

Get a prompt:

cmcp 'mcp run server.py' prompts/get name=review_code arguments:='{"code": "def greet(): pass"}'

List resources:

cmcp 'mcp run server.py' resources/list

Read a resource:

cmcp 'mcp run server.py' resources/read uri=config://app

List resource templates:

cmcp 'mcp run server.py' resources/templates/list

List tools:

cmcp 'mcp run server.py' tools/list

Call a tool:

cmcp 'mcp run server.py' tools/call name=add arguments:='{"a": 1, "b": 2}'

HTTP transport

Run the above MCP server with HTTP transport:

mcp run server.py -t streamable-http

List prompts:

cmcp http://localhost:8000 prompts/list
# or `cmcp http://localhost:8000/mcp prompts/list`

Get a prompt:

cmcp http://localhost:8000 prompts/get name=review_code arguments:='{"code": "def greet(): pass"}'

List resources:

cmcp http://localhost:8000 resources/list

Read a resource:

cmcp http://localhost:8000 resources/read uri=config://app

List resource templates:

cmcp http://localhost:8000 resources/templates/list

List tools:

cmcp http://localhost:8000 tools/list

Call a tool:

cmcp http://localhost:8000 tools/call name=add arguments:='{"a": 1, "b": 2}'

SSE transport (Deprecated)

Run the above MCP server with SSE transport:

mcp run server.py -t sse

List prompts:

cmcp http://localhost:8000/sse prompts/list

Get a prompt:

cmcp http://localhost:8000/sse prompts/get name=review_code arguments:='{"code": "def greet(): pass"}'

List resources:

cmcp http://localhost:8000/sse resources/list

Read a resource:

cmcp http://localhost:8000/sse resources/read uri=config://app

List resource templates:

cmcp http://localhost:8000/sse resources/templates/list

List tools:

cmcp http://localhost:8000/sse tools/list

Call a tool:

cmcp http://localhost:8000/sse tools/call name=add arguments:='{"a": 1, "b": 2}'

Using mcp.json (Advanced)

For convenience, you can use a configuration file to manage your MCP servers instead of typing the full command or URL each time. By default, cmcp looks for .cmcp/mcp.json (in the current directory) or ~/.cmcp/mcp.json (in your home directory).

The configuration follows the standard MCP JSON format, which is also used by Cursor, Claude Code, FastMCP, and other MCP clients.

Example configuration file:

{
  "mcpServers": {
    "local-server": {
      "command": "python",
      "args": ["mcp-server.py"],
      "env": {
        "API_KEY": "value"
      }
    },
    "remote-server": {
      "url": "http://localhost:3000/mcp",
      "headers": {
        "API_KEY": "value"
      }
    }
  }
}

Use a configured server by prefixing its name with ::

# Use the local-server from config
cmcp :local-server tools/list

# Use the remote-server from config
cmcp :remote-server tools/call name=add arguments:='{"a": 1, "b": 2}'

# Use a custom config file
cmcp --config /path/to/config.json :local-server tools/list

Related Projects

cA2A: A command-line utility for interacting with A2A agents.

License

MIT

README fetched from the repository 5 days ago. The original is authoritative.

Questions

About Cmcp

How do I install Cmcp?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is Cmcp safe to use with an AI agent?

Its trust score is 57 out of 100 (fair). It passes 3 of the 6 static security checks run so far; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Cmcp still maintained?

The last commit was 7 months ago and 1 open issues. That's long enough that you should check whether the maintainer is responding to issues before depending on it.