
cmcp 是一个命令行工具,帮助您与 MCP 服务器进行交互。它基本上是针对 MCP 服务器的 curl 工具。
pip install cmcp
与 STDIO 服务器进行交互:
cmcp COMMAND 方法
添加所需参数:
cmcp COMMAND 方法 参数1=值 参数2:='{"参数1": "值"}'
添加所需环境变量:
cmcp COMMAND 方法 ENV_VAR1:值 ENV_VAR2:值 参数1=值 参数2:='{"参数1": "值"}'
与可流式传输的 HTTP(或 SSE)服务器进行交互:
cmcp URL 方法
添加所需参数:
cmcp URL 方法 参数1=值 参数2:='{"参数1": "值"}'
添加所需 HTTP 头:
cmcp URL 方法 Header1:值 Header2:值 参数1=值 参数2:='{"参数1": "值"}'
启用详细模式以显示 JSON-RPC 请求和响应:
cmcp -v COMMAND_or_URL 方法
给定以下 MCP 服务器(参见 这里):
# server.py
from mcp.server.fastmcp import FastMCP
# 创建一个 MCP 服务器
mcp = FastMCP("Demo")
# 添加一个提示
@mcp.prompt()
def review_code(code: str) -> str:
return f"请审阅此代码:\n\n{code}"
# 添加一个静态配置资源
@mcp.resource("config://app")
def get_config() -> str:
"""静态配置数据"""
return "应用程序配置信息"
# 添加一个动态问候语资源
@mcp.resource("greeting://{name}")
def get_greeting(name: str) -> str:
"""获取个性化问候语"""
return f"你好,{name}!"
# 添加一个加法工具
@mcp.tool()
def add(a: int, b: int) -> int:
"""两个数字相加"""
return a + b
列出提示:
cmcp 'mcp run server.py' 提示/列表
获取提示:
cmcp 'mcp run server.py' 提示/获取 名称=review_code 参数:='{"code": "def greet(): pass"}'
列出资源:
cmcp 'mcp run server.py' 资源/列表
读取资源:
cmcp 'mcp run server.py' 资源/读取 uri=config://app
列出资源模板:
cmcp 'mcp run server.py' 资源/模板/列表
列出工具:
cmcp 'mcp run server.py' 工具/列表
调用工具:
cmcp 'mcp run server.py' 工具/调用 名称=add 参数:='{"a": 1, "b": 2}'
使用可流式传输的 HTTP 传输运行上述 MCP 服务器:
mcp run server.py -t streamable-http
列出提示:
cmcp http://localhost:8000 提示/列表
# 或者 `cmcp http://localhost:8000/mcp 提示/列表`
获取提示:
cmcp http://localhost:8000 提示/获取 名称=review_code 参数:='{"code": "def greet(): pass"}'
列出资源:
cmcp http://localhost:8000 资源/列表
读取资源:
cmcp http://localhost:8000 资源/读取 uri=config://app
列出资源模板:
cmcp http://localhost:8000 资源/模板/列表
列出工具:
cmcp http://localhost:8000 工具/列表
调用工具:
cmcp http://localhost:8000 工具/调用 名称=add 参数:='{"a": 1, "b": 2}'
使用 SSE 传输运行上述 MCP 服务器:
mcp run server.py -t sse
列出提示:
cmcp http://localhost:8000/sse 提示/列表
获取提示:
cmcp http://localhost:8000/sse 提示/获取 名称=review_code 参数:='{"code": "def greet(): pass"}'
列出资源:
cmcp http://localhost:8000/sse 资源/列表
读取资源:
cmcp http://localhost:8000/sse 资源/读取 uri=config://app
列出资源模板:
cmcp http://localhost:8000/sse 资源/模板/列表
列出工具:
cmcp http://localhost:8000/sse 工具/列表
调用工具:
cmcp http://localhost:8000/sse 工具/调用 名称=add 参数:='{"a": 1, "b": 2}'
cA2A:一个用于与 A2A 代理进行交互的命令行工具。