Token导航 LogoToken导航

MCP Server · 搜索检索

rag MCP example

一个本地化的代码检索与生成工具,通过ChromaDB索引代码库并支持RAG技术查询,可选与Ollama服务器集成进行自然语言回答生成。

stdio官方级别未说明来源级核验工具 3
PythonClaude开发工具

快速开始

作者 / 组织
EvitecAntti
提供方
EvitecAntti
运行时
Python

工具数量

3

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

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

分类

搜索检索

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

python -m venv .venv

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

上手步骤

  1. 1

    准备运行环境

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

  2. 2

    安装服务

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

  3. 3

    写入客户端配置

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

  4. 4

    验证是否可用

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

接入前确认

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

详细介绍

ChromaDB代码RAG助手

此存储库现在提供了两个小型命令行助手:一个将源代码目录索引到 色度数据库,以及使用检索增强生成(RAG)技术持久化收集的其他查询。所有内容都保持在本地——文件被分块、嵌入并存储在磁盘上——您可以选择让远程Ollama服务器从检索到的上下文中合成自然语言答案。如果没有LLM,查询工具仍然会显示最相关的块,因此您可以手动回答。

安装

python -m venv .venv
.\.venv\Scripts\activate  # PowerShell on Windows
pip install -r requirements.txt

用法

有两个入口点:

  • chromadb_code_rag.py -处理摄取/索引。
  • query_tool.py -执行检索(以及可选的LLM合成)。
  • list_chroma_rows.py -检查存储在集合中的原始行/文档。

1.取一个目录

python chromadb_code_rag.py path\to\your\repo --reset

重要标志:

  • --db-dir:存储持久数据库的位置(默认 .chromadb/).
  • --collection:数据集的唯一名称(默认值 code-rag).
  • --extensions:以逗号分隔的要包含的文件扩展名列表。默认值包括流行语言和 json, yaml, toml, md.
  • --chunk-lines / --chunk-overlap:控制块大小和行重叠(默认值40/10)。
  • --max-file-mb:跳过非常大的文件(默认值 2 MB)。
  • --reset:在重新摄入之前丢弃现有的集合。

2.问一个问题

python query_tool.py "How is authentication handled?"

旗帜:

  • --top-k:要检索的块数(默认值 5).
  • --ollama-model:当提供时(例如。, llama3)脚本将检索到的上下文发送到Ollama服务器进行答案合成。
  • --ollama-url:Ollama实例的基本URL(默认 http://localhost:11434).需要时将其指向远程主机,例如。 http://10.0.0.5:11434.
  • --ollama-max-tokens:Ollama回应的上限(num_predict,默认值 400).

如果你忽略了 --ollama-model,该工具会打印排名后的块以及在代码库中查找位置的快速摘要。这仍然为您提供了一个完全离线的有用检索工作流。

3.检查存储行

python list_chroma_rows.py --limit 10 --show-docs

旗帜:

  • --limit / --offset:对存储的行进行分页(默认20/0)。
  • --show-docs:除了元数据外,还包括实际的块文本。
  • --json:发出一个可以导入的JSON blob jq 或其他工具。

示例流程

# 1. Index the repo (only needs to happen when files change)
python chromadb_code_rag.py . --chunk-lines 60 --chunk-overlap 15 --reset

# 2. Ask questions locally
python query_tool.py "Where are database connections created?" --top-k 3

# 3. (Optional) Let a remote Ollama host draft an answer
python query_tool.py --ollama-url localhost:11434 --ollama-model gpt-oss:20b-cloud "Which are the cities that are in this simulation?"

运作原理

  1. 分块 -文件被拆分为可配置行数的重叠窗口,以便嵌入捕获足够的上下文。
  2. 嵌入 -使用ChromaDB DefaultEmbeddingFunction,它捆绑了一个轻量级的SentenceTransformer,不需要外部服务。
  3. 存储 -块存在于持久的Chroma集合中,因此只有在代码发生更改时才能摄取。
  4. 检索 -查询嵌入了相同的模型;最近邻提供最佳匹配的代码片段以及文件/行引用。
  5. 合成(可选) -将检索到的上下文发送到Ollama服务器以获取完整的自然语言答案,或自己查看代码片段。

因为每个脚本都是一个单独的、作用域良好的Python文件,所以你可以很容易地调整它们——例如交换另一个嵌入模型,过滤其他文件类型,或者将它们连接到更大的自动化或CI管道中。

MCP服务器(实验)

该回购还提供 主控程序 服务器(chromadb_mcp_server.py)建造于 FastMCP。它将现有的Chroma工作流作为一流的MCP工具公开,因此Claude等桌面客户端可以直接从本地数据库请求上下文。

可用工具:

  • list_collections --枚举持久的Chroma集合及其行数。
  • query_codebase --嵌入一个自然语言问题,并返回最匹配的块和一个快速摘要。
  • list_rows --检查集合中的原始行/文档(有助于调试摄入的内容)。

运行服务器

  1. 安装依赖项(pip install -r requirements.txt).
  2. 确保您已经通过以下方式摄入了目标存储库 chromadb_code_rag.py.
  3. 启动服务器:
   python chromadb_mcp_server.py
  1. 将MCP兼容客户端指向脚本。例如,在 claude_desktop_config.json:
   {
     "mcpServers": {
       "code-rag": {
         "command": "python",
         "args": [
           "C:/absolute/path/to/mcp_example/chromadb_mcp_server.py"
         ]
       }
     }
   }

Claude(或另一个MCP客户端)现在可以呼叫 list_collections, query_codebase,以及 list_rows 通过STDIO,检索与 query_tool.py 打印到控制台。

安装到Codex

将此添加到Codex的config.toml中

[mcp_servers.code_rag]
command = "/rag_mcp_example/.venv/Scripts/python.exe"
args = ["/rag_mcp_example/chromadb_mcp_server.py"]

工具与能力

工具数量

3

资源数量

0

提示词数量

0

能力标签

代码检索Python本地部署本地化处理RAG技术自然语言生成开发工具

支持客户端

Claude

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

典型使用场景

查资料带出处

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

站内知识检索

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

事实核对

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

选择建议

值得选的地方

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

先想清楚的地方

  • stdio 方式要求本地装好 Python,换机器要重新装一遍。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

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

不太适合

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

同类对比

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

MCP World · 本页

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

rag MCP example 怎么安装?

公开资料给出的安装命令是 python -m venv .venv,运行环境为 Python。装完后按客户端要求写进 MCP 配置,重启客户端生效。

rag MCP example 怎么在 Claude Desktop、Cursor 里配置?

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

rag MCP example 收费吗?

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

rag MCP example 需要 API Key 吗?

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

rag MCP example 支持哪些客户端?

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

来源信息

继续浏览同类 MCP