GeminiCLI MCP Antigravity Server

wu55246842/GeminiCLI_MCP_Antigravity
0 starsCommunity

Install to Claude Code

This server doesn't publish a one-line install command. Follow the setup in the source repository.

Summary

A local MCP server for code analysis and investigation, providing tools like code search, file read, and symbol hint via SSE for integration with Gemini CLI and Antigravity.

README.md

GeminiCLI MCP Antigravity Server

A local Model Context Protocol (MCP) server designed for code analysis and investigation without code modification. Supports connection via SSE, enabling seamless integration with Gemini CLI and Antigravity.

特性

  • 提供 5 组强大的 MCP Tools
  • repo_list: 枚举工作区根目录文件
  • code_search: 强大的基于 Ripgrep (支持回退 Node.js) 的全库内容检索
  • file_read: 精确读取指定文件的指定行以提供引用证据
  • symbol_hint: 基于正则探索常见源文件的符号(Class、Function、API Endpoints)
  • build_investigation_report: 生成事故排查标准的 Markdown 模板报告
  • 严格的安全沙盒:限制只能读取 WORKSPACE_ROOT 内的文件,原生支持 allowlist/denylist,忽略常见 build 目录。
  • 本地审计:自动日志记录至 data/audit.log 包含每次 Tool 调用的参数,不写回用户文件修改。
  • 专为 Windows 11 设计:开箱即跑的 Node.js/TypeScript 实现。

环境要求

  • Node.js: v18.x 或更高
  • OS: Windows 11 (也可兼容 Linux/macOS)
  • 可选依赖: Ripgrep (rg)(如未安装会自动降级为 Node 实现)

快速安装与启动

  1. 在项目目录执行依赖安装:
   npm install
  1. 复制环境变量示例:
   copy .env.example .env
  1. 编辑 .env 文件:
   # 服务运行的端口
   PORT=3001
   
   # 你期望分析的目标项目的绝对路径
   WORKSPACE_ROOT=D:/Your/Target/Project
   
   # 如果需要强制指定 ripgrep 路径(如果你有)
   # RG_PATH=C:/Program Files/ripgrep/rg.exe
  1. 编译并启动服务:
   npm run build
   npm start

启动成功后,控制台会打印:Listening on http://127.0.0.1:3001

---

客户端配置示例(SSE 接入)

如何将同一 Server 同时接入 Gemini CLI 和 Antigravity?

你只需要把上述 npm start 开启的 Server 保持在后台独立运行,然后在 Gemini CLI 和 Antigravity 中都配置接入这个 http://127.0.0.1:3001/sse 节点即可。因为是基于 HTTP 的 SSE (Server-Sent Events) 长连接,同一个端口可以接受多个 Client 并发连接并响应调用。

1. Gemini CLI 接入 (~/.gemini/settings.json) 参见 examples/gemini-settings.json: ``json { "mcp": { "servers": { "local_code_analysis": { "url": "http://127.0.0.1:3001/sse" } } } } ``

2. Antigravity 接入 (mcp_config.json) 参见 examples/antigravity-mcp_config.json: ``json { "mcpServers": { "geminiCLI-MCP": { "url": "http://127.0.0.1:3001/sse" } } } ``

---

常见分析问题示例模板 (Sample Queries)

Q: “如何用它找一个 error code 在哪里抛出?” 给 AI 发送的 Prompt: > “请使用 code_search 检索 ERR_DB_TIMEOUT_001,找到它被抛出的具体文件和行号,并用 file_read 读取抛出位置的上下 20 行,告诉我触发超时错误前的业务逻辑。”

Q: “如何让它总结某个 API 的 data flow(入口->service->repo->SQL/topic)?” 给 AI 发送的 Prompt: > “首先用 symbol_hint 找出所有的 endpoint,告诉我处理 POST /api/v1/orders 的 Controller 是什么。发现是 OrderController.ts 后,请用 code_search 看看里面调用了哪个 Service。接着顺藤摸瓜检索该 Service 里的 Repository 调用,并总结从入口到 SQL 写入数据库的完整 data flow(仅输出 markdown 说明,禁止修改代码)。”

---

常见问题排查 (Troubleshooting in Windows 11)

  1. 端口被占用 (EADDRINUSE)`

问题: 无法绑定 3001 端口。 解决: 在 .env 中修改 PORT=3002,并同步修改各客户端配置的 URL。

  1. "Path access denied" 错误

问题: 你试图跨盘符或检索不在 WORKSPACE_ROOT 定义的文件夹。 解决: 检查你 code_searchfile_read 传入的是相对路径还是包含在 WorkSpace 下的真实绝对路径。

  1. 没有找到 Ripgrep

问题: 终端出现 Ripgrep search failed... falling back to nodefs search.解决: 纯提示信息,系统已自动平滑降级到 Node 原生搜索。如果项目非常大,推荐通过 winget install BurntSushi.ripgrep.MSVC 安装 rg 以获取百倍速度提升。

原理说明

在本项目(GeminiCLI_MCP_Antigravity)的语境下,Antigravity 是另一个可以接入该 MCP 服务的“客户端”,它与 Gemini CLI 的作用互补。

如果说 Gemini CLI 是你的“文字助手”,那么 Antigravity 通常被视为你的“图形化代码分析工作台”。

它的核心作用如下:

  1. 提供可视化交互界面 (GUI)

Gemini CLI 运行在终端,交互以文字为主。而 Antigravity 通常提供一个更直观的界面,可以让你在侧边栏看到文件树,或者在更宽敞的窗口中阅读 AI 生成的代码分析报告、调用图等。

  1. 共享“后端”探针

这个项目的最大特色是“一服多用”。你运行的那个 npm start 开启的 SSE 服务器(3001 端口),可以同时被两个客户端连接:

  • Gemini CLI:负责快速的、基于命令行的即时问答。
  • Antigravity:负责更深度的、需要可视化展示的复杂项目排查。
  1. 专注“事故排查”与“代码调查”

Antigravity 往往内置了更复杂的 Prompt 模板和工作流(Workflow)。例如,本项目中专门提供了一个工具叫 build_investigation_report:

  • 当你使用 Antigravity 时,它可以调用这个工具自动生成一份符合行业标准的 Markdown 事故排查报告。
  • 它擅长处理“顺藤摸瓜”式的逻辑推导,比如:入口 A -> 服务 B -> 数据库 C 的数据流向图,在 Antigravity 中展示会比在命令行中更易读。
  1. 离线/本地化优先

Antigravity 和该 MCP Server 的设计初衷都是为了隐私和性能。

  • 它不需要把你的整个 Java 项目(ib)上传到云端。
  • 它利用本地的 ripgrep (rg) 进行秒级搜索,然后只把 AI 关心的那一小段代码片段发送给大模型处理。

总结

  • MCP Server (本项目):是“眼睛和手”,负责去硬盘上读代码、搜关键字。
  • Gemini CLI:是“对讲机”,让你通过命令行指挥。
  • Antigravity:是“大屏幕监控室”,让你更全局、更直观地进行代码分析和问题定位。

1 MCP 服务端:通过 /sse 和 /message 路由,继续为 Gemini CLI 和 Antigravity 提供本地代码检索能力。 2 Web 助手服务端:通过 / 路由提供静态网页,通过 /api/chat 路由接收网页端发来的图片和文字,并在 Node.js 后台调用 Google 的 Gemini API 进行回答。

Related MCP servers

Browse all →