Token导航 LogoToken导航

MCP Server · 搜索检索

codex7 (Shawnzheng011019)

一个基于Python的代码检索系统,结合向量搜索和图关系进行智能代码分析和搜索,实现为模型上下文协议(MCP)服务器。

stdio官方级别未说明来源级核验工具 8
搜索Python知识图谱多语言支持

快速开始

作者 / 组织
Shawnzheng011019
提供方
Shawnzheng011019

工具数量

8

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

codex7 (Shawnzheng011019) 属于搜索检索类 MCP Server,公开资料标注 8 个工具,通过stdio 本地进程接入,客户端适配情况以官方文档为准,有可以直接复制的安装命令;接入前要先准备 API Key。

分类

搜索检索

传输方式

stdio

认证方式

API Key

部署方式

公开资料未说明

安装与配置

安装命令

pip install -r requirements.txt

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

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 对应的运行时,再按安装命令拉取依赖。

  2. 2

    安装服务

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

  3. 3

    写入客户端配置

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

  4. 4

    验证是否可用

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

接入前确认

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

详细介绍

代码检索系统-MCP服务器

一个用Python构建的综合代码检索系统,将向量搜索与基于图的关系相结合,用于智能代码分析和搜索,实现为模型上下文协议(MCP)服务器。

🌟 特性

  • 🔍 本地代码库分析:扫描并索引您的本地项目以进行智能搜索
  • 📚 多内容支持:分析代码、文档、配置文件等
  • ⚡ 语义搜索:结合向量相似性和BM25的高级混合搜索
  • 🤖 MCP集成:用于无缝集成AI IDE的模型上下文协议服务器
  • 🎯 多语言支持:用于JavaScript、TypeScript、Python、Go、Rust、Java、C++等的AST拆分器
  • 📊 知识图谱:构建代码依赖关系图以进行影响分析
  • 🗄️ Milvus矢量数据库:高性能矢量相似性搜索
  • 🕸️ Neo4j图形数据库:丰富的关系建模和查询

🏗️ 建筑

该系统完全用Python构建,具有干净、模块化的架构:

核心组件

  • 扫描仪:本地代码库文件系统扫描程序(src/scanner/)
  • 处理器:内容分块和嵌入生成(src/processor/)
  • 矢量数据库:Milvus客户端,用于快速相似性搜索(src/query/)
  • 图形数据库:用于代码关系的Neo4j客户端(src/graph/)
  • 嵌入服务:针对Milvus优化的OpenAI嵌入生成(src/embedding/)
  • 搜索引擎:使用BM25和重新排名进行混合搜索(src/search/)
  • MCP服务器:基于FastMCP的服务器,用于AI工具集成(src/mcp/)

处理管线

  1. 扫描 → 发现并分类本地项目文件
  2. 提取 → 解析代码和文档内容
  3. 块 → 具有上下文保留的智能文本分割
  4. 嵌入 → 使用OpenAI生成语义嵌入
  5. 索引 → 存储在Milvus矢量数据库和Neo4j图形数据库中
  6. 搜索 → 混合搜索与重新排序以获得最佳结果

🚀 快速开始

先决条件

  • Python 3.10+
  • Docker(适用于Milvus和Neo4j)
  • 用于嵌入的OpenAI API密钥

安装

  1. 克隆存储库:
git clone 
cd code-retrieval-system
  1. 安装依赖项:
pip install -r requirements.txt
  1. 设置环境变量:
cp .env.example .env
# Edit .env with your OpenAI API key and database settings
  1. 使用Docker启动数据库:
docker-compose up -d
  1. 运行MCP服务器:
# Using stdio transport (default)
python main.py --stdio

# Using SSE transport
python main.py --sse --port 8000

配置

编辑 .env 要配置的文件:

  • 数据库设置:Milvus和Neo4j连接参数
  • OpenAI设置:API密钥和嵌入模型
  • 搜索参数:BM25权重,重新排序阈值
  • 文件处理:块大小,支持的扩展

📖 MCP工具

系统提供以下MCP工具:

核心工具

  • index_codebase -索引代码库以进行搜索
  • search_code -混合搜索与重新排名
  • search_in_file -在特定文件内搜索
  • clear_database -清除数据库中的所有数据

图形分析工具

  • get_function_dependencies -获取函数依赖关系图
  • get_class_hierarchy -获取类继承层次结构
  • get_file_structure -获取文件结构分析

系统工具

  • get_system_stats -获取系统统计数据和运行状况

示例用法

