mcpField
G
garuda

garuda

本地服务
github.com/myshra777-ai开发工具3今天更新

关于 garuda

Garuda 是面向使用 AI 编码助手团队的变更治理 MCP 服务,可分析代码影响、按架构规则检查修改,并将保存的检查结果记录在防篡改日志中。

主要功能

  1. 01代码依赖影响分析
  2. 02提取并检查架构规则
  3. 03提供 ALLOW、WARN、REVIEW 或 BLOCK 判定
  4. 04区分新增问题与既有问题
  5. 05保存检查结果的防篡改记录

适用场景

  1. 01在 AI 修改代码前检查依赖
  2. 02阻止违反架构规则的变更
  3. 03审查不同指标公式之间的差异
  4. 04保留变更检查的审计记录

MCP 相关

`garuda-mcp` 通过标准输入输出运行,为支持 MCP 的助手提供 54 个工具和 6 项技能,包含只读操作和状态变更操作。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"myshra777-ai-garuda": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"DATABASE_URL",
"-e",
"GARUDA_WORKSPACE",
"ghcr.io/myshra777-ai/garuda-mcp:1.9.11"
],
"env": {
"DATABASE_URL": "<DATABASE_URL>",
"GARUDA_WORKSPACE": "<GARUDA_WORKSPACE>"
}
}
}
}
启动命令docker run -i --rm -e DATABASE_URL -e GARUDA_WORKSPACE ghcr.io/myshra777-ai/garuda-mcp:1.9.11
需要配置的环境变量
DATABASE_URL密钥PostgreSQL connection URL for the Garuda graph and ledger
GARUDA_WORKSPACEWorkspace name to govern

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
ocighcr.io/myshra777-ai/garuda-mcp:1.9.11

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Garuda 标志

Garuda

AI 可以编写代码。Garuda 确保更改符合你的系统要求。
为 AI 编写的代码提供变更控制。

正在带领工程团队? 两分钟了解商业价值 →

许可证:Apache 2.0 MCP 服务 Claude Code 插件 Codex 插件 GitHub Action

Garuda 仪表板:系统地图,守护功能已开启

▶ 观看仪表板演示视频


这是什么?

你让 AI 助手(Claude Code、Cursor、Codex……)修改代码。它运行正常,测试也通过了。 但它是否悄悄绕过了服务层、违反了团队去年商定的规则,或更改了财务团队依赖的数字?

你的助手擅长编写代码。但它不会自动了解团队做出的每项决策、系统中依赖这段代码的每个部分,或必须始终遵守的每条规则。

Garuda 是一个安全检查机制,位于 AI 助手与代码库之间:

  1. 编辑之前,Garuda 会告知助手哪些部分依赖这段代码,以及适用哪些规则。
  2. 编辑之后,Garuda 会根据规则检查更改,并给出允许、警告、审核或阻止的结论,同时提供清晰的修复说明。
  3. 已保存的决策会封存到防篡改日志中,以便你日后证明检查过什么,以及何时检查。

了解影响。执行规则。留存证据。

支持 Go、Python 和 TypeScript,更多语言即将推出。

从头到尾看一次变更

假设助手收到任务,要为支付处理程序添加一项功能。

  1. 它先询问 Garuda。 Garuda 回复:“还有 12 个部分依赖这里的代码。这是高风险代码。规则:支付处理程序不得直接访问数据库。”
  2. 助手进行编辑。 匆忙之中,它直接从处理程序调用数据库。
  3. Garuda 检查更改。 它发现违反了规则,给出阻止结论,并准确告诉助手应将什么移到哪里。
  4. 助手修复问题。 第二次检查给出允许结论。
  5. 结果已保存。 你会得到一份之后可以查阅的记录。

Garuda 还会区分此次更改引入的问题与原本就存在的问题。你不必先清理多年来积累的旧代码才能继续推进。你只需对新出现的问题负责。

Garuda 会像编译器一样读取 Go,因此结果可重复。Python 和 TypeScript 则根据代码结构进行读取,准确度不错,但分析不够深入(参见Garuda 不会做什么)。


开始体验(约 10 分钟)

