GOGO-代码智能MCP服务器
冲冲 是本地第一个模型上下文协议(MCP)服务器,它为AI代理提供了一个可搜索的代码库矢量数据库,而不需要重型硬件。
特性
- 超低内存占用:使用Matryoshka表示学习和二进制量化进行96-99%的压缩
- 混合搜索:结合向量相似性、BM25关键字搜索和符号查找
- 智能分块:基于树的函数、类和方法提取
- 代码智能:符号定义、调用图、参考查找等
- Git感知同步:仅重新索引更改的文件(增量更新)
- 本地优先:所有处理都通过Olama在您的机器上进行
- 文件监视:文件更改时自动同步
需求
- Python 3.11+
- 奥拉玛 随着
nomic-embed-text模型 - 4GB+内存
安装
安装Ollama并拉动嵌入模型:
ollama pull nomic-embed-text然后从来源:
git clone https://github.com/eccreativ/gogo-mcp.git
cd gogo-mcp
uv sync配置
添加到您的Claude桌面配置(~/Library/Application Support/Claude/claude_desktop_config.json 在macOS上):
{
"mcpServers": {
"gogo": {
"command": "uv",
"args": ["run", "gogo-server"],
"cwd": "/path/to/gogo-mcp"
}
}
}MCP工具
索引
| 工具 | 说明 |
|---|---|
index_directory | 具有并行树型解析的代码库的完整索引 |
sync_index | Git感知增量同步(仅更改文件) |
clear_index | 删除代码库的索引 |
watch_directory | 文件更改时自动同步 |
unwatch_directory | 停止查看目录 |
搜索
| 工具 | 说明 |
|---|---|
super_grep | 强大的统一搜索 -将向量相似性、BM25、符号查找和引用搜索组合在一个调用中 |
code_research | 具有查询意图分类的语义搜索 |
find_references | 查找符号的所有用法(调用、导入、继承) |
代码智能
| 工具 | 说明 |
|---|---|
get_symbol_definition | O(1)查找函数/类的定义位置 |
get_codebase_overview | 高层架构:入口点、关键类、文件结构 |
get_call_graph | 这个函数叫什么?它叫什么? |
get_related_symbols | 查找经常一起使用的符号(共现分析) |
使用示例
为代码库建立索引
index_directory("/path/to/your/project")使用super_grep搜索
super_grep("authentication", "/path/to/project")退货:
- 与“身份验证”匹配的符号定义
- 所有参考文献/用法
- 语义相似的代码
- 相关符号
获取代码库概述
get_codebase_overview("/path/to/project")退货:
- 文件计数、符号计数、引用计数
- 符号类型细分(函数、类等)
- 入口点(主要功能、处理程序)
- 具有方法计数的关键类
探索功能
get_call_graph("handleLogin", "/path/to/project", direction="both")退货:
- 定义功能的地方
- 所有来电者(拨打此电话的人)
- 所有被叫者(这叫什么)
建筑
堵塞管道
- 使用解析代码 树保姆 (支持30多种语言)
- 将函数、类、方法提取为单独的块
- 增加元数据(导入、签名、文档字符串)
- 用Ollama嵌入每个块
矢量压缩
速度+准确性的两阶段检索:
- 第一阶段:汉明距离滤波器
- 二进制量化向量(256位) - 快速XOR+计数 - 返回前100名候选人
- 第二阶段:余弦相似度重新排序
- MRL截断浮点向量(256维) - 精准排名 - RRF与BM25评分融合
索引
| 索引 | 目的 |
|---|---|
| 矢量(二进制) | 快速相似性搜索 |
| 矢量(MRL浮动) | 精确重新排序 |
| BM25(FTS) | 关键字搜索 |
| 符号 | O(1)定义查找 |
| 参考文献 | 调用图,用法 |
支持的语言
Python、JavaScript、TypeScript、Go、Rust、Java、C、C++、C#、Ruby、PHP、Swift、Kotlin、Scala、Lua、R、Julia、Elixir、Erlang、Haskell、OCaml、Clojure、Perl、Dart等等。
演出
- 记忆:每个代码块约16个字节(标准RAG为3KB)
- 索引:并行树保姆解析+并行嵌入
- 搜索:100K+块上小于100ms
- 压缩:96-99%与全float32向量
发展
# Install dependencies
uv sync
# Run tests
uv run pytest
# Run server directly
uv run gogo-server许可证
MIT许可证-请参阅 许可证 文件。
学分
内置:
