使用说明
项目简介
'mcptools' 是一个用于与 Model Context Protocol (MCP) 服务器进行交互的命令行工具。它支持 Stdio 和 HTTP 传输协议,并提供了一系列命令来发现和调用 MCP 服务器提供的功能。此外,'mcptools' 还包含了一个模拟 MCP 服务器用于测试目的,以及一个可以将 shell 脚本代理为 MCP 工具的代理服务器。
主要功能点
- MCP 客户端功能:
- 通过命令行界面与 MCP 服务器进行交互。
- 支持 Stdio 和 HTTP 两种传输协议。
- 可以列出服务器提供的工具 (Tools)、资源 (Resources) 和 Prompt 模板 (Prompts)。
- 可以调用工具、读取资源和获取 Prompt 模板。
- 提供交互式 Shell 模式,方便用户探索和测试 MCP 服务。
- MCP 模拟服务器:
- 能够模拟一个基础的 MCP 服务器,用于客户端开发和测试,无需依赖真实的 MCP 服务器环境。
- 支持定义和管理模拟的工具、Prompt 模板和资源。
- MCP 工具代理服务器:
- 允许将本地的 Shell 脚本或命令注册为 MCP 工具,并通过代理服务器对外提供 MCP 服务。
- 使得用户可以使用 MCP 协议来调用和执行 Shell 脚本,扩展了 MCP 服务器的功能。
安装步骤
- 访问 Releases 页面,下载最新版本的 'mcptools' 压缩包。
- 解压下载的压缩包到本地目录。
- 将解压后的 'mcp' 可执行文件所在目录添加到系统的 PATH 环境变量中,以便在命令行中直接使用 'mcp' 命令。
服务器配置
'mcptools' 主要作为 MCP 客户端工具使用,当需要与 MCP 服务器建立连接时,客户端需要配置 MCP 服务器的启动命令及其参数。以下是两种 'mcptools' 提供的服务器 (模拟服务器和代理服务器) 的客户端配置示例,假设您使用 'mcptools' 客户端连接到它们:
1. 连接到 MCP 代理服务器 (Proxy Server):
{ "serverName": "MCP Proxy Server", "command": "mcp", "args": ["proxy", "start"] }
- 'serverName': 服务器名称,可以自定义,例如 "MCP Proxy Server"。
- 'command': 启动 MCP 服务器的命令,这里是 'mcp',假设 'mcp' 命令已添加到 PATH 环境变量。
- 'args': 传递给 'mcp' 命令的参数,'["proxy", "start"]' 表示启动 'mcptools' 的代理服务器功能。
2. 连接到 MCP 模拟服务器 (Mock Server):
{ "serverName": "MCP Mock Server", "command": "mcp", "args": ["mock", "tool", "example_tool", "这是一个示例工具"] }
- 'serverName': 服务器名称,可以自定义,例如 "MCP Mock Server"。
- 'command': 启动 MCP 服务器的命令,同样是 'mcp'。
- 'args': 传递给 'mcp' 命令的参数,'["mock", "tool", "example_tool", "这是一个示例工具"]' 表示启动 'mcptools' 的模拟服务器,并预先注册一个名为 'example_tool' 的工具。您可以根据需要添加更多的模拟工具、Prompt 或资源。
注意: 以上配置为示例,实际使用时,您需要根据您的 MCP 客户端工具的要求进行配置,并确保 'mcp' 命令在客户端环境中可执行。MCP 客户端工具会根据您提供的 'command' 和 'args' 来启动 MCP 服务器进程并与之通信。
基本使用方法
-
列出工具 (Tools):
mcp tools <服务器启动命令> [服务器命令参数...]例如:'mcp tools npx -y @modelcontextprotocol/server-filesystem ~'
-
调用工具 (Call Tool):
mcp call <工具名称> <服务器启动命令> [服务器命令参数...] --params '{"参数名": "参数值"}'例如:'mcp call read_file npx -y @modelcontextprotocol/server-filesystem ~ --params '{"path": "文件路径"}''
-
启动交互式 Shell:
mcp shell <服务器启动命令> [服务器命令参数...]例如:'mcp shell npx -y @modelcontextprotocol/server-filesystem ~'
-
运行模拟服务器 (Mock Server):
mcp mock tool <工具名称> "<工具描述>" prompt <Prompt 名称> "<Prompt 描述>" "<Prompt 模板>" resource <资源 URI> "<资源描述>" "<资源内容>"例如:'mcp mock tool hello_world "一个示例工具" prompt welcome "欢迎 Prompt" "你好 {{name}}!" resource doc:readme "文档" "# README 文件内容"'
-
运行代理服务器 (Proxy Server):
- 注册代理工具:
例如:'mcp proxy tool add_operation "加法运算" "a:int,b:int" ./add.sh'mcp proxy tool <工具名称> "<工具描述>" "<参数定义>" <脚本路径或 -e '内联命令'> - 启动代理服务器:
mcp proxy start
- 注册代理工具:
更多详细用法,请参考 'mcptools' 的文档或使用 'mcp help' 命令查看帮助信息。
信息
分类
开发者工具