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

BatchIt MCP

MCP Server

MCP BatchIt是一个在Model Context Protocol (MCP)生态系统中的聚合服务器,通过单个批量执行请求减少AI代理的令牌使用和网络开销。

工具数

0

提示词数

0

GitHub Stars

59

资源数

0
AI代理批量处理JavaScriptClaudeClaude DesktopClaudeCline

安装说明

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

作者 / 组织

ryanjoachim

提供方

ryanjoachim

最后核验

2026/5/17 20:38

快速接入

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

详细介绍

MCP批次

将多个MCP工具调用批处理到一个“Batch_excute”请求中,从而减少AI代理的开销和令牌使用。

![License: MIT](https://opensource.org/licenses/MIT)

______________________________________________________________________

目录

  1. 引言
  2. 为什么使用BatchIt
  3. 主要功能和限制
  4. 安装与启动
  5. 多阶段使用

- 实施阶段 - 信息收集 - LLM-Only Step(列出代码定义) - 文档创建

  1. 常见问题解答
  2. 许可证

______________________________________________________________________

引言

⚠️ 注意:工作正在进行中 该项目正在积极开发中,以应对几个复杂的挑战: - 保持与现有MCP服务器的向后兼容性 - 使用多连接客户端解决传输复杂性(Cline、Roo、Claude Desktop) - 创建适合初学者的实现 虽然功能正常,但随着我们完善解决方案,预计会不断改进和变化。

MCP批次 是一个简单的聚合服务器 模型上下文协议(MCP) 生态系统。它只是暴露了 工具: batch_execute。而不是调用多个MCP工具(如 fetch, read_file, create_directory, write_file等等) 分开 消息,你可以 批次 将它们放在一个聚合器请求中。

这大大减少了令牌使用、网络开销和AI代理或LLM对话中的重复上下文。

______________________________________________________________________

为什么使用BatchIt

  • 每条消息一个操作 问题:

通常,LLM或AI代理一次只能调用一个MCP工具,这迫使多步任务需要多次调用。

  • 往返次数过多:

10个单独的文件操作可能需要10条消息→ 10 响应。

  • BatchIt的方法:

1. 只需一个 batch_execute 请求。 1. 在幕后生成(或连接到)实际的目标MCP服务器(如文件系统服务器)。 1. 并行运行每个子操作(工具调用),最多可达 maxConcurrent. 1. 如果一个子操作失败 stopOnError 确实如此,它会阻止新的潜艇行动。 1. 返回一个合并的JSON结果。

______________________________________________________________________

主要功能和限制

特性

  1. 单个“批处理执行”工具

- 您只需指定一个引用现有MCP服务器工具的子操作列表。

  1. 并行执行

- 一次运行多个子操作,由以下人员控制 maxConcurrent.

  1. 超时&出错时停止

- 每个小组赛一个 timeoutMs,如果一个操作失败,您可以跳过剩余的操作。

  1. 连接缓存

- 重复调用与下游MCP服务器的相同连接,在空闲超时后关闭。

局限性

  1. 中间批次无数据通过

- 如果子操作#2依赖于#1的输出,则执行多个聚合器调用。

  1. 无部分进展

- 在每个“batch_excute”的末尾,您将获得所有子操作的结果

  1. 必须使用真正的MCP服务器

- 如果你生成或连接到聚合器本身,你会看到“找不到工具”。聚合器只有“batch_excute”

  1. 每次呼叫一个目标服务器

- 每个聚合器调用都引用一个目标MCP服务器。如果你想要多台服务器,你会做更高级的逻辑或单独的调用。

______________________________________________________________________

安装与启动

git clone https://github.com/ryanjoachim/mcp-batchit.git
cd mcp-batchit
npm install
npm run build
npm start

BatchIt开始于 标准输入输出 默认情况下,您的AI代理(或任何MCP客户端)都可以生成它。例如:

mcp-batchit is running on stdio. Ready to batch-execute!

您现在可以发送JSON-RPC请求(tools/call 方法, name= "batch_execute")到它。

______________________________________________________________________

存储体

使用Cline/Roo Code,您可以通过利用Nick Baumann开发的强大的“记忆库”自定义指令来构建一个上下文项目文档框架。

查看内存库文档

传统方法(19+个电话):

  1. 阅读package.json
  2. 等待响应
  3. 阅读README.md
  4. 等待响应
  5. 列出代码定义
  6. 等待响应
  7. 创建内存库目录
  8. 等待响应
  9. 编写productContext.md
  10. 写入系统Patterns.md
  11. 编写techContext.md
  12. 写入进度.md
  13. 编写activeContext.md
  14. 等待响应(另外5个电话)

总共:约19个单独的API调用(13个操作+6个响应等待)

BatchIt方法(1-3次调用)

多阶段使用

当处理依赖于实时输出的复杂多步任务(如读取文件和生成文档)时,您需要在不同的阶段处理该过程。这是必要的,因为 BatchIt 不支持在同一请求内的子操作之间传递数据。

实施阶段

信息收集

在这个初始阶段,我们通过读取必要的文件(例如。, package.json, README.md).这是通过 批处理执行器 调用文件系统MCP服务器:

{
  "targetServer": {
    "name": "filesystem",
    "serverType": {
      "type": "filesystem",
      "config": {
        "rootDirectory": "C:/Users/Chewy/Documents/GitHub/ryanjoachim/mcp-batchit"
      }
    },
    "transport": {
      "type": "stdio",
      "command": "cmd.exe",
      "args": [
        "/c",
        "npx",
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "C:/Users/Chewy/Documents/GitHub/ryanjoachim/mcp-batchit"
      ]
    }
  },
  "operations": [
    {
      "tool": "read_file",
      "arguments": {
        "path": "C:/Users/Chewy/Documents/GitHub/ryanjoachim/mcp-batchit/package.json"
      }
    },
    {
      "tool": "read_file",
      "arguments": {
        "path": "C:/Users/Chewy/Documents/GitHub/ryanjoachim/mcp-batchit/README.md"
      }
    }
  ],
  "options": {
    "maxConcurrent": 2,
    "stopOnError": true,
    "timeoutMs": 30000
  }
}

备注:聚合器生成 @modelcontextprotocol/server-filesystem (通过 npx)并行执行 read_file 操作。

LLM-Only Step(列出代码定义)

此阶段涉及聚合器之外的处理,通常使用LLM或AI代理功能:


src

此步骤使用Roo Code的 list_code_definition_names 该工具仅供LLM使用。但是,请注意,许多MCP服务器可以提供类似的功能,从而可以在没有LLM请求的情况下完成此过程。

文档创建

最后一个阶段将来自前面步骤的数据(文件内容和代码定义)组合在一起,在 memory-bank 目录:

{
  "targetServer": {
    "name": "filesystem",
    "serverType": {
      "type": "filesystem",
      "config": {
        "rootDirectory": "C:/Users/Chewy/Documents/GitHub/ryanjoachim/mcp-batchit"
      }
    },
    "transport": {
      "type": "stdio",
      "command": "cmd.exe",
      "args": [
        "/c",
        "npx",
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "C:/Users/Chewy/Documents/GitHub/ryanjoachim/mcp-batchit"
      ]
    }
  },
  "operations": [
    {
      "tool": "create_directory",
      "arguments": {
        "path": "C:/Users/Chewy/Documents/GitHub/ryanjoachim/mcp-batchit/memory-bank"
      }
    },
    {
      "tool": "write_file",
      "arguments": {
        "path": "C:/Users/Chewy/Documents/GitHub/ryanjoachim/mcp-batchit/memory-bank/productContext.md",
        "content": "# MCP BatchIt Product Context\\n\\n## Purpose\\n..."
      }
    },
    {
      "tool": "write_file",
      "arguments": {
        "path": "C:/Users/Chewy/Documents/GitHub/ryanjoachim/mcp-batchit/memory-bank/systemPatterns.md",
        "content": "# MCP BatchIt System Patterns\\n\\n## Architecture Overview\\n..."
      }
    },
    {
      "tool": "write_file",
      "arguments": {
        "path": "C:/Users/Chewy/Documents/GitHub/ryanjoachim/mcp-batchit/memory-bank/techContext.md",
        "content": "# MCP BatchIt Technical Context\\n\\n## Technology Stack\\n..."
      }
    },
    {
      "tool": "write_file",
      "arguments": {
        "path": "C:/Users/Chewy/Documents/GitHub/ryanjoachim/mcp-batchit/memory-bank/progress.md",
        "content": "# MCP BatchIt Progress Status\\n\\n## Completed Features\\n..."
      }
    },
    {
      "tool": "write_file",
      "arguments": {
        "path": "C:/Users/Chewy/Documents/GitHub/ryanjoachim/mcp-batchit/memory-bank/activeContext.md",
        "content": "# MCP BatchIt Active Context\\n\\n## Current Status\\n..."
      }
    }
  ],
  "options": {
    "maxConcurrent": 1,
    "stopOnError": true,
    "timeoutMs": 30000
  }
}

聚合器按顺序处理这些操作(maxConcurrent=1),创建目录并编写多个文档文件。结果数组指示每个操作的成功/失败状态。

______________________________________________________________________

常见问题解答

Q1:如果子操作#2依赖于子操作#1的结果,我是否需要多个聚合器调用? 对。 BatchIt不会在同一请求中的子操作之间传递数据。您执行多阶段呼叫(如上面的示例)。

Q2:为什么我有时会得到“未找到工具create_directory”? 因为你 transport 可能指向聚合器脚本本身,而不是真正的MCP服务器。确保你引用了以下内容 @modelcontextprotocol/server-filesystem.

问题3:我可以执行并发加stopOnError吗? 当然。如果一个子操作失败,我们将跳过启动新的子操作。已经运行的两个并行完成。

Q4:BatchIt每次都会重新生成目标服务器吗? 它 *能* 如果您指定 keepAlive: false。但如果你用同样的精确方法 targetServer.name + transport,它会缓存连接,直到空闲超时过去。

问题5:如果中间出现错误,会返回部分结果吗? 对。在错误发生之前完成的每个子操作都包含在最终的聚合器响应中,以及失败的子操作。如果发生以下情况,则跳过剩余的子操作 stopOnError 这是真的。

______________________________________________________________________

许可证

麻省理工学院

目录标签

目录标签

AI代理批量处理JavaScriptClaude本地部署MCP工具网络优化

支持客户端

Claude DesktopClaudeCline

接入字段

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

stdio

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

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP