关于 mcp-tools-cli
mcp-tools-cli 是一个用于与 MCP 服务交互的命令行客户端,面向需要查看或调用服务器工具的用户。它通过配置文件选择服务,并提供列出工具和调用工具的操作。
主要功能
- 01通过配置文件连接 MCP 服务
- 02列出服务可用工具
- 03调用指定工具
- 04支持自定义配置文件路径
适用场景
- 01检查 MCP 服务提供的工具
- 02从命令行调用 MCP 工具
MCP 相关
作为 MCP 客户端,它根据 mcp_config.json 中的连接信息启动并连接指定服务,可列出工具或调用工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
mcp-tools-cli
这是一个用于与模型上下文协议(MCP)服务交互的命令行客户端。
安装
你可以使用 pip 安装 mcp-tools-cli:
pip install mcp-tools-cli
配置
客户端使用名为 mcp_config.json 的配置文件存储 MCP 服务的连接详细信息。创建一个名为 mcp_config.json 的文件,并写入以下内容:
{
"mcpServers": {
"time": {
"command": "python",
"args": ["-m", "mcp_server_time", "--local-timezone=America/New_York"]
}
}
}
将这些值替换为你自己的 MCP 服务配置。
用法
mcp-tools-cli <action> --mcp-name <mcp_name> [options]
参数
action(必需):要执行的操作。必须是以下其中一项:list-tools:列出 MCP 服务上可用的工具。call-tool:调用 MCP 服务上的指定工具。
--mcp-name(必需):要连接的 MCP 服务名称,与mcp_config.json中定义的名称一致。--tool-name(call-tool操作必需):要调用的工具名称。--tool-args(可选):工具的参数。可以是 JSON 字符串或单个字符串值。如果单个字符串值不是有效的 JSON,则会作为query参数传递给工具。--config-path(可选):mcp_config.json文件的路径。默认使用当前目录中的mcp_config.json。
配置
客户端使用名为 mcp_config.json 的配置文件存储 MCP 服务的连接详细信息。文件格式如下:
{
"mcpServers": {
"<mcp_name>": {
"command": "<command to run the server>",
"args": ["<argument1>", "<argument2>", ...],
"env": {
"<environment variable name>": "<environment variable value>",
...
}
},
...
}
}
将 <mcp_name> 替换为你的 MCP 服务名称(例如,time)。command、args 和 env 字段指定如何运行该服务。
示例
mcp_config.sample.json中提供了一个使用 Time MCP Server 的示例。如果你想使用此示例,请先执行pip install mcp-server-time。
- 列出可用工具:
mcp-tools-cli list-tools --mcp-name time --config-path mcp_config.sample.json
- 使用查询调用
get_current_time工具:
mcp-tools-cli call-tool --mcp-name time --tool-name get_current_time --config-path mcp_config.sample.json
错误处理
如果发生错误,客户端会在控制台打印错误消息,例如:
- FileNotFoundError:找不到配置文件。
- json.JSONDecodeError:配置文件不是有效的 JSON 文件。
- ValueError:配置文件中未找到 MCP 服务,或缺少命令。
- argparse.ArgumentError:命令行参数无效。
- 工具执行期间发生的其他异常。
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。