Token导航 LogoToken导航TokenDH.com
MCP Serialization Repro logo
AI代理stdio官方级别未说明来源级核验

MCP Serialization Repro

MCP Server

MCP工具在Claude Code中实现并行调用,通过设置`readOnlyHint`参数控制并行与串行执行。

工具数

0

提示词数

0

GitHub Stars

4

资源数

0
服务器配置PythonClaude性能优化Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

greynewell

提供方

greynewell

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install mcpbr

详细介绍

Claude代码中的MCP工具调用并行性

发现: MCP工具 *做* Claude Code中的并行化——当服务器设置 readOnlyHint: true省略此注释的服务器(默认 false)被序列化。这是设计的,不是bug。看 #14353.

关键结果

平行性readOnlyHint=true 显示了~2倍的并行调度率 readOnlyHint=false:

|条件|多工具消息|工具/消息|MCP并行组| |-----------|:-:|:-:|:-:| |MCP(readOnlyHint=true) | 11.1% | 1.15 | 11 | |MCP(readOnlyHint=false) | 6.1% | 1.08 | 6 |

IPC开销 --MCP为每个任务增加了约2%的挂钟时间(中位数5ms/呼叫):

|工具|计数|中位数ms | P95 ms| |------|:-:|:-:|:-:| |读文本文件| 60 | 4.0 | 10.0| |列表目录|11|3.8|19.2| |搜索文件|13|346.4|639.6| |编辑文件|8|14.8|34.3| |写文件|5|11.4|45.7|

演出 --在此样本量下,条件之间没有显著差异:

|条件|工具/工具|平均运行时间|已解决| |-----------|:-:|:-:|:-:| |MCP(RO=true)|1.45|260秒|0/5| |MCP(RO=false)|1.45|265秒|3/5| |基线(本地)|1.66–1.89|261–267s|1–2/5|

在n=5时,分辨率方差是噪声。

这对MCP服务器作者意味着什么

克劳德代码 isConcurrencySafe() 检查 readOnlyHint 决定并行执行还是串行执行。这 @modelcontextprotocol/server-filesystem 正确注释其工具:

只读(readOnlyHint: true)突变(readOnlyHint: false)
read_text_file、read_media_file、read_multiple_files、list_directory、directory_tree、search_files、get_file_infowrite_file、edit_file、move_file、create_directory

如果您的MCP服务器的工具没有并行化,请添加 readOnlyHint: true 到您的只读工具注释。

方法

在Claude Code v2.1.39上使用Sonnet 4.0进行测试,5 SWE工作台验证任务(天体测量),最多30次迭代,超时300秒。三个条件:

  1. MCP(readOnlyHint=true) --带有本机注释的服务器文件系统,用于计时的仪器化代理
  2. MCP(readOnlyHint=false) --同一代理强制所有工具 readOnlyHint: false,序列化执行
  3. 基线 --仅限本机Claude代码工具,无MCP

通过分组来衡量平行度 tool_use 块通过 message.id.mcp.log traces——每条消息有多个工具=模型请求并行执行。IPC开销由仪表化代理对每次JSON-RPC往返进行计时来衡量。

局限性

  • n=5,单存储库(astropy),单型号(Sonnet 4.0),单MCP服务器
  • 无基线并行性数据(.mcp.log 仅捕获MCP会话)
  • MCP提示鼓励并行工具使用,这可能会提高利率

繁殖

git clone https://github.com/greynewell/mcp-serialization-repro.git
cd mcp-serialization-repro

# Prerequisites: Docker, Node.js, Python 3.10+, ANTHROPIC_API_KEY
pip install mcpbr
bash run.sh            # ~$10-15 in API calls
python analyze.py results/

参考文献

目录标签

目录标签

服务器配置PythonClaude性能优化并行处理本地部署工具调用

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP