Token导航 LogoToken导航TokenDH.com
MCP Generator (Sezallagwal) logo
AI代理未说明官方级别未说明来源级核验

MCP Generator (Sezallagwal)

MCP Server

Rocket.Chat MCP服务器生成器是一个gemini-cli扩展,用于生成最小化、工作流驱动的MCP服务器,解决上下文膨胀问题,同时支持事件驱动的Rocket.Chat应用与AI推理。

工具数

3

提示词数

0

GitHub Stars

0

资源数

0
TypeScriptAI代理工作流自动化

安装说明

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

作者 / 组织

sezallagwal

提供方

sezallagwal

最后核验

2026/5/17 20:23

快速接入

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

详细介绍

Rocket.Chat MCP Server Generator

A gemini-cli extension that generates minimal, workflow-driven MCP servers for Rocket.Chat — solving context bloat while supporting event-driven RC Apps with AI reasoning.

______________________________________________________________________

问题

如今,采用MCP的一个主要问题是 上下文膨胀 -几乎所有的MCP服务器都是为了支持大量的服务API而编写的,任何采用这些服务API的人的大部分令牌预算都将被与他们永远不需要的API调用相关的静态MCP需求所消耗。这种情况在代理代码生成器工作流中更为严重,其中每个代理都在循环中不必要地燃烧令牌,同时支持项目永远不会使用的API/工具。

解决方案

这个生成器通过让Rocket来解决上下文膨胀问题。聊天开发人员生成一个生产级最小MCP服务器,覆盖 他们的项目所需的API子集。用简明的英语描述你需要什么-生成器识别相关的API和Apps-Engine事件,组成多步骤工作流,将API调用与人工智能推理链接起来,并输出一个完整的项目和测试。

输出不仅仅是一个精简的REST包装器——每个生成的MCP工具都是一个 工作流 将N个API调用、LLM采样、用户启发和条件逻辑链接到一个原子操作中。当提示描述实时事件时(“消息发送时…”),生成器还会生成一个本机 RC应用程序 它桥接到MCP服务器。

建筑

Flowchart

三级管道:发现→ 架构检查→ 生成

主要特点

API和事件发现

  • 自动OpenAPI解析 --火箭。Chat的官方OpenAPI YAML规范(12个域中的558个端点)在运行时使用GitHub @apidevtools/swagger-parser无需手动定义端点。
  • 应用引擎事件解析 --从中动态发现所有47个事件处理程序接口 @rocket.chat/apps-engine 使用 ts-morph,从中提取方法签名、参数类型和形状 .d.ts 文件夹。
  • 零维护 --当RC添加或更改端点或事件接口时,它们立即可用。没有手动更新。
  • 三层缓存 --解析后的规范缓存在内存中以供即时重用,持久化到磁盘(24小时TTL)以在重启后生存,并且仅在缓存未命中时从GitHub获取。
  • 延迟模式提取 --浏览仅显示轻量级摘要。昂贵的JSON模式映射仅适用于您实际选择的端点。
  • 并行域获取 -同时提取和解析多个API域。

工作流引擎

  • 工作流作为数据 --每个生成的MCP工具都是一个多步骤的工作流,定义为声明性JSON,而不是命令式代码。运行时引擎在执行时解释步骤定义。
  • 5种步骤类型api_call (RC REST API), sampling (通过MCP采样进行LLM推理), elicitation (人在循环确认), transform (数据重塑), conditional (分支逻辑)。
  • 依赖图 --步骤声明 dependsOn 形成DAG的数组。具有共享依赖关系的步骤可以并行执行。
  • 坚持 --通过RC Apps Engine进行交叉调用状态跟踪(每个用户、每个房间或自定义密钥) IPersistence.
  • 工作流编辑器 --验证LLM生成的工作流定义:检查步骤引用、检测循环、计算拓扑顺序、自动添加缺失 dependsOn,并警告常见错误(硬编码的房间ID、静态采样提示、孤立步骤)。

RC应用程序生成

  • 桥梁建筑 --当提供事件接口时,生成器会生成一个MCP服务器(AI推理)和一个RC应用程序(事件处理),通过HTTP桥链接。RC应用程序捕获事件并将其委托给MCP服务器以执行工作流。
  • 动态事件接线 --事件处理程序代码生成自 ts-morph-解析的接口签名。支持所有47个应用引擎事件,包括事件前处理程序(IPreMessageSentPrevent, IPreRoomCreatePrevent).
  • Slash命令和webhooks --生成的RC应用程序可以包括斜线命令和webhook端点以及事件处理程序。
  • 本地RC应用程序结构 --输出与官方匹配 rc-apps CLI结构: app.json,键入处理程序、设置、帮助程序, .rcappsconfig.

