使用说明
MCP 开发工具(或 MCP 开发者工具)
一个强大的模型上下文协议(MCP)开发工具包,提供了用于开发、测试和调试MCP服务器的命令行工具。
🚀 安装
你可以使用MCP DevTools的方式如下:
使用 npx 运行
# Run server
npx -p @mcp-now/mcp-devtools mcp-server
# or
npx -p https://github.com/mcpnow-io/mcp-devtools mcp-server
# Run client
npx -p @mcp-now/mcp-devtools mcp-client
在MCP主机(如Claude Desktop和Cursor)中的配置:
{
"mcpServers": {
"mcp-dev-server": {
"command": "npx",
"args": [
"-y",
"-p",
"@mcp-now/mcp-devtools",
"mcp-server",
"-t",
"stdio"
]
}
}
}
全球安装
npm install -g @mcp-now/mcp-devtools
# Then use directly: mcp-server and mcp-client
本地安装(建议用于项目)
npm install @mcp-now/mcp-devtools
# Then use with npx: npx mcp-server and npx mcp-client
📖 概述
MCP DevTools 提供了两个主要的命令行工具:
- **
mcp-server**用于托管和运行MCP服务的MCP服务器 - **
mcp-client**用于测试和与MCP服务器交互的MCP客户端
这些工具支持多种传输协议(HTTP、SSE、stdio),并提供交互模式,以便于开发和调试。
🛠️ 命令行工具
MCP 服务器(mcp-server)
用于启动并运行支持多种传输协议的MCP服务器。
内置提示:
- 打印指令:打印助手的指令
- print-tools:以JSON格式打印可用工具。
内置工具:
- 回声:将输入信息原样返回
- sendListChanged: 发送工具/资源/提示列表变更通知
- listRoots: 列出根目录
- createMessage: 示例大型语言模型(LLM)
- elicitInput:从用户获取输入
- sendListChanged: 发送工具/资源/提示列表变更通知
- `longTimeRun`:等待指定的秒数后再返回(用于测试超时)
- longResponseData:返回指定字节长度的响应(用于测试不同响应大小)
- 克隆助手:将系统提示和工具泄露给客户端
基本用法
mcp-server -t <transport> [options]
选项
| 选项 | 描述 | 默认值 |
|---|---|---|
-t, --transport <type> |
传输类型(http/sse/stdio) | sse |
-p, --port <port> |
HTTP服务器端口(HTTP/SSE传输) | 8010 |
-n, --name <name> |
服务器名称 | mcp-test-server |
-v, --verbose |
启用详细日志记录 | false |
--ping-interval <ms> |
以毫秒为单位的ping间隔 | 30000 |
使用示例
# Start HTTP server
mcp-server -t http
# Start SSE server with custom port and verbose logging
mcp-server -t sse -p 8080 -v
# Start stdio server
mcp-server -t stdio -v
MCP 客户端(mcp-client)
用于连接并测试MCP服务器,支持多种操作和交互模式。
基本用法
mcp-client -t <transport> [options] [actions]
连接选项
| 选项 | 描述 | 默认值 |
|---|---|---|
-t, --transport <type> |
传输类型 (http/sse/stdio) | sse |
-u, --url <url> |
HTTP/SSE 传输的 URL | 根据传输类型自动设置 |
-c, --command <command> |
标准I/O传输的完整命令行 | - |
-e, --env <env> |
标准I/O传输的环境变量(JSON字符串) | - |
--pipe-stderr |
从标准I/O子进程中重定向标准错误输出 | false |
-H, --headers <headers> |
用于SSE传输的请求头(JSON字符串) | - |
-n, --name <name> |
客户名称 | mcp-dev-client |
-i, --interactive |
在交互模式下运行 | false |
-v, --verbose |
启用详细日志记录 | false |
--ping-interval <ms> |
毫秒级别的ping间隔 | 30000 |
操作选项
| 选项 | 描述 |
|---|---|
--list-tools |
列出可用工具 |
--list-resources |
列出可用资源 |
--list-prompts |
列出可用提示 |
--call-tool <name> |
调用指定工具 |
--tool-args <args> |
工具调用参数(JSON字符串) |
--read-resource <uri> |
读取指定资源 |
--get-prompt <name> |
获取指定提示 |
--prompt-args <args> |
提示参数(JSON 字符串) |
使用示例
# Connect to HTTP server and enter interactive mode
mcp-client -t http -u http://localhost:8010/mcp --interactive
# Connect to SSE server
mcp-client -t sse -u http://localhost:8010/sse --interactive
# Connect to stdio server
mcp-client -t stdio -c "npx -y @modelcontextprotocol/server-everything" --interactive
# List server tools
mcp-client -t http --list-tools
# Call a tool
mcp-client -t http --call-tool echo --tool-args '{"message": "hello world"}'
# Read a resource
mcp-client -t http --read-resource "resource://fixed"
# Get a prompt
mcp-client -t http --get-prompt greeting --prompt-args '{"name": "Alice", "language": "en"}'
📋 交互模式
这两种工具都支持交互模式,提供实时的命令行界面:
服务器交互命令
help- 显示帮助信息,获取更多信息
客户端交互命令
help- 显示帮助信息
🔄 传输协议
HTTP传输
适用于基于HTTP的RESTful API通信:
# Server
mcp-server -t http -p 8010
# Client
mcp-client -t http -u http://localhost:8010/mcp
SSE(服务器发送事件)传输
适用于实时数据流处理:
# Server
mcp-server -t sse -p 8010
# Client
mcp-client -t sse -u http://localhost:8010/sse
stdio 传输
适用于进程间通信:
# Server
mcp-server -t stdio
# Client connecting to external MCP server
mcp-client -t stdio -c "npx -y @modelcontextprotocol/server-everything"
🛠️ 开发与测试
发布
当你准备在npm上发布新版本时,请按照以下步骤操作:
-
更新版本并创建Git标签
提升包版本(选择
patch,minor,或者major(如适用):npm version <patch|minor|major> # or with pnpm # pnpm version <patch|minor|major>该命令将自动创建一个 git 提交和一个相应的标签,例如:。
v1.2.3.推送提交和标签:
git push origin main --follow-tags -
** 将标签推送到远程仓库 **
`git push origin` 翻译成中文是:“将本地提交推送到远程仓库(origin)”
调试技巧
- 使用
-v或者--verbose标志用于查看详细协议消息 - 使用交互模式进行实时测试和调试
- 检查服务器配置文件的语法和逻辑
- 测试与不同传输协议的兼容性
📄 许可证
版权所有 (c) 2025 mpcnow.io。保留所有权利。
根据MIT许可协议授权。