Token导航 LogoToken导航

MCP Server · 搜索检索

Code Sage

Code Sage是一个高性能的MCP服务器,用于语义代码搜索,支持混合搜索(关键词+向量嵌入)和AST智能分块,适用于本地代码库分析。

未说明官方级别未说明来源级核验工具 4
搜索本地存储RustClaude代码分析Claude DesktopCursor

快速开始

公开资料没有提供安装命令,按仓库或官方文档接入。
作者 / 组织
faxioman
提供方
faxioman

工具数量

4

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

7

仓库热度

收录来源

1 个

MCP World

选型结论

Code Sage 属于搜索检索类 MCP Server,公开资料标注 4 个工具,通过传输方式未标注接入,适配 Claude Desktop、Claude、Cursor,没有现成的安装命令;接入前先确认权限范围。

分类

搜索检索

传输方式

未说明

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

公开目录没有给出安装命令,需要按仓库 README安装;下面按同类条目的通用流程说明。

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    先确认运行方式

    公开资料没有标注传输方式,先看仓库 README,确认是本地进程还是远程地址。

  2. 2

    获取服务

    公开目录没有给出安装命令,按仓库 README里的步骤安装或获取服务。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 4 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

公开资料仍需确认:安装命令

详细介绍

代码圣人

高性能 MCP(模型上下文协议)服务器 用于语义代码搜索,用Rust编写。

特性

  • 混合搜索:将BM25(基于关键字)+向量嵌入(语义)与RRF重新排序相结合
  • 基于AST的分块:使用树状图将代码智能地拆分为语义单元(函数、类、方法)

- 基于角色的回退:对于AST解析失败或不可用的文件 - 全面的语言支持:开箱即用支持60多个文件扩展名

  • 智能文件筛选:

- 自动.gitignore支持(尊重.gitignores、.ignore、.git/info/exclude) - 支持项目特定文件类型的自定义文件扩展名 - 无需配置-开箱即用

  • 嵌入式存储:零外部依赖关系-所有数据都存储在本地

- USearch用于向量相似性搜索 - Tantivy for BM25全文搜索 - 用于元数据存储的雪橇

  • 多个嵌入提供程序:

- 内置(默认) -集成了llama.cpp和nomic-embed-ext-v1.5,零外部依赖 - OpenAI(文本嵌入-3小,文本嵌入-3大) - Ollama(当地嵌入)

  • MCP兼容:适用于Claude Desktop、Cursor和其他MCP客户端
  • 多语言支持:

- 编程语言(AST):Rust、Python、JavaScript/TypeScript、Java、C/C++、Go、C#、Swift、Kotlin、Ruby、Elixir、Objective-C、PHP、Scala - 配置/标记(AST):JSON、YAML、XML、HTML、CSS、SCSS、TOML、Markdown - iOS/macOS:.xib、.screator、.plist(通过XML解析器)、.xcconfig(通过TOML解析器) - 安卓/Java:.xml(布局、清单)、.gradle、.properties - 构建系统:.cmake、.sbt、.make、Makefile、CMakeLists.txt - SHELL脚本:.sh、.bash、.zsh、.fish - 基于角色的回退:.ini、.txt、.rst以及通过添加的任何扩展名 custom_extensions

建筑

看 建筑.md 获取详细的架构文档。

关键设计决策:

  1. 纯语义混合搜索:结合关键字和语义搜索以获得更好的结果
  2. 嵌入式客户端服务器:一切都在本地运行,不需要矢量数据库服务器
  3. AST先退:可能时进行语义组块,需要时基于字符
  4. 性能生锈:高效的内存使用和快速的处理

安装

先决条件

  • Rust 1.70+(2021年版)
  • 内置提供程序不需要外部依赖

从源代码构建

git clone https://github.com/faxioman/code-sage.git
cd code-sage
cargo build --release

二进制文件将在 target/release/code-sage

平台特定构建

Code Sage会自动检测您平台的最佳GPU加速:

macOS(苹果硅):

cargo build --release --features metal

配备NVIDIA GPU的Linux/Windows:

cargo build --release --features cuda

仅CPU(通用兼容性):

cargo build --release --no-default-features