代码生成

  • 带测试的多文件输出 --每个生成的服务器都是一个完整的项目:每个工作流工具一个文件、一个共享的HTTP客户端、每个工具的测试文件、工作流引擎模块、README和配置文件。
  • 生成时的输入验证 --验证 inputMapping 在生成代码之前,根据实际的OpenAPI模式检查字段名,检查必填字段,并模糊纠正操作ID拼写错误。
  • 表达式安全 --转换和条件表达式在生成时进行验证,拒绝以下模式 require(), import(), eval(), process.exit().
  • 自动注册 --生成的MCP服务器会自动在中注册 ~/.gemini/settings.json 因此,它们可以立即作为Gemini CLI工具使用。

先决条件

安装

  1. 克隆存储库:
   git clone https://github.com/sezallagwal/mcpGenerator
   cd mcpGenerator
  1. 安装依赖项:
   npm install
  1. 注册为gemini cli扩展:
   mkdir -p ~/.gemini/extensions
   ln -s "$(pwd)" ~/.gemini/extensions/mcpGenerator

这将项目符号链接到gemini-cli的extensions目录中,以便自动加载。

用法

发射 gemini 在任何项目目录中。该扩展提供了三个MCP工具,Gemini会根据您的自然语言请求自动使用:

工具目的何时致电
get_capability_guide返回所有558个API端点和47个应用程序引擎事件首次发现
get_endpoint_schemas返回所选操作ID和事件接口的精确JSON模式第二--检查模式
generate验证工作流、编写项目、写入所有文件Last--generate

快速开始

用简单的英语描述你想要什么:

gemini> I need an MCP server that can send messages and manage channels

双子座会:

  1. 呼叫 get_capability_guide 发现相关端点和事件
  2. 呼叫 get_endpoint_schemas 获取工作流步骤的精确字段名称
  3. 呼叫 generate 使用组合工作流--输出完整的项目

斜杠命令

gemini> /generator:generate send alerts based on workspace statistics

示例

以下是一个真实世界的提示,可以生成一个完全可用的入职机器人:

当在Rocket中创建新用户时。聊天,自动: 1. 将它们添加到 #将军#公告,加上适合角色的渠道——如果他们的角色包括 admin,添加到 #管理员操作;如果 livechat-agent,添加到 #支持团队;如果 moderator,添加到 #mod团队 1. 向他们发送欢迎DM 1. 使用AI根据分配的角色生成个性化的入职检查表 1. 创建私人 入职培训-{用户名} 频道并邀请创建它们的用户(performedBy)作为入职伙伴 1. 在该渠道中发布生成的检查表

从这个提示中,生成器生成:

  • MCP服务器 使用多步骤工作流工具(api_callconditionalsamplingapi_call 链条)
  • RC应用程序 带着一个 IPostUserCreated 通过HTTP桥触发工作流的事件处理程序
  • 完整的测试套件, .env.example、README和gemini设置中的自动注册

管道

流水线是完全自动化的——Gemini自主处理端点选择、工作流组合和代码生成:

Describe intent → get_capability_guide → get_endpoint_schemas → generate → Ready to deploy
  1. 描述你的意图 --用简单的英语说你想说的话。Gemini自动将您的关键字映射到正确的API域和事件接口。
  2. 能力指南 --双子座来电 get_capability_guide 它返回按域分组的所有端点和所有Apps Engine事件接口。Gemini选择它需要的操作ID和事件接口。
  3. 架构查找 --双子座来电 get_endpoint_schemas 使用选定的操作IDs/eventInterface来获取精确的请求/响应模式和事件参数形状。
  4. 生成 --双子座来电 generate 一次性完成所有工作流。该工具验证步骤引用,检查 inputMapping 字段名与模式相对应,组成依赖关系图,并将整个项目写入磁盘。

步骤类型参考

每个工作流都由步骤组成。支持五种步骤类型:

类型目的关键字段
api_call呼叫火箭。聊天REST API端点operationId, inputMapping, outputPath, forEach, as, continueOnError
samplingLLM推理(Gemini CLI或API)prompt, systemPrompt, maxTokens, responseFormat
elicitation人在循环确认message, requestedSchema, onDecline
transform通过JS表达式进行数据整形expression (已验证,沙盒)
conditional分支逻辑condition, thenStep, elseStep

步骤支持模板表达式({{params.*}}, {{steps.*}})对于步骤之间的动态数据流:

{
  "id": "send_welcome",
  "type": "api_call",
  "operationId": "post-api-v1-chat_sendMessage",
  "dependsOn": ["compose_message"],
  "inputMapping": {
    "message": {
      "rid": "{{params.roomId}}",
      "msg": "{{steps.compose_message.result}}",
    },
  },
}

生成的项目结构

生成器使用MCP服务器(始终)和可选的RC应用程序(如果需要实时事件)创建一个monorepo:

my-project/
├── mcp-server/
│   ├── src/
│   │   ├── server.ts              # MCP server entry point
│   │   ├── rc-client.ts           # Shared Rocket.Chat HTTP client
│   │   ├── engine/
│   │   │   └── workflow-engine.ts # Runtime workflow execution engine
│   │   ├── tools/
│   │   │   └── *.ts               # One file per workflow tool
│   │   └── tests/
│   │       ├── setup.ts           # Test setup & mock infrastructure
│   │       └── *.test.ts          # Per-tool test files
│   ├── package.json
│   ├── tsconfig.json
│   ├── .env.example
│   └── README.md
└── rc-app/                        # Only if eventInterfaces provided
    ├── app.json                   # RC App manifest
    ├── *App.ts                    # Main app class (event wiring)
    ├── handlers/                  # Event handler files
    ├── commands/                  # Slash command files
    ├── bridge/
    │   └── mcp-bridge.ts         # HTTP bridge to MCP server
    ├── helpers/
    │   └── message.ts            # Message creation helpers
    ├── settings/
    │   └── settings.ts           # Admin-configurable settings
    └── package.json

使用生成的服务器

cd projects/my-rc-server/mcp-server
npm install
cp .env.example .env
# Edit .env with your Rocket.Chat credentials

生成的服务器使用stdio传输。将其添加到MCP客户端的配置中:

{
  "mcpServers": {
    "my-rc-server": {
      "command": "npm",
      "args": ["start"],
      "cwd": "/path/to/my-rc-server/mcp-server"
    }
  }
}

发展

项目结构

mcpGenerator/
├── commands/
│   └── generator/
│       └── generate.toml        # /generator:generate slash command
├── src/
│   ├── server.ts                # MCP server (3 tools)
│   ├── capability-guide.ts      # Capability guide formatter
│   ├── utils.ts                 # Shared utilities
│   ├── mcp-server/
│   │   ├── mcpServerCodegen.ts  # Workflow → TypeScript code generator
│   │   ├── mcpServerTemplates.ts# Shared project scaffolding templates
│   │   ├── workflowComposer.ts  # Workflow validation & composition
│   │   ├── workflow-engine.ts   # Runtime engine (copied into generated projects)
│   │   ├── types.ts             # Workflow type definitions
│   │   ├── ensureChannelInjector.ts # Channel name normalization
│   │   └── parser/
│   │       ├── index.ts         # OpenAPI parser (fetch, cache, list, extract)
│   │       ├── schema-mapper.ts # OpenAPI → JSON Schema 7 conversion
│   │       └── types.ts         # Parser type definitions
│   ├── rc-app/
│   │   ├── rcAppGenerator.ts    # RC App project orchestrator
│   │   ├── rcAppTemplates.ts    # RC App code templates
│   │   ├── parser.ts            # Apps-Engine capability parser (ts-morph)
│   │   └── types.ts             # RC App type definitions
│   └── tests/
│       ├── parser.test.ts           # 47 tests — OpenAPI parsing & schema mapping
│       ├── generate.test.ts         # 56 tests — Code generation & validation
│       ├── workflow.test.ts         # 100 tests — Workflow composition & validation
│       ├── workflow-engine.test.ts  # 76 tests — Runtime engine execution
│       ├── rc-app.test.ts           # 104 tests — RC App code generation
│       ├── rc-app-parser.test.ts    # 30 tests — Apps-Engine interface parsing
│       └── capability-guide.test.ts # 30 tests — Guide formatting
├── package.json
├── tsconfig.json
└── gemini-extension.json        # Extension manifest

运行测试

npm test

建筑

npm run build

在开发模式下运行

npm run dev

许可证

麻省理工学院

目录标签

目录标签

TypeScriptAI代理工作流自动化MCP服务器生成本地部署工作流驱动Rocket.Chat扩展AI推理事件驱动

接入字段

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

未说明

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

none

工具数量(toolCount,工具数)

3

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明none部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP