RuleGo-MCP-Server
# RuleGo-Server 与 MCP 协议:打通 AI 与应用的桥梁
RuleGo-Server 支持 MCP(Model Context Protocol,模型上下文协议),开启后,系统会自动将所有注册的组件、规则链以及 API 注册为 MCP 工具。这使得 AI 助手(如 Windsurf、Cursor、Codeium 等)能够通过 MCP 协议直接调用这些工具,实现与应用系统的深度融合。
利用RuleGo灵活特性,可以把RuleGo-Server打造成MCP工具共享与开发MCP工具平台,另外也可以快速把业务系统通过RuleGo-Server桥接与AI 助手进行快速集成。
# 什么是 MCP 协议?
MCP 是一种标准化协议,旨在解决 AI 模型与应用系统之间的交互问题。它为 AI 提供了对应用系统代码和数据的上下文感知能力,而不仅仅是简单的代码补全或聊天问答。MCP 的作用类似于 USB-C 接口,为 AI 提供了一种标准化的方式,使其能够连接到不同的数据源和工具。
# RuleGo-Server 的 MCP 功能
开启 MCP 后,RuleGo-Server 会自动将以下资源注册为 MCP 工具:
组件工具
RuleGo 提供了覆盖 AI、CI/CD、ETL、IoT、数据库操作、网络操作、消息队列等领域的海量组件。AI 助手可以通过 MCP 协议调用这些组件,实现与其他系统的联动。 组件入参数和使用方式参考:标准组件 和 扩展组件。组件市场
RuleGo-Server 提供了一个在线组件市场 ,用户可以动态下载和安装组件,扩展系统的功能。规则链工具
规则链是 RuleGo 的核心功能,由多个组件节点和链接组成,定义了数据流转和处理规则。规则链支持在线编辑和热更新,可把规则链通过 MCP 协议动态提供工具,无限扩展智能体的边界。规则链市场
用户可以在规则链市场 中下载和安装规则链,并自动发布为 MCP 工具。RuleGo-Server API 工具
提供规则链的添加、删除、查看、更新等功能,为 AI 助手提供操作规则链的能力,让AI助手不单是使用工具,而且还能根据需要自行动态扩展工具。
# MCP 的核心价值:打通 AI + 应用的最后一公里
MCP 协议和 RuleGo-Server 的结合,为企业提供了以下关键能力:
增强 AI 对业务逻辑的理解
AI 助手通过 MCP 协议调用规则链工具,能够深入理解业务逻辑。例如,在复杂的订单处理流程中,AI 可以通过规则链工具实时跟踪订单状态,优化处理流程。实现智能自动化决策
AI 助手通过 MCP 协议获取实时数据,结合算法和模型进行智能分析和决策。例如,在实时监控系统中,AI 可以根据规则链的执行结果自动触发异常处理流程。扩展智能体边界
RuleGo 的组件和规则链为 AI 助手提供了无限扩展的可能性。例如:
- 通过 HTTP 组件访问外部 API,获取实时数据。
- 通过 Git 组件自动提交代码,实现 CI/CD 流程。
- 通过规则链实现复杂的业务逻辑,如自动化报表生成。
促进跨系统集成
MCP 协议为不同系统之间的集成提供了标准化方式。RuleGo-Server 作为中间层,将数据源和工具封装为 MCP 工具,实现跨系统的数据共享和业务协同。应用交互新范式
业务系统通过 RuleGo-Server 很容易将服务和数据封装为 MCP 工具,为 AI 助手提供更多智能业务场景。 例如,企业可以将内部系统的服务暴露为 MCP 工具,供外部 AI 助手调用。为AI智能体提供更多智能业务场景以及应用交互新范式,打通大模型AI与应用系统鸿沟。
# 总结
RuleGo-Server 的 MCP 功能为企业提供了一种全新的 AI 与应用交互方式,真正打通了 AI + 应用的最后一公里。通过 MCP 协议,企业可以快速构建智能业务场景,实现 AI 与应用系统的深度融合,为数字化转型提供强大支持。
# RuleGo-Server MCP 使用教程
# 准备工作
下载并启动 RuleGo-Server
从 下载页面 或者RuleGo 发布页面 (opens new window) 下载最新版本的 RuleGo-Server,并按照安装指南启动服务。确保 MCP 功能已启用
在启动 RuleGo-Server 之前,确保 MCP 功能已启用(默认启用)。您可以在config.conf
配置文件中进行设置。
# 启动配置
在 config.conf
配置文件中,配置 MCP 服务的相关参数:
[mcp]
# 是否启用 MCP 服务
enable = true
# 是否将组件注册为 MCP 工具
load_components_as_tool = true
# 是否将规则链注册为 MCP 工具
load_chains_as_tool = true
# 是否添加规则链 API 工具
load_apis_as_tool = true
# 排除的组件列表(支持通配符)
exclude_components = comment,iterator,delay,groupAction,ref,fork,join,*Filter
# 排除的规则链列表
exclude_chains =
# 用户列表配置
# 格式:username = password[,apiKey]
# 如果配置了 apiKey,调用方可以直接使用 apiKey 访问其他接口而无需登录
[users]
admin = admin,2af255ea5618467d914c67a8beeca31d # 管理员账号, 用户名: admin 密码: admin apiKey: 2af255ea5618467d914c67a8beeca31d
user01 = user01,2af255ea5618467d914c67a8beeca51c # 普通用户 01, 用户名: user01 密码: user01 apiKey: 2af255ea5618467d914c67a8beeca51c
user02 = user02 # 仅密码验证用户,不支持 apiKey 验证
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
- 多用户支持:配置多个用户,每个用户可以访问不同的接口。
- apiKey 配置:为用户配置 apiKey,以便直接使用 apiKey 访问接口而无需登录。
# 配置 MCP 服务地址
RuleGo-Server MCP 服务地址格式为:
http://{ip}:{port}/api/v1/mcp/{apiKey}/sse
例如,启动 RuleGo-Server 后,服务会打印以下地址:
2025/03/30 20:33:17 RuleGo-Server now running at http://127.0.0.1:9090
2025/03/30 20:33:17 RuleGo-Server mcp server running at http://127.0.0.1:9090/api/v1/mcp/2af255ea5618467d914c67a8beeca31d/sse
2025/03/30 20:33:17 started rest server on :9090
2
3
将 MCP 服务地址添加到 AI 助手的配置中。以下以 Cherry Studio 为例:
- 打开 Cherry Studio 设置。
- 找到 "MCP 服务器" 选项。
- 点击 "添加服务器"。
- 填写 MCP Server 的相关参数:
- 名称:自定义名称,例如
rulego-server
- 类型:选择
SSE
- URL:填写
http://127.0.0.1:9090/api/v1/mcp/2af255ea5618467d914c67a8beeca31d/sse
- 名称:自定义名称,例如
- 点击“确定”保存。
详细教程可参考 MCP 使用教程 (opens new window)。
# 组件工具使用示例
- 列出所有工具
在 AI 助手中启用 MCP 服务后,可以列出所有可用的 MCP 工具。 - 通过 HTTP 客户端访问网站
使用 HTTP 客户端组件访问外部 API,获取实时数据。 - 通过 GitLog 组件获取提交日志
使用 GitLog 组件获取代码仓库中的提交日志,自动生成版本发布文档。 - 使用数据库客户端查询数据
通过数据库客户端组件查询数据库,获取所需数据。
# 规则链工具使用示例
如果需要实现复杂的业务逻辑,可以使用规则链对组件进行组合编排。以下以“通过 ID 查询用户详情”为例,展示如何使用规则链提供 MCP 工具功能。
# 创建规则链
方式一:上传 DSL 文件
将组件 DSL 文件上传到data/workflows/{username}/rules
目录下(需要重启服务)。方式二:通过 API 安装组件
使用 RuleGo-Server 提供的 API 安装组件(无需重启服务):POST /api/v1/rules/:chainId
1请求体为规则链 DSL。
方式三:通过 RuleGo-Editor 编辑规则链
- 访问 RuleGo-Editor:
http://127.0.0.1:9090/editor
- 点击【新建】规则链。
- 填写规则链的 ID、名称和描述对应是:工具标识、工具名称、工具描述。
- 将需要的节点拖入画布中。
- 配置节点参数。
- 如果有多个节点,配置节点之间的连线关系。
- 点击【保存】按钮保存规则链。
- 访问 RuleGo-Editor:
# 示例规则链 DSL
{
"ruleChain": {
"id": "queryUser",
"name": "通过 ID 查询用户",
"debugMode": true,
"root": true,
"disabled": false,
"additionalInfo": {
"createTime": "2025/03/30 00:15:10",
"description": "通过 ID 查询用户",
"layoutX": "280",
"layoutY": "280",
"updateTime": "2025/03/30 00:15:10",
"username": "admin"
}
},
"metadata": {
"endpoints": [],
"nodes": [
{
"id": "node_1",
"additionalInfo": {
"layoutX": 660,
"layoutY": 270
},
"type": "dbClient",
"name": "操作用户表",
"debugMode": true,
"configuration": {
"driverName": "mysql",
"dsn": "root:root@tcp(127.0.0.1:3306)/test",
"getOne": true,
"poolSize": 0,
"sql": "select * from users where id=${msg.id}"
}
}
],
"connections": []
}
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# 注意事项
- MCP 工具规则链不应添加其他类型的【输入端】节点。
- 保存后,MCP 工具会自动实时生效,可以在 AI 助手中调用该规则链工具。
# 其他注意事项
- AI 助手支持:确保 AI 助手使用支持 MCP 调用的大模型。
- 配置文件过滤:通过
load_components_as_tool
、load_chains_as_tool
、load_apis_as_tool
、exclude_components
和exclude_chains
过滤和关闭某些组件或规则链,避免 MCP 工具被误用或干扰。 - 输入参数约束:规则链可以通过配置
ruleChain.additionalInfo.inputSchema
约束 AI 助手的输入参数,确保输入数据的正确性。
通过以上步骤,您可以快速上手 RuleGo-Server 的 MCP 功能,实现 AI 与应用系统的深度融合。