默认版本: 默认值 gpu-acceleration 该功能支持平台检测,但不包括任何特定的GPU后端。使用上述平台特定功能以获得最佳性能。

用法

零设置配置

添加到您的MCP客户端配置中(例如,Claude Desktop):

{
  "mcpServers": {
    "code-sage": {
      "command": "/path/to/code-sage"
    }
  }
}

就是这样!Code Sage将:

  • 自动使用内置的nomic-embed-ext-v1.5型号
  • 存储数据于 ~/.code-sage/ (自动创建)
  • 首次使用时下载模型(79MB)
  • 在GPU加速可用时立即工作

高级配置

自定义数据目录

覆盖默认值 ~/.code-sage/ 位置:

{
  "mcpServers": {
    "code-sage": {
      "command": "/path/to/code-sage",
      "env": {
        "DATA_DIR": "/custom/path/to/data"
      }
    }
  }
}
OpenAI(基于云)

如果你更喜欢云嵌入而不是内置的本地模型:

{
  "mcpServers": {
    "code-sage": {
      "command": "/path/to/code-sage",
      "env": {
        "EMBEDDING_PROVIDER": "openai",
        "OPENAI_API_KEY": "your-openai-api-key",
        "EMBEDDING_MODEL": "text-embedding-3-small"
      }
    }
  }
}
Ollama(当地)

如果你已经让Ollama跑步了:

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

高级参数

可选参数可以添加到 env 章节:

{
  "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"
      }
    }
  }
}

可用的MCP工具

1. analyze_code

通过分析函数、类和方法创建代码的可搜索索引:

{
  "path": "/absolute/path/to/codebase",
  "force": false,
  "splitter": "ast",
  "custom_extensions": [".proto", ".sql"],
  "ignore_patterns": ["*.test.ts", "tmp/*"]
}

参数:

  • path (必填):代码库目录的绝对路径
  • force (可选):如果已分析,则强制重新分析(默认值:false)
  • splitter (可选):分块策略-“ast”或“langchain”(默认:“ast”)
  • custom_extensions (可选):除了60多个默认文件扩展名之外,还需要分析其他文件扩展名(例如\[“.proto”,“.graphql”\])
  • ignore_patterns (可选):要忽略的其他模式(补语.gitignore)

文件选择的工作原理:

  1. 扩展过滤:仅分析具有支持扩展名的文件(默认60多个)
  2. Gitignore尊重:自动尊重 .gitignore, .ignore,以及 .git/info/exclude
  3. 自定义扩展:使用 custom_extensions 添加默认值之外的特定于项目的文件类型
  4. 隐藏文件:默认情况下跳过

默认支持的扩展 (总计60+):

  • 核心语言:.rs、.py、.js、.jsx、.ts、.tsx、.java、.c、.h、.cpp、.hpp、.go、.cs、.swift、.kt、.rb、.ex、.exs、.m、.mm、.php、.scale
  • JS/TS变体:.mjs、.cjs
  • 配置格式:.json、.yaml、.yml、.toml、.xml、.ini
  • iOS/macOS:.xib、故事板、.plist、.xcconfig
  • 安卓/Java:.gradle、.properties
  • 构建系统:.cmake、.sbt、.make
  • 网页/造型:.html、.htm、.css、scss、sass、.less
  • SHELL脚本:.sh、.bash、.zsh、.fish
  • .NET:.csproj、.sln、.config、.props、.targets
  • 红宝石:.gemspec,.rake
  • 灵药:.ex,.exs
  • 文档:.md、.markdown、.txt、.rst
  • 笔记本: .ipynb

示例-添加自定义扩展:

{
  "path": "/path/to/project",
  "custom_extensions": [".proto", ".graphql", ".vue", ".svelte"]
}

退货:带有成功/错误消息的JSON

2. find_code

使用自然语言问题查找代码:

{
  "path": "/absolute/path/to/codebase",
  "query": "authentication logic",
  "limit": 10,
  "extension_filter": [".ts", ".js"]
}

退货:带有搜索结果和格式化代码片段的JSON

3. delete_index

删除代码库的搜索索引:

{
  "path": "/absolute/path/to/codebase"
}

退货:带确认消息的JSON

4. check_status

检查代码分析是否已完成、正在进行或失败:

{
  "path": "/absolute/path/to/codebase"
}

退货:带状态的JSON(已分析、用%分析、失败或未找到)

运作原理

1.索引管道

Code Files
    ↓
AST Parsing (tree-sitter)
    ↓
Semantic Chunks (functions, classes)
    ↓
Embeddings (Builtin/OpenAI/Ollama)
    ↓
Storage (USearch + Tantivy + Sled)

2.混合搜索

Query
    ↓
    ├─→ Vector Search (USearch) → Top 50 results
    │
    └─→ BM25 Search (Tantivy) → Top 50 results
    
    ↓
RRF Reranking (merge with k=100)
    ↓
Final Results (Top K)

RRF(互惠等级融合): 混合搜索使用RRF重新排序,根据向量和BM25搜索的排名位置而不是原始分数来平衡结果。这创建了一个公平平衡的最终排名,将语义相关性与关键字匹配相结合。 了解有关RRF的更多信息

RRF公式使用以下公式组合排名: score = 1/(k + rank) 哪里 k 是一个平滑参数(默认值:100,可通过以下方式配置 RRF_K 环境变量)。

开发设置

# Install dependencies
cargo build

# Run tests
cargo test

# Run with logging
RUST_LOG=debug cargo run

# Format code
cargo fmt

# Lint
cargo clippy

灵感与信用

该项目的灵感来源于:

  • 克劳德语境 -原始TypeScript实现
  • 围绕混合搜索和AST分块的设计决策
  • MCP协议实现模式

主要区别:

  • 用Rust编写以提高性能
  • 嵌入式存储(无需Milvus/Qdrant服务器)
  • 简化的架构
  • 原生二进制文件(更易于部署)
  • 更简单的处理程序响应(JSON字符串)

许可证

MIT许可证-请参阅 许可证

已知问题和限制

  • 文件大小限制:每个文件1MB
  • 扩展过滤:文件必须具有受支持的扩展名或通过添加 custom_extensions 待分析
  • 存储:尚未压缩(正在处理中)
  • 切换提供商:当改变具有不同维度的嵌入提供者时(例如从OpenAI 1536到LM Studio 768), 删除 data/ 文件夹 在重新索引以避免维度不匹配错误之前

支持

  • 问题:
  • 讨论:

______________________________________________________________________

内置于❤️ 在Rust 🦀

工具与能力

工具数量

4

资源数量

0

提示词数量

0

能力标签

语义搜索Rust本地部署代码分析本地存储多语言支持混合搜索

支持客户端

Claude DesktopClaudeCursor

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

查资料带出处

把网页、论文和文档的检索结果连同链接一起带回对话。

站内知识检索

在自己的文档库里做语义搜索,比关键词更贴题。

事实核对

交叉多个来源确认一条信息,减少模型凭记忆作答。

选择建议

值得选的地方

  • 只提供 4 个工具,职责集中,接入后不容易误操作。
  • 已经适配 Claude Desktop、Claude、Cursor,换客户端不用重新研究配置。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • 公开资料没有可直接复制的安装命令,第一次接入要自己找入口。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在搜索检索场景里让模型直接调用外部能力的人。
  • 已经在用 Claude Desktop 的用户,接入路径最短。
  • 愿意照着官方文档一步步配环境的人。

不太适合

  • 希望一条命令就装好、不想看文档的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Code Sage

MCP World · 本页

4未说明未标注1 个2026-05-17
Baidu Netdisk

MCP World

未标注未说明未标注1 个2026-05-17
Sequentialthinking

MCP.so

1SSE有2 个2026-05-17
Brave Search 433812ff

MCP World

2未说明未标注1 个2026-05-17
mindsdb (430e18)

MCP World

0未说明有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Code Sage 怎么安装?

公开目录没有给出可以直接复制的安装命令,需要按仓库 README里的步骤安装;装好后写进客户端的 MCP 配置再重启。

Code Sage 怎么在 Claude Desktop、Cursor 里配置?

它是传输方式未标注,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

Code Sage 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Code Sage 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

Code Sage 支持哪些客户端?

公开资料标注支持 Claude Desktop、Claude、Cursor;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP