Token导航 LogoToken导航

MCP Server · 搜索检索

Codebase Search MCP

基于向量嵌入和MCP协议的语义代码搜索工具,支持通过描述功能而非关键词搜索代码库。

stdio官方级别未说明来源级核验工具 1codebase-search-mcp
搜索代码分析TypeScriptClaude开发工具Claude Desktop

快速开始

作者 / 组织
Wolframko
提供方
Wolframko
运行时
Node.js

工具数量

1

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

Codebase Search MCP 属于搜索检索类 MCP Server,公开资料标注 1 个工具,通过stdio 本地进程接入,适配 Claude Desktop、Claude,有可以直接复制的安装命令;接入前先确认权限范围。

分类

搜索检索

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

npx codebase-search-mcp --help

客户端配置示例

{
  "mcpServers": {
    "codebase-search-mcp": {
      "command": "npx",
      "args": [
        "codebase-search-mcp",
        "--help"
      ]
    }
  }
}

按公开安装命令拼出来的示例,字段名和参数以仓库 README 为准;带 YOUR_API_KEY 这类占位符的位置记得换成自己的值。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Node.js,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

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

  4. 4

    验证是否可用

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

接入前确认

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

详细介绍

代码库搜索mcp

语义代码搜索由向量嵌入和MCP(模型上下文协议)提供支持。按含义搜索代码库,而不仅仅是关键字。

最初提取自 Roo代码 项目。

特性

  • 🔍 语义搜索:通过描述代码的功能来查找代码,而不仅仅是匹配文本
  • 🚀 MCP服务器:与Claude和其他MCP兼容工具集成
  • 📦 CLI摄入:用于索引代码库的简单命令行界面
  • 🔄 增量更新:仅重新索引更改的文件
  • 🌳 智能解析:使用Tree sitter进行基于AST的代码分块
  • 💾 Qdrant矢量存储:快速且可扩展的向量相似性搜索
  • 🤖 OpenAI嵌入:采用最先进的语言模型

先决条件

  • Qdrant:用于存储嵌入的矢量数据库

- 在本地运行: docker run -p 6333:6333 qdrant/qdrant - 或使用 Qdrant云

  • OpenAI API密钥:用于生成嵌入

- 得到一个在 platform.openai.com

安装

# Install the package
npm install -g codebase-search-mcp

# Or use npx to run directly
npx codebase-search-mcp --help

快速开始

1.索引您的代码库

npx codebase-search-mcp ingest /path/to/your/project \
  --openai-api-key sk-... \
  --qdrant-url http://localhost:6333

或者使用环境变量:

export OPENAI_API_KEY=sk-...
export QDRANT_URL=http://localhost:6333

npx codebase-search-mcp ingest /path/to/your/project

2.启动MCP服务器

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

{
  "mcpServers": {
    "codebase-search": {
      "command": "npx",
      "args": ["codebase-search-mcp", "serve"],
      "env": {
        "WORKSPACE_PATH": "/path/to/your/project",
        "QDRANT_URL": "http://localhost:6333",
        "OPENAI_API_KEY": "sk-..."
      }
    }
  }
}

3.搜索您的代码

在您的MCP客户端(例如Claude)中,您现在可以使用 search_codebase 工具:

{
  "query": "user authentication and password hashing",
  "path": "backend/auth",  // optional: limit to specific directory
  "minScore": 0.7,        // optional: similarity threshold
  "maxResults": 15        // optional: max results
}

CLI参考

摄入指令

为语义搜索的代码库建立索引:

npx codebase-search-mcp ingest  [options]

选项:

  • --openai-api-key :OpenAI API密钥(或使用 OPENAI_API_KEY 任何人)
  • --qdrant-url :Qdrant服务器URL(默认值: http://localhost:6333)
  • --qdrant-api-key :Qdrant API密钥(可选,用于云实例)
  • --model :嵌入模型(默认值: text-embedding-3-small)
  • `--cache-dir

:缓存目录(默认: ~/.codebase-search-cache`)

  • --batch-size :嵌入的批量大小(默认值:60)

例子:

npx codebase-search-mcp ingest ./my-project \
  --openai-api-key sk-proj-... \
  --model text-embedding-3-large \
  --batch-size 100

MCP服务器

在stdio上运行MCP服务器:

npx codebase-search-mcp serve

服务器通常由MCP客户端启动。有关配置,请参阅快速入门部分。

环境变量

变量描述默认值
OPENAI_API_KEYOpenAI API密钥(必需)-
QDRANT_URLQdrant服务器URLhttp://localhost:6333
QDRANT_API_KEYQdrant API密钥(可选)-
EMBEDDING_MODELOpenAI嵌入模型text-embedding-3-small
WORKSPACE_PATH工作区根目录当前目录
CACHE_DIR缓存目录路径~/.codebase-search-cache

支持的文件类型

