并行工具执行代理

Tool Rave MCP是一个通用MCP服务器代理,可为原生不支持并行执行的服务器启用并行工具执行功能,通过缓存握手和发现信息、管理并行工作池来提高效率。

  • by Saik0s
  • Python
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 Saik0s/tool-rave-mcp

使用说明

工具掠夺MCP

通用MCP服务器代理,为本机不支持它的服务器启用并行工具执行。

它做什么

许多MCP服务器按顺序处理工具调用,当您需要并行运行多个工具时,这可能会很慢。Tool Rave充当代理:

  1. 缓存握手 -存储初始握手序列,以便为每次工具调用回放
  2. 缓存发现 -存储对以下内容的响应 tools/list, prompts/list,以及 resources/list 电话
  3. 培养平行工作者 -为每个进程创建新的服务器进程 tools/call 请求
  4. 管理员工库 -可配置并发工作者数量(默认值:8)

安装

使用安装 uv:

uv tool install tool-rave-mcp

或者从源代码安装:

git clone <repo-url>
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

运作原理

  1. 客户端连接 → Tool Rave生成服务器、处理握手、缓存响应
  2. 客户请求工具/列表 → Tool Rave生成服务器,缓存工具列表
  3. 客户呼叫工具 → Tool Rave生成新的服务器,重放握手,转发呼叫
  4. 多个工具调用 → 每个进程都有自己的服务器进程并行运行

这使得真正的并行执行成为可能,即使对于设计为一次处理一个请求的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

许可证

麻省理工学院