1. 安装 · 3 分钟
git clone https://github.com/myshra777-ai/garuda.git
cd garuda
./setup.sh

setup.sh 会启动本地 PostgreSQL 数据库,将工具构建到 bin/,并启动仪表板。 最后会显示登录信息。Windows 用户请使用 setup.ps1。

只想先看看?npx garuda-guard demo 无需数据库即可运行下方的演示(需要 Node 18 或更高版本)。 想让 AI 助手帮你完成?复制适用于 ChatGPT、Claude、Codex 或 Cursor 的提示词。

想用一行命令?curl -fsSL https://raw.githubusercontent.com/myshra777-ai/garuda/main/install.sh | bash 可以完成相同操作。 (和任何通过管道传入 shell 的安装程序一样,请先阅读脚本。)

2. 观看它捕获三个预设缺陷 · 1 分钟
./bin/garuda demo

这会构建一个微型的虚拟支付服务,其中故意埋入了三个问题,然后使用 Garuda 的分析器进行分析,并列出 Garuda 专门用于捕获的问题。无需数据库:

预设问题重要性
支付处理程序直接与数据库交互绕过了本应负责保护资金流转的层
使用 float64 计算金额,并且有一份报告的数值偏差 10 倍(48 Cr 与 4.8 Cr)数值悄然出错
存储层导入了支付层依赖方向错误

你会看到每个问题、对应的确切文件和行号,以及一段简短的“修复方法”,AI 助手可以据此操作。 此服务和其中的三个问题都是为演示虚构的;演示只是列出这些问题,并不会检测它们。若要在真实代码中进行真实检测,请完成步骤 1,并在步骤 4 中运行 garuda check。Windows 用户请运行 .\bin\garuda.exe demo。

3. 打开仪表板 · 2 分钟

前往 **http://localhost:8080/login**,使用 setup.sh 打印出的登录信息登录。

仪表板自带的五步指南

仪表板首页会引导你完成五个步骤。以下是每个步骤的作用:

添加自己的项目。 点击 New Workspace,粘贴 GitHub 链接或文件夹路径,Garuda 就会为你读取代码。

粘贴仓库链接以创建工作区

清晰查看系统结构。 Garuda 不会展示一张错综复杂的大图,而是显示你所关注对象周围的小范围关联:谁调用它,以及它调用了什么。

聚焦的架构图

将书面决策转化为强制规则。 添加设计文档或决策记录(ADR)。Garuda 会提取其中的“必须”和“禁止”条目,并将它们关联到对应代码。还没有文档?它会根据你的代码起草一套规则,供你审核。

从设计文档到强制规则

发现彼此矛盾的数值。 如果两个团队用不同方式计算同一项指标,或者一个查询除以 1e7,另一个却除以 1e8,Garuda 会帮你对照这两个版本,展示它在代码中找到的公式,并请人来判断哪个才正确。它不会猜测。

数据和逻辑审计发现 10 倍差异

了解各项信号。 每个徽标都有固定含义:

Garuda 信号说明

你看到的内容含义
ALLOW / WARN / REVIEW / BLOCK对变更的判定。BLOCK 会阻止变更,并告知助手如何修复。
SUPPORTED在已检查的范围内,证据支持此声明。可以放心依赖。
UNVERIFIED在代码或文档中发现,但尚未确认。这不代表错误。
CONTRADICTED证据与你写下的规则或声明相冲突。
HIGH / MEDIUM / LOW tier有多少内容依赖这段代码。高等级代码受到保护,不会被 AI 悄然改写。
4. 将它指向你自己的代码 · 3 分钟
cd /path/to/your/project
/path/to/garuda/bin/garuda init . --wizard      # five short questions
/path/to/garuda/bin/garuda rulebook generate    # drafts rules from your code
/path/to/garuda/bin/garuda check . --diff HEAD  # checks what you just changed

不确定从哪些规则开始?选择一套现成规则:garuda init . --template layered(也可以选 hexagonal、microservices、no-circular-imports、financial、zero-trust-auth、ai-agent-safety、pii-gdpr-hipaa、idempotent-mutations 或 all)。这些规则位于 policies/templates/。

如果你正在从 ArchUnit、Dependency-Cruiser 或 Import Linter 迁移?garuda import --from archunit --input <file> 可以转换你现有的规则。

