我做了一个基于 AST 的 Code MCP,节省 70% Token,在 X 上爆火(54K+ 浏览)

0 阅读2分钟

上周,我开源了一个轻量级的 Code MCP 服务,它使用 AST(抽象语法树)解析来让 AI 编码智能体真正理解你的代码库。结果在 X 上爆火了,获得了 54K+ 浏览。

爆火推文链接:x.com/RoundtableS…

问题:AI 编码智能体正在浪费大量 Token

如果你用过 Claude Code、Codex、Cursor 或者任何 AI 编码智能体,你可能已经发现了:它们会把整个文件塞入上下文,只是为了理解你的代码结构。这样做既贵又慢,而且极其浪费。

实际上,智能体不需要你的整个文件。它只需要知道 有哪些函数、定义了哪些类、它们之间的关系是什么

解决方案:基于 AST 的语义代码搜索

我做了 cocoindex-code —— 一个超轻量级的嵌入式 MCP:

  • 基于 tree-sitter 解析 AST,提取有意义的代码块(函数、类、方法)
  • 创建语义向量嵌入,让智能体按意义搜索而不是纯文本匹配
  • 只重新索引变更的文件 —— 基于 Rust 增量索引引擎
  • 无需数据库、无需 API Key,开箱即用

结果?节省 70% Token,编码智能体响应明显加快。

1 分钟安装 - 零配置

Claude Code:

pipx install cocoindex-code
claude mcp add cocoindex-code -- cocoindex-code

Codex:

codex mcp add cocoindex-code -- cocoindex-code

就这样。不需要数据库,不需要 API Key,不需要配置文件。

底层原理

  1. Tree-sitter 解析 —— 把代码拆分成语义块(函数、类等),支持20+ 种语言
  2. 本地嵌入模型(SentenceTransformers)—— 创建向量表示,完全免费,无需 API Key
  3. SQLite + 向量搜索 —— 本地存储,轻量便携
  4. 增量索引 —— 通过 CocoIndex(Rust 引擎)只处理变更的文件

当智能体需要查找代码时,它调用 search MCP 工具,用自然语言查询,返回精确的代码块、文件路径和行号。

为什么爆火?

  1. 真实痛点 —— 每个用 AI 编码的人都感受过 Token 燃烧的痛
  2. 零摩擦 —— 一条 pip install + 一条 mcp add 命令
  3. 无供应商锁定 —— 支持 Claude、Codex、Cursor 等所有 MCP 兼容智能体
  4. 开源 (Apache 2.0) —— 代码完全透明
  5. 无需 API Key —— 默认嵌入模型本地运行,完全免费

支持语言

Python、JavaScript/TypeScript、Rust、Go、Java、C/C++、C#、Ruby、Kotlin、Swift、SQL、Shell 等。基于 tree-sitter 语法,添加新语言非常简单。

接下来

我们正在积极开发:

  • 更好的代码专用嵌入模型(推荐有 GPU 的同学试试 nomic-ai/CodeRankEmbed
  • 企业级功能:大型代码库支持、团队共享索引
  • 更多 MCP 工具

GitHub 仓库:github.com/cocoindex-i… —— 520+ Star,快速增长中。

基于 CocoIndex 构建,我们的开源 Rust 数据索引框架。

欢迎试用,有问题欢迎在评论区讨论或在 GitHub 提 Issue!