Tree sitter支持以下语言:

  • 网络:JavaScript、TypeScript、JSX、TSX、HTML、CSS、Vue
  • 后端:Python、Go、Rust、Java、C、C++、C#、Ruby、PHP
  • 功能的: OCaml, Elixir, Elisp
  • 其他Swift、Kotlin、Lua、Scala、Solidity、Zig、TOML、Markdown

尊重 .gitignore 图案自动。

建筑

┌─────────────────┐
│   MCP Client    │
│  (Claude, etc)  │
└────────┬────────┘
         │ MCP Protocol
┌────────▼─────────────────────┐
│   MCP Server                 │
│  (search_codebase tool)      │
└────────┬─────────────────────┘
         │
┌────────▼─────────────────────┐
│   Search Service             │
│  • Query embedding           │
│  • Vector similarity search  │
└──┬──────────────────────┬────┘
   │                      │
┌──▼──────────┐  ┌────────▼──────┐
│   OpenAI    │  │    Qdrant     │
│  Embeddings │  │ Vector Store  │
└─────────────┘  └───────────────┘
┌─────────────────┐
│   CLI Ingest    │
└────────┬────────┘
         │
┌────────▼─────────────────────┐
│   Directory Scanner          │
│  • File discovery            │
│  • Incremental updates       │
│  • Parallel processing       │
└──┬──────────────────────┬────┘
   │                      │
┌──▼──────────┐  ┌────────▼──────┐
│   Parser    │  │     Cache     │
│ Tree-sitter │  │  File hashes  │
└──┬──────────┘  └───────────────┘
   │
┌──▼──────────┐
│  Embedder   │
│   + Store   │
└─────────────┘

高级用法

程序化API

import {
  OpenAiEmbedder,
  QdrantVectorStore,
  SearchService,
} from 'codebase-search-mcp'

// Initialize components
const embedder = new OpenAiEmbedder(apiKey, 'text-embedding-3-small')
const vectorStore = new QdrantVectorStore(workspacePath, qdrantUrl, 1536)
const searchService = new SearchService(embedder, vectorStore)

// Initialize
await vectorStore.initialize()

// Search
const results = await searchService.search({
  query: 'HTTP request handler middleware',
  directoryPrefix: 'src/api',
  minScore: 0.75,
  maxResults: 10,
})

console.log(results)

自定义嵌入模型

支持的OpenAI模型:

  • text-embedding-3-small (1536个尺寸,默认)
  • text-embedding-3-large (3072个维度,更高质量)
  • text-embedding-ada-002 (1536个维度,传统)
npx codebase-search-mcp ingest . \
  --model text-embedding-3-large

故障排除

未找到索引数据

确保运行 ingest 启动MCP服务器前的命令:

npx codebase-search-mcp ingest /path/to/project

Qdrant连接失败

确保Qdrant正在运行:

docker run -p 6333:6333 qdrant/qdrant

检查URL是否正确(默认值: http://localhost:6333).

OpenAI API错误

请验证您的API密钥是否有效以及是否有足够的信用。如果您正在处理大型代码库,请检查速率限制。

矢量维度不匹配

如果更改嵌入模型,向量存储将自动检测维度不匹配并重新创建集合。您需要重新运行摄取命令。

性能提示

  1. 批量大小:增加 --batch-size 更快的索引(使用更多内存)
  2. 模型选择: text-embedding-3-small 比 large
  3. 增量更新:缓存确保只有更改的文件才会被重新索引
  4. Qdrant云:将托管的Qdrant实例用于生产工作负载

许可证

阿帕奇-2.0

贡献

欢迎投稿!请随时提交拉取请求。

鸣谢

此包最初是从 Roo代码 项目,并改编为独立的MCP服务器。

工具与能力

工具数量

1

资源数量

0

提示词数量

0

能力标签

语义搜索TypeScript本地部署代码分析开发工具向量嵌入MCP协议

支持客户端

Claude DesktopClaude

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

典型使用场景

查资料带出处

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

站内知识检索

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

事实核对

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

选择建议

值得选的地方

  • 只提供 1 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 已经适配 Claude Desktop、Claude,换客户端不用重新研究配置。

先想清楚的地方

  • stdio 方式要求本地装好 Node.js,换机器要重新装一遍。
  • 公开摘要偏短,具体能力和限制要回到仓库确认。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在搜索检索场景里让模型直接调用外部能力的人。
  • 已经在用 Claude Desktop 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

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

MCP World · 本页

1stdio有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 条

Codebase Search MCP 怎么安装?

公开资料给出的安装命令是 npx codebase-search-mcp --help,运行环境为 Node.js。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Codebase Search MCP 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Node.js;保存后完全退出客户端再打开,配置才会生效。

Codebase Search MCP 收费吗?

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

Codebase Search MCP 需要 API Key 吗?

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

Codebase Search MCP 支持哪些客户端?

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

来源信息

继续浏览同类 MCP