为代码库建立索引
# Using MCP client
result = await client.call_tool("index_codebase", {
    "root_path": "/path/to/your/code",
    "max_workers": 4
})
搜索代码
# Using MCP client
result = await client.call_tool("search_code", {
    "query": "how to implement authentication",
    "top_k": 10,
    "use_graph": true,
    "use_reranking": true
})
获取函数依赖关系
# Using MCP client
result = await client.call_tool("get_function_dependencies", {
    "function_name": "user.authenticate"
})
在文件中搜索
# Using MCP client
result = await client.call_tool("search_in_file", {
    "file_path": "src/main.py",
    "query": "database connection"
})

🔧 高级配置

OpenAI嵌入

# Required for vector search
OPENAI_API_KEY=your_openai_api_key
OPENAI_MODEL=text-embedding-ada-002

搜索参数

  • BM25_K1:BM25参数用于术语频率饱和(默认值:1.2)
  • BM25_B:用于文档长度规范化的BM25参数(默认值:0.75)
  • TOP_K_RESULTS:要返回的结果数(默认值:10)
  • RERANK_THRESHOLD:基于图形的重新排序阈值(默认值:0.5)

🛠️ 发展

项目结构

code-retrieval-system/
├── src/
│   ├── config.py              # Configuration management
│   ├── types.py               # Data models and types
│   ├── scanner/               # File system scanning
│   ├── processor/             # Content processing and chunking
│   ├── query/                 # Vector database (Milvus)
│   ├── graph/                 # Graph database (Neo4j)
│   ├── embedding/             # OpenAI embedding service
│   ├── search/                # Search and reranking
│   ├── mcp/                   # FastMCP server
│   └── utils/                 # Utilities and logging
├── main.py                    # MCP server entry point
├── requirements.txt           # Python dependencies
├── docker-compose.yml         # Database setup
├── .env.example              # Environment template
└── README.md                 # This file

测试

使用以下工具运行测试:

pytest tests/

代码质量

# Format code
black src/

# Lint code
flake8 src/

# Type checking
mypy src/

📊 演出

该系统设计用于以下性能:

  • 并行处理:多线程文件扫描和处理
  • 高效索引:优化分块和OpenAI嵌入生成
  • 快速搜索:使用BM25回退进行Milvus向量相似性搜索
  • 图形加速:Neo4j用于关系查询
  • 缓存:对频繁访问的数据进行智能缓存

🔍 搜索流程

搜索过程遵循以下复杂的流程:

  1. 矢量搜索:Milvus中使用OpenAI嵌入的语义相似性
  2. BM25搜索:基于关键字的精确匹配
  3. 杂交组合:两种方法的加权组合
  4. 图形增强:用代码关系丰富结果
  5. 重新排序:根据图形上下文重新排序结果
  6. 最终排名:产生最佳有序的结果

🤝 贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 进行更改
  4. 添加测试
  5. 提交拉取请求

📄 许可证

此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。

🙏 致谢

  • Milvus矢量数据库功能
  • Neo4j用于图形数据库功能
  • OpenAI用于嵌入服务
  • MCP服务器框架的FastMCP
  • 各种工具和库的开源社区

工具与能力

工具数量

8

资源数量

0

提示词数量

0

能力标签

代码检索Python本地部署语义搜索知识图谱多语言支持AI集成

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

典型使用场景

查资料带出处

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

站内知识检索

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

事实核对

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

选择建议

值得选的地方

  • 只提供 8 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 运行环境,换机器要重新装一遍。
  • 需要自备API Key,没有凭据没法直接试。
  • 公开摘要偏短,具体能力和限制要回到仓库确认。

更适合

  • 需要在搜索检索场景里让模型直接调用外部能力的人。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

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

同类对比

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

MCP World · 本页

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

codex7 (Shawnzheng011019) 怎么安装?

公开资料给出的安装命令是 pip install -r requirements.txt,运行环境为 未标注。装完后按客户端要求写进 MCP 配置,重启客户端生效。

codex7 (Shawnzheng011019) 怎么在 Claude Desktop、Cursor 里配置?

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

codex7 (Shawnzheng011019) 收费吗?

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

codex7 (Shawnzheng011019) 需要 API Key 吗?

公开资料标注的认证方式是API Key,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

codex7 (Shawnzheng011019) 支持哪些客户端?

公开资料没有标注具体客户端;能配置本地 MCP 命令的客户端都能接,配置方式参照官方文档。

来源信息

继续浏览同类 MCP