Token导航 LogoToken导航TokenDH.com
Codebase Rag logo
开发工具未说明官方级别未说明来源级核验

Codebase Rag

MCP Server

一款无需API密钥、完全本地运行的代码库索引与语义搜索工具,支持关键词搜索、语义搜索和混合搜索,适用于开发者快速查询和理解代码库。

工具数

4

提示词数

0

GitHub Stars

2

资源数

0
代码搜索本地运行TypeScriptClaude开发工具ClaudeCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

joinQuantish

提供方

joinQuantish

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

代码库碎片

索引任何GitHub存储库并立即搜索。不需要API密钥。在CPU上100%本地运行。

公开MCP服务器,以便Claude Code、Cursor或任何LLM客户端可以在语义上搜索您的代码库。

GitHub Repo → Clone → Chunk → Embed (local) → SQLite Index → MCP Server → LLM

快速开始

# Install
git clone https://github.com/joinQuantish/codebase-rag
cd codebase-rag
bun install

# Index any repo (auto-embeds, no API key needed!)
bun run src/cli.ts index https://github.com/your-org/your-repo

# Search
bun run src/cli.ts search "place order"                         # keyword (~2ms)
bun run src/cli.ts vsearch "how does authentication work"       # semantic (~28ms)
bun run src/cli.ts query "wallet encryption and key management" # hybrid (best)

# Start MCP server for Claude Code / Cursor
bun run src/cli.ts serve

就这样 没有OpenAI密钥,没有GPU,没有外部服务。

运作原理

索引管道

  1. Git同步 --克隆或提取仓库,通过SHA256哈希检测更改的文件
  2. 文件过滤器 --选择代码文件(TS、Python、Rust、Go等),跳过node_modules/dist/binaries
  3. 代码分块器 --在函数/类边界上拆分文件,回退到具有重叠的60行窗口
  4. FTS5指数 --每个块都进入SQLite全文搜索,波特词干+BM25排名
  5. 矢量嵌入 --通过全MiniLM-L6-v2在本地嵌入块(22MB ONNX型号,在CPU上运行)

搜索模式

模式命令速度最适合
关键字search~2ms函数名称,精确术语
语义vsearch~28ms概念性问题(“X是如何工作的”)
混合动力query~30ms最佳整体精度

这三个都是开箱即用的,不需要API密钥。

嵌入

违约: 全迷你LM-L6-v2 通过 @huggingface/transformers (CPU上的ONNX运行时)

  • 384维向量
  • ~22MB量化模型(首次运行时自动下载)
  • 每个块嵌入约4ms
  • 缓存在 ~/.cache/huggingface/

可选地切换到OpenAI以获得更高的质量:set OPENAI_API_KEY 有人是。

MCP服务器

两种模式: 标准 (当地)和 超文本传输协议 (远程/共享)。

选项A:本地(stdio)

用于个人使用Claude Code或Cursor。增添 ~/.claude.json:

{
  "mcpServers": {
    "codebase": {
      "command": "bun",
      "args": ["run", "/path/to/codebase-rag/src/server.ts"],
      "env": {
        "CODEBASE_RAG_DATA": "/path/to/codebase-rag/data"
      }
    }
  }
}

选项B:HTTP(远程)

与团队分享。启动服务器,任何人都可以连接:

# Start HTTP server
bun run src/cli.ts serve --http --port=3100

从克劳德代码连接:

{
  "mcpServers": {
    "codebase": {
      "type": "streamable-http",
      "url": "https://your-server.example.com/mcp"
    }
  }
}

终点:

路径方法描述
/mcpPOST/GET/DELETEMCP协议(流式HTTP)
/healthGET健康检查+索引统计数据(JSON)
/GET服务器信息+连接说明

暴露的工具

工具说明
search快速关键字搜索(FTS5+BM25)
semantic_search向量相似性搜索
query混合搜索(关键字+语义,RRF融合)-- 推荐
stats指数统计

建筑

src/
  cli.ts       — CLI entry point
  sync.ts      — Git clone/pull + change detection
  chunker.ts   — Code-aware file splitting
  indexer.ts    — SQLite FTS5 + vector storage
  embedder.ts  — Local embeddings (HuggingFace) or OpenAI
  search.ts    — Search engine (keyword, semantic, hybrid)
  server.ts    — MCP server (stdio + HTTP transport)

支持的语言

TypeScript、JavaScript、Python、Rust、Go、Java、Kotlin、C/C++、Ruby、PHP、Swift、C#、Solidity、SQL、Markdown、YAML、TOML、Shell、GraphQL、Protobuf、Terraform

重新索引

index 同样,它只对内容哈希值发生变化的文件重新索引:

bun run src/cli.ts index https://github.com/your-org/your-repo
# ✅ Indexed 3 files, skipped 97 unchanged

环境变量

变量必填描述
OPENAI_API_KEY可选:使用OpenAI嵌入而不是本地嵌入
EMBEDDING_MODEL自定义HuggingFace模型(默认值: Xenova/all-MiniLM-L6-v2)
EMBEDDING_BASE_URL自定义OpenAI兼容端点(Ollama,vLLM)
CODEBASE_RAG_DATA数据目录(默认: ./data)

自动同步(可选)

设置cron以按计划重新索引:

# Re-index every 15 minutes
*/15 * * * * cd /path/to/codebase-rag && bun run src/cli.ts index https://github.com/your-org/your-repo

或者使用GitHub webhook在推送时触发。

堆栈

  • 运行时:Bun
  • 数据库:带FTS5的SQLite(bun:SQLite)
  • 嵌入:HuggingFace Transformers.js(ONNX、CPU、本地)
  • 主控程序:@modelcontextprotocol/sdk(stdio传输)
  • 零外部基础设施 -单个SQLite文件,没有API密钥,没有GPU,没有Postgres/Pinecone

目录标签

目录标签

代码搜索本地运行TypeScriptClaude开发工具本地部署语义搜索开发者工具GitHub集成

支持客户端

ClaudeCursor

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

api-key

工具数量(toolCount,工具数)

4

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明api-key部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP