Code Sage
C

Code Sage

一个高性能的MCP服务器,用于语义代码搜索,采用Rust编写,支持混合搜索(BM25+向量嵌入)、AST智能分块和60多种编程语言。
2.5分
4.6K

什么是Code Sage?

Code Sage是一个智能代码搜索工具,专门为开发者设计。它能够理解代码的语义含义,而不仅仅是关键词匹配。通过分析您的代码库,它可以快速找到与您查询意图相关的函数、类和方法,大大提升代码查找效率。

如何使用Code Sage?

使用Code Sage非常简单:首先配置MCP客户端(如Claude Desktop),然后分析您的代码库创建索引,最后就可以使用自然语言查询来查找代码了。整个过程完全本地化,保护您的代码隐私。

适用场景

Code Sage特别适合以下场景: 1. 在新代码库中快速定位功能实现 2. 查找特定的业务逻辑或算法 3. 理解复杂的代码架构 4. 代码审查时快速找到相关代码 5. 学习开源项目时探索代码结构

主要功能

混合搜索技术
结合关键词搜索(BM25)和语义搜索(向量嵌入),通过RRF算法重新排序,提供最相关的结果。既保留传统搜索的精确性,又具备AI理解能力。
智能代码分块
使用AST(抽象语法树)技术将代码按语义单元(函数、类、方法)智能分割,而不是简单的字符分块。支持60+编程语言,包括主流语言如Python、JavaScript、Java、Rust等。
多模型支持
支持多种嵌入模型提供者:OpenAI云服务、LM Studio本地模型、Ollama本地部署。推荐使用LM Studio,提供更好的稳定性和本地隐私保护。
智能文件过滤
自动识别并尊重.gitignore文件,避免分析临时文件、构建产物等。同时支持自定义扩展名和忽略模式,灵活适应各种项目结构。
零外部依赖
所有数据存储在本地,无需连接外部数据库服务器。使用嵌入式存储引擎,确保数据安全和快速访问。
MCP协议兼容
完全兼容Model Context Protocol,可与Claude Desktop、Cursor等支持MCP的客户端无缝集成,提供统一的AI助手体验。
优势
🔍 语义理解:真正理解代码含义,不仅仅是关键词匹配
⚡ 高性能:Rust编写,处理速度快,内存效率高
🔒 隐私保护:所有数据本地存储,代码不上传云端
🔄 离线可用:使用本地模型时可完全离线工作
📚 多语言支持:60+编程语言和配置文件格式
🎯 精准搜索:混合搜索技术提供最相关的结果
局限性
📏 文件大小限制:单个文件不能超过1MB
🔧 需要配置:初次使用需要设置MCP客户端
💾 存储空间:索引会占用一定的磁盘空间
🔄 模型切换:更换嵌入模型时需要重新索引
📱 平台限制:Ollama在macOS M1上可能不稳定
⏱️ 首次索引:大型代码库首次分析需要时间

如何使用

安装与构建
从源码构建Code Sage。需要安装Rust 1.70+版本。
配置MCP客户端
在您的MCP客户端(如Claude Desktop)中添加Code Sage服务器配置。推荐使用LM Studio作为嵌入模型提供者。
设置嵌入模型
下载并启动LM Studio,加载nomic-embed-text模型,启动本地服务器。
分析代码库
使用analyze_code工具创建代码索引。首次分析可能需要一些时间,取决于代码库大小。
搜索代码
使用find_code工具通过自然语言查询查找代码。

使用案例

查找认证相关代码
在一个大型Web应用中,您需要找到所有与用户认证相关的代码,包括登录、注册、权限检查等。
查找特定API端点
您知道项目中有一个处理支付的回调API,但不确定具体位置和实现细节。
理解数据库架构
新加入项目,需要快速了解数据库相关的代码结构和数据模型。
代码审查辅助
在进行代码审查时,需要找到与特定功能相关的所有代码,确保没有遗漏。

常见问题

Code Sage需要联网吗?
支持哪些编程语言?
如何保护我的代码隐私?
分析大型代码库需要多长时间?
可以同时分析多个代码库吗?
更换嵌入模型后需要做什么?
如何添加对新文件类型的支持?
搜索结果的排序依据是什么?

相关资源

GitHub仓库
Code Sage的源代码和最新版本
MCP协议文档
Model Context Protocol官方规范
LM Studio官网
本地AI模型运行平台,推荐用于Code Sage
Ollama官网
本地大语言模型运行工具
Claude Desktop
支持MCP协议的AI助手桌面应用
架构文档
Code Sage的详细架构设计说明
问题反馈
提交bug报告和功能请求
讨论区
与其他用户交流使用经验

安装

复制以下命令到你的Client进行配置
{
  "mcpServers": {
    "code-sage": {
      "command": "/path/to/code-sage",
      "env": {
        "EMBEDDING_PROVIDER": "openai",
        "OPENAI_API_KEY": "lm-studio",
        "EMBEDDING_BASE_URL": "http://localhost:1234/v1",
        "EMBEDDING_MODEL": "nomic-embed-text",
        "DATA_DIR": "./data"
      }
    }
  }
}

{
  "mcpServers": {
    "code-sage": {
      "command": "/path/to/code-sage",
      "env": {
        "EMBEDDING_PROVIDER": "openai",
        "OPENAI_API_KEY": "sk-your-key-here",
        "EMBEDDING_MODEL": "text-embedding-3-small",
        "DATA_DIR": "./data"
      }
    }
  }
}

{
  "mcpServers": {
    "code-sage": {
      "command": "/path/to/code-sage",
      "env": {
        "EMBEDDING_PROVIDER": "ollama",
        "EMBEDDING_BASE_URL": "http://localhost:11434",
        "EMBEDDING_MODEL": "nomic-embed-text",
        "DATA_DIR": "./data"
      }
    }
  }
}

{
  "mcpServers": {
    "code-sage": {
      "command": "/path/to/code-sage",
      "env": {
        "EMBEDDING_PROVIDER": "openai",
        "OPENAI_API_KEY": "sk-your-key-here",
        "EMBEDDING_MODEL": "text-embedding-3-small",
        "DATA_DIR": "./data",
        "DEFAULT_TOP_K": "10",
        "MIN_SCORE": "0.3",
        "RRF_K": "100",
        "CHUNK_SIZE": "2500",
        "CHUNK_OVERLAP": "300",
        "BATCH_SIZE": "100",
        "MAX_CHUNKS": "450000"
      }
    }
  }
}
注意:您的密钥属于敏感信息,请勿与任何人分享。

替代品

A
Acemcp
Acemcp是一个代码库索引和语义搜索的MCP服务器,支持自动增量索引、多编码文件处理、.gitignore集成和Web管理界面,帮助开发者快速搜索和理解代码上下文。
Python
8.4K
5分
B
Blueprint MCP
Blueprint MCP是一个基于Arcade生态的图表生成工具,利用Nano Banana Pro等技术,通过分析代码库和系统架构自动生成架构图、流程图等可视化图表,帮助开发者理解复杂系统。
Python
7.5K
4分
M
MCP Agent Mail
MCP Agent Mail是一个为AI编程代理设计的邮件式协调层,提供身份管理、消息收发、文件预留和搜索功能,支持多代理异步协作和冲突避免。
Python
8.4K
5分
M
MCP
微软官方MCP服务器,为AI助手提供最新微软技术文档的搜索和获取功能
11.7K
5分
A
Aderyn
Aderyn是一个开源的Solidity智能合约静态分析工具,由Rust编写,帮助开发者和安全研究人员发现Solidity代码中的漏洞。它支持Foundry和Hardhat项目,可生成多种格式报告,并提供VSCode扩展。
Rust
10.6K
5分
D
Devtools Debugger MCP
Node.js调试器MCP服务器,提供基于Chrome DevTools协议的完整调试功能,包括断点设置、单步执行、变量检查和表达式评估等
TypeScript
9.9K
4分
S
Scrapling
Scrapling是一个自适应网页抓取库,能自动学习网站变化并重新定位元素,支持多种抓取方式和AI集成,提供高性能解析和开发者友好体验。
Python
10.6K
5分
M
Mcpjungle
MCPJungle是一个自托管的MCP网关,用于集中管理和代理多个MCP服务器,为AI代理提供统一的工具访问接口。
Go
0
4.5分
F
Figma Context MCP
Framelink Figma MCP Server是一个为AI编程工具(如Cursor)提供Figma设计数据访问的服务器,通过简化Figma API响应,帮助AI更准确地实现设计到代码的一键转换。
TypeScript
62.7K
4.5分
F
Firecrawl MCP Server
Firecrawl MCP Server是一个集成Firecrawl网页抓取能力的模型上下文协议服务器,提供丰富的网页抓取、搜索和内容提取功能。
TypeScript
114.8K
5分
D
Duckduckgo MCP Server
已认证
DuckDuckGo搜索MCP服务器,为Claude等LLM提供网页搜索和内容抓取服务
Python
67.2K
4.3分
E
Edgeone Pages MCP Server
EdgeOne Pages MCP是一个通过MCP协议快速部署HTML内容到EdgeOne Pages并获取公开URL的服务
TypeScript
26.7K
4.8分
E
Exa Web Search
已认证
Exa MCP Server是一个为AI助手(如Claude)提供网络搜索功能的服务器,通过Exa AI搜索API实现实时、安全的网络信息获取。
TypeScript
44.6K
5分
B
Baidu Map
已认证
百度地图MCP Server是国内首个兼容MCP协议的地图服务,提供地理编码、路线规划等10个标准化API接口,支持Python和Typescript快速接入,赋能智能体实现地图相关功能。
Python
41.1K
4.5分
C
Context7
Context7 MCP是一个为AI编程助手提供实时、版本特定文档和代码示例的服务,通过Model Context Protocol直接集成到提示中,解决LLM使用过时信息的问题。
TypeScript
84.5K
4.7分
M
Minimax MCP Server
MiniMax Model Context Protocol (MCP) 是一个官方服务器,支持与强大的文本转语音、视频/图像生成API交互,适用于多种客户端工具如Claude Desktop、Cursor等。
Python
52.1K
4.8分
AIBase
智启未来,您的人工智能解决方案智库
© 2025AIBase