MCP命令行交互工具

一个用于通过stdio向MCP服务器发送JSON-RPC消息的交互式终端界面,支持本地和Docker服务器。

  • by jackclarke96
  • Go
  • 本地部署
  • 更新于
在 GitHub 查看 jackclarke96/mcp-cli-stdio

使用说明

🧠 MCP CLI(交互式)

用于向MCP服务器发送JSON-RPC消息的交互式终端接口 通过stdio——与本地和基于Docker的MCP服务器兼容。

✅ 特性

  • 🧠 带箭头键历史记录的JSON-RPC REPL
  • 🚀 自动启动MCP服务器的子进程
  • 🧼 使用Ctrl+C清除关机
  • 🔎 工具发现和模式缓存
  • 🐳 Docker与实时stdin/stdout管道兼容

📦 安装

确保您拥有:

  • 转到1.18+
  • Docker(如果使用Docker镜像)
  • 编译后的MCP服务器或公共Docker镜像,如

🧪 用法

🔁 从本地Node.js服务器开始

go run mcp-cli-stdio.go \
  --start-cmd "cd ../mcp-local && node dist/index.js -e .env"

🐳 从Docker开始

go run mcp-cli-stdio.go \
  --start-cmd "docker run -i --rm \
    -e MY_ENV_VAR="value" \
   docker-mcp:latest --transport stdio"

✅ 确保使用 -i 所以Docker保持stdin打开。


💬 命令

一旦启动,您将看到:

MCP CLI started. Type JSON-RPC messages / Ctrl + C to exit
>

您现在可以键入:

  • list --电话 tools/list 方法和缓存工具元数据
  • list --name-only --显示可用工具名称(后面 list)
  • describe <tool_name> -给出了有关工具模式和如何调用的详细信息,如 以及一个基本的JSON对象,用于构建您的响应
  • call <tool_name> <JSON> 使用传递的JSON调用传递的工具
  • 任何有效的JSON-RPC消息,例如:
    { "jsonrpc": "2.0", "method": "list-topics", "params": {}, "id": "2" }
    

🧹 清理

打 Ctrl + C 将自动终止子进程(Docker或Node) 然后干净地离开。