关于 Rosentic
Rosentic 是供 AI 编码 Agent 使用的 MCP 服务,可在合并前检查活跃 Git 分支间的结构契约冲突。它通过 tree-sitter AST 分析本地代码,覆盖 15 种以上语言,并非 AI 代码审查。
主要功能
- 01跨分支契约检查
- 02函数签名不匹配检测
- 03HTTP 路由冲突检测
- 04架构不匹配检测
- 05冲突说明
- 06本地仓库扫描
适用场景
- 01合并前检查分支兼容性
- 02查找受函数签名变更影响的调用方
- 03检测 API 请求或路由冲突
- 04识别会破坏依赖分支的架构变更
MCP 相关
它向 MCP 客户端提供 `check_conflicts`、`explain_conflict` 和 `list_branches` 工具。扫描在本地 Git 仓库中运行。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
3收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| base | string | 否 | 用于分支差异比较的基准分支。默认为 main。 |
| branch | any | 否 | 要与其他活动分支进行检查的分支。如果省略,则使用当前已检出的分支。 |
| format | enum | 否 | 简洁文本请使用 summary。只有当 Agent 需要 finding_ids 或完整的结构化发现时,才使用 json。summary | json |
| branches | any | 否 | 要扫描的分支名称的显式列表。绕过枚举和期限筛选。确切知道要检查哪些分支时使用。 |
| repo_path | string | 是 | 要扫描的本地 git 仓库的绝对路径或相对路径。 |
详细介绍
Rosentic - 跨分支合并安全性
Rosentic 会在合并前检查你当前使用的分支之间是否兼容。它使用确定性的 AST 分析,检测 15 种以上语言中的函数签名错误、HTTP 路由冲突和架构不匹配。
这不是 AI 代码审查。 Rosentic 会找出可能导致合并后运行时故障的结构性契约冲突——这类问题测试无法发现,因为测试每次只会在一个分支上运行。
安装
pip install rosentic-mcp
然后将其添加到编辑器的 MCP 配置中:
{
"mcpServers": {
"rosentic": {
"command": "rosentic-mcp",
"args": [],
"env": {}
}
}
}
适用于 Cursor、Claude Code、Cline、Windsurf 以及任何支持 MCP 的编辑器。
功能
Rosentic 为你的 AI 编码 Agent 提供三个 MCP 工具:
| 工具 | 用途 |
|---|---|
check_conflicts | 扫描代码库,查找跨分支契约冲突 |
explain_conflict | 解释某个具体发现及其处理方法 |
list_branches | 列出活跃分支,以便 Agent 选择要扫描的分支 |
Rosentic 能捕获的冲突示例
- 分支 A 为
createOrder()添加了一个必需参数。分支 B 仍使用旧签名调用createOrder()。两者都能通过 CI,但合并后会导致生产环境故障。 - 分支 A 修改
POST /api/users,要求请求正文中必须包含email。分支 B 的前端仍发送旧格式的负载。 - 分支 A 从 GraphQL 类型中移除了一个字段,而分支 B 的查询依赖该字段。
工作原理
推送、创建 PR 或合并之前,你的 Agent 会运行跨分支兼容性检查。它会调用 check_conflicts,使用 tree-sitter AST 解析扫描代码库各分支的最新提交,并报告所有冲突。
代码不会离开你的设备。扫描会在本地针对你的 git 代码库运行。
与 Semgrep Guardian 的比较
Semgrep Guardian 会检查每个文件中的安全漏洞和代码问题。Rosentic 会检查你的分支之间是否兼容。它们解决的是不同问题,搭配使用效果很好:
- Semgrep Guardian:“这段代码本身是否安全且正确?”
- Rosentic:“合并这个分支时会破坏其他分支吗?”
链接
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。