使用说明
mcptool正在大力开发中,尚未准备好使用-稍后再回来查看!
mcptool
用于连接、测试和探测的多功能命令行实用程序 主控程序 服务器从您的终端。
mcptool 旨在为开发者提供一把统一的瑞士军刀, 管理员和与服务器交互的CI管道 主控程序 协议。
主要特点
- 单层连接 –快速打开交互式MCP会话,无需 额外设置。
- 健康和延迟检查 –使用简单的工具测量往返时间
mcptool mcp ping. - 能力发现 –自动探测哪些可选命令 服务器支持。
- 脚本友好的输出 -机器可读JSON和安静模式 自动化。
快速开始
cargo install mcptool
用法
安装后,二进制文件可用 mcptool.使用 --help 在任何子命令上查看详细标志。
目标规范
每个需要一个 目标 接受TCP端点、HTTP/HTTPS端点, 要在中生成的本地命令 标准 模式或存储的认证条目。
| 变量 | 语法 | 发生了什么 |
|---|---|---|
| 隐式TCP (默认) | host[:port] |
通过TCP连接。如果没有指定端口,则应用特定于命令的默认值。 |
| 显式TCP | tcp://host[:port] |
与上述相同,但明确主机何时可以包含方案前缀。 |
| 超文本传输协议 | http://host[:port] |
通过HTTP连接。如果没有指定端口,则默认为端口80。 |
| 超文本传输安全协议 | https://host[:port] |
通过HTTPS连接。如果没有指定端口,则默认为端口443。 |
| 标准指令 | cmd://<program> [args…] |
在本地生成程序,并通过其STDIN/STDOUT管道与MCP通信。当命令包含空格时,请使用引号。 |
| 认证 | auth://<name> |
使用存储的身份验证条目(请参阅下面的身份验证部分)。 |
示例目标
api.acme.ai(TCP,默认端口)tcp://api.acme.ai:7780(TCP,端口7780)http://api.acme.ai(HTTP,端口80)https://api.acme.ai:8443(HTTPS,端口8443)"cmd://./my‑stdio‑server --some --argument"(本地流程)auth://github(存储的身份验证条目)
全局命令(从shell运行)
| 命令 | 目的 |
|---|---|
mcptool connect <target> [--script <file>] |
连接到目标。没有 --script 您会进入一个交互式提示(>).随着 --script mcptool从以下位置每行读取一个子命令 文件,按顺序执行它们,打印结果并退出。 |
mcptool proxy <target> --log-file <file> |
透明地打开stdio传输,并将所有流量代理到目标,将其记录到 文件. |
mcptool testserver [--stdio] [--tcp] [--port <port>] |
运行带有详细日志记录的测试MCP服务器。使用 --stdio 对于stdio传输, --tcp 用于TCP传输,或指定端口上的默认HTTP |
mcptool version |
显示mcptool构建版本和链接的MCP版本。 |
mcptool help [sub-command] |
显示任何命令的上下文帮助。 |
全局选项
| 选项 | 目的 |
|---|---|
--json |
以JSON格式输出结果 |
--logs <LEVEL> |
启用指定级别的日志记录(调试、信息、通知、警告、错误、严重、警报、紧急) |
--color |
强制颜色输出 |
--no-color |
禁用颜色输出 |
--quiet |
禁止所有输出,包括JSON输出 |
MCP命令(可在提示符内使用 或 从外壳与 <target>)
当你 在提示内,键入以下命令 没有 这 mcptool 前缀,没有目标。在常规shell中,在它们前面加上 mcptool mcp 并提供 <target>.
| 提示表单 | 外壳表单 | 目的 |
|---|---|---|
ping |
mcptool mcp ping <target> |
测量往返延迟。 |
init |
mcptool mcp init <target> |
初始化连接并显示服务器信息。 |
listtools |
mcptool mcp listtools <target> |
列出所有MCP工具(tools/list). |
listprompts |
mcptool mcp listprompts <target> |
列出预定义的提示模板(prompts/list). |
listresources |
mcptool mcp listresources <target> |
列出服务器资源,如数据库或文件树(resources/list). |
listresourcetemplates |
mcptool mcp listresourcetemplates <target> |
列出可用于实例化的资源模板。 |
setlevel <level> |
mcptool mcp setlevel <target> <level> |
在MCP服务器上设置日志记录级别。 |
calltool <tool> [options] |
mcptool mcp calltool <target> <tool> [options] |
使用参数调用工具。选项: --arg key=value, --interactive, --json |
readresource <uri> |
mcptool mcp readresource <target> <uri> |
按URI读取资源 |
getprompt <name> [--arg key=value] |
mcptool mcp getprompt <target> <name> [--arg key=value] |
使用可选参数按名称获取提示。 |
subscriberesource <uri> |
mcptool mcp subscriberesource <target> <uri> |
订阅资源更新通知。 |
unsubscriberesource <uri> |
mcptool mcp unsubscriberesource <target> <uri> |
取消订阅资源更新通知。 |
complete <reference> <argument> |
mcptool mcp complete <target> <reference> <argument> |
获取提示或资源参数的完成建议。 |
交互式提示和脚本模式
一旦连接 没有 --script,您可以运行任何子命令,而无需再次指定目标,就像在普通命令行上一样。
如果你 提供 --script mysession.mcp,文件是逐行读取的,每一行都按照您在提示符下键入的方式进行分派。执行最后一行后,连接会自动关闭。
$ mcptool connect api.acme.ai
Connected to api.acme.ai (tcp, proto‑rev 9)
> ping
107 ms
> listtools
summarize translate moderate
> calltool summarize --arg text="Hello world"
{"summary":"Hello 🌍"}
> exit
认证
Mcptool支持HTTP/HTTPS端点的OAuth身份验证。可以使用以下方式管理身份验证条目 mcptool auth 命令:
| 命令 | 目的 |
|---|---|
mcptool auth add <name> [options] |
使用交互式设置添加新的OAuth身份验证条目 |
mcptool auth list |
列出所有存储的身份验证条目 |
mcptool auth remove <name> |
删除身份验证条目 |
mcptool auth renew <name> |
使用刷新令牌续订访问令牌 |
存储身份验证条目后,您可以使用以下命令将其与任何MCP命令一起使用 auth:// 目标语法:
# Add GitHub authentication
mcptool auth add github
# Use the stored authentication
mcptool mcp ping auth://github
mcptool mcp listtools auth://github
mcptool connect auth://github
例子
# Check latency to a remote MCP server (implicit TCP)
mcptool mcp ping api.acme.ai
# Check latency to a local stdio server
mcptool mcp ping "cmd://./my‑stdio‑server --some --argument"
# Use stored authentication (e.g., for GitHub Copilot)
mcptool mcp ping auth://github
# List tools using authentication
mcptool mcp listtools auth://github
# Connect via TCP on a non‑default port and immediately run a status query, then exit
mcptool calltool tcp://dev.acme.ai:7780 -- status
# Execute a tool with arguments on a local stdio endpoint
mcptool mcp calltool "cmd://./my‑stdio‑server --some --argument" summarize --arg text="Hello world"
# Use interactive mode to be prompted for each parameter
mcptool mcp calltool api.acme.ai chat.complete --interactive
# Pass a complex JSON payload via STDIN
echo '{"text": "Hello world", "model": "gpt-4"}' | mcptool mcp calltool api.acme.ai chat.complete --json
# Run a scripted sequence without entering the prompt
mcptool connect api.acme.ai --script mysession.mcp