如果发现异常,请运行 ./bin/garuda doctor。它会检查你的数据库、迁移和钩子,并告知问题所在。

一页列出所有命令


将其接入 AI 助手

garuda init 会自动为 Claude Code、Claude Desktop 和 Cursor 完成设置。若要将其作为插件安装:

工具操作方法
Claude Code/plugin marketplace add myshra777-ai/garuda 然后运行 /plugin install garuda@garuda
OpenAI Codexcodex plugin marketplace add myshra777-ai/garuda
Cursor运行 garuda init;它会将规则和 MCP 设置写入项目(.cursor-plugin/ 中包含插件清单)
任何支持 MCP 的工具通过标准输入/输出运行 garuda-mcp(示例配置)

该插件需要 garuda-mcp 程序和数据库,因此请先完成上面的第 1 步。

助手将获得:54 个工具(41 个只读工具,13 个可更改状态的工具)和 6 个技能,即告诉助手何时使用这些工具的简短操作指南:

技能助手何时使用
pre-edit-governance修改代码之前:继续、修改,还是询问人工?
change-impact谁会调用它,影响会扩散到多大范围?
post-edit-verification编辑之后:此差异中是否出现了新的违规?
violation-repair更改被拦截;修复问题,同时避免破坏其他内容
architecture-review实际代码是否符合文档中描述的设计?
evidence-verification这项主张是否有代码支持,凭据是否真实?

检查每个拉取请求

助手表现良好只是一种期望。拉取请求检查则是一条规则。添加 GitHub Action,即可为每个拉取请求给出判定:

  • 运行摘要中会显示判定(ALLOW、WARN、REVIEW 或 BLOCK)和凭据哈希,并附上一行命令,供你在本机重现结果;
  • BLOCK 会使检查失败;
  • 使用现成的工作流 .github/workflows/garuda-gate.yml,还会在拉取请求中收到判定评论,并在 GitHub 的 Security 选项卡中看到检查结果;
  • 可通过 garuda check --notify-slack / --notify-teams 选择接收 Slack 或 Teams 提醒。

从 docs/GITHUB_MARKETPLACE_STRATEGY.md 复制可直接粘贴的代码片段,或直接使用 action.yml。

还需完成一步才能真正生效: 在仓库中前往 Settings → Rules(或 Branches),将 Garuda 检查设为必需的状态检查。在完成此操作之前,失败的检查只是一条警告,其他人仍可绕过它进行合并。


Garuda 不会做什么

我们希望你能信任本页的其他内容。

  • 它不是束缚助手的牢笼。 Garuda 会为助手提供上下文并拦截不良更改,但助手可以忽略建议,钩子也可以关闭。唯一不可跳过的检查,就是上面提到的必需拉取请求检查。
  • Garuda 对 Go 的理解比对 Python 和 TypeScript 更深入。 Go 代码会通过编译器自身的类型信息进行读取。Python 和 TypeScript 则按代码结构读取,这对导入、调用和分层的分析是准确的,但无法解析所有类型。
  • 并非每项检查都会自动存储。 只有保存检查结果后,该结果才会被封存到防篡改日志中。日志能证明记录之后未被更改,但不能证明分析是完整的。
  • 数字不匹配工具旨在帮助人工判断。 它们会将你指定的公式和值排列在一起,但不会自动理解公司中的所有财务计算。演示中 48 Cr 与 4.8 Cr 的对比是刻意设置的示例。
  • 本页的数字来自特定版本。 有关测量内容、对象和时间,请参阅 EVIDENCE.md。

适用对象

已经大量使用 AI 编码助手,并在有严格规则的真实代码库中工作的团队:例如不得跳过的层级、数据访问限制、安全要求或资金处理要求。如果你无法亲自审查 AI 编写的每一项更改,Garuda 就适合你。

免费版和付费版

以上所有功能都在本地运行,且免费开源(Apache 2.0)。托管和多团队功能(组织内共享策略、单点登录、长期审计存储)计划纳入付费版。

了解更多

让 AI 快速行动,同时掌控它所做的更改。
根据 Apache 2.0 许可证发布。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。