工具掠夺MCP
通用MCP服务器代理,为本机不支持它的服务器启用并行工具执行。
它做什么
许多MCP服务器按顺序处理工具调用,当您需要并行运行多个工具时,这可能会很慢。Tool Rave充当代理:
- 缓存握手 -存储初始握手序列,以便为每次工具调用回放
- 缓存发现 -存储对以下内容的响应
tools/list,prompts/list,以及resources/list电话 - 培养平行工作者 -为每个进程创建新的服务器进程
tools/call请求 - 管理员工库 -可配置并发工作者数量(默认值:8)
安装
使用安装 uv:
uv tool install tool-rave-mcp或者从源代码安装:
git clone
cd tool-rave-mcp
uv sync
uv run toolrave --help用法
不要直接运行MCP服务器:
# Before
python your_mcp_server.py
# After
toolrave python your_mcp_server.py适用于任何命令和参数:
toolrave python server.py --config config.json --verbose
toolrave uv run --script mcp_server.py
toolrave ./my_server --port 8080配置
通过环境变量进行配置:
| 变量 | 默认值 | 描述 |
|---|---|---|
TOOLRAVE_MAX_WORKERS | 8 | 并行工作人员的最大数量 |
TOOLRAVE_ENABLE_LOGGING | false | 启用详细日志记录 |
TOOLRAVE_LOG_DIR | ~/.toolrave/logs | 日志文件目录 |
例子:
export TOOLRAVE_MAX_WORKERS=16
export TOOLRAVE_ENABLE_LOGGING=true
toolrave python server.py克劳德代码示例:
claude mcp add zen -s user -- ~/Projects/zen-mcp-server/.zen_venv/bin/python ~/Projects/zen-mcp-server/server.py
becomes
claude mcp add zen -s user -- toolrave ~/Projects/zen-mcp-server/.zen_venv/bin/python ~/Projects/zen-mcp-server/server.py运作原理
- 客户端连接 → Tool Rave生成服务器、处理握手、缓存响应
- 客户请求工具/列表 → Tool Rave生成服务器,缓存工具列表
- 客户呼叫工具 → Tool Rave生成新的服务器,重放握手,转发呼叫
- 多个工具调用 → 每个进程都有自己的服务器进程并行运行
这使得真正的并行执行成为可能,即使对于设计为一次处理一个请求的MCP服务器也是如此。
发展
# Install dependencies
uv sync
# Run linting
uv run ruff check .
uv run ruff format .
# Type checking
uv run pyright
# Run tests
uv run pytest许可证
麻省理工学院
