Rag MCP Assistant

MCP搜索检索

提供方 sahasrocks

搜索检索 stdio · 本地进程 会话登录 社区 / 第三方
查看接入方式

一个基于Flask的检索增强生成助手,支持本地文档的语义搜索和智能问答,并具备会话记忆功能。

一句话选型结论

按资料字段整理

Rag MCP Assistant 属于搜索检索类 MCP 服务器,stdio · 本地进程,会话登录,有可直接执行的安装命令。接入前先确认权限范围;涉及写入、删除或付款的操作,建议先在测试环境验证。

分类搜索检索 传输方式stdio · 本地进程 鉴权会话登录 部署方式本地部署
GitHub 星标 0 仓库热度,无公开仓库时显示未标注
工具数 2 暴露给模型的工具数量
资源 / 提示词 0 / 0 资源与提示词模板数量
维护方 社区 / 第三方 核验等级 仅资料核对

工具与能力

搜索检索
数量来自来源目录的标注,具体工具清单以官方文档为准
工具数量2暴露给模型可调用的工具个数
资源数量0可读取的资源条目
提示词数量0内置提示词模板数量

能力标签

适用场景

检索增强生成Python本地部署语义搜索智能问答文档处理会话记忆

安装与配置

stdio · 本地进程 会话登录
客户端在本机拉起子进程,数据不出本机
python -m venv .venv

这条命令只是入口,具体启动参数请按官方文档补齐,不要直接照搬到别的服务器。

  1. 1
    准备运行环境

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

  2. 2
    安装服务

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

  3. 3
    写入客户端配置

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

  4. 4
    验证是否可用

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

典型使用场景

3 类
按分类与标签整理的常见用法,具体以官方文档为准
联网搜索取证

让模型查最新资料并给出出处。

资料聚合

把一个主题的网页、文档集中抓回来整理。

情报与竞品检索

按关键词持续检索行业动态和竞品信息。

选择建议

选之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 资料标注 2 个工具,职责相对集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。

先想清楚的地方

  • stdio 方式要求本地装好运行时(如 Node.js),换机器要重新装一遍。
  • 使用前要准备好会话登录对应的凭据,并按最小权限配置。
  • 版本更新与行为细节以官方仓库为准。

更适合

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

不太适合

  • 完全不想在本地装环境的人。
  • 不方便管理密钥或第三方授权的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
MCP 服务器工具数传输方式部署方式安装命令最后核验
Rag MCP Assistant当前 2 stdio · 本地进程 本地部署 有 2026-05-17
Brave Search 433812ff 2 未标注 未标注 无 2026-05-17
Sequentialthinking 1 SSE · 服务端推送 远程部署 有 2026-05-18
Baidu Netdisk 未标注 未标注 未标注 无 2026-05-17
ragflow 未标注 stdio · 本地进程 本地部署 有 2026-04-11
mindsdb (430e18) 未标注 未标注 未标注 有 2026-05-17

服务器档案

搜索检索
字段来自项目仓库与公开索引,中文说明由本站标注
提供方sahasrocks上游标注的维护方 sahasrocks
分类搜索检索本站按上游分类展示
连接方式stdio · 本地进程客户端在本机拉起子进程,数据不出本机
鉴权方式会话登录远程服务建议用最小权限凭据
维护方社区 / 第三方核验等级 仅资料核对
包名 / 运行时未标注 · Python本地安装时用到的包标识与运行时
部署类型本地部署上游给出的部署形态
最近核验2026-05-17上游最后核验时间

详细介绍

5.0 KB
来自项目仓库与上游目录的原文,未做删改

RAG助理

一种基于Flask的检索增强生成(RAG)助手,它:

  • 摄入当地 .txt 和 .pdf 文件
  • 使用FAISS构建内存中的语义搜索
  • 使用检索到的上下文和Ollama LLM回答查询
  • 回归到简单的MCP风格工具(code_tool, architecture_tool)
  • 通过SQLAlchemy在PostgreSQL中存储对话历史记录

特性

  • 具有分块、嵌入和相似性搜索的RAG管道
  • 使用以下命令查询路由代理:
  • 检索第一答案策略
  • 代码/设计请求的工具决策层
  • 直接LLM回退
  • 基于会话的聊天记忆保存在数据库中
  • 用于健康、摄入和聊天的REST API端点

技术栈

  • python
  • 烧瓶
  • FAISS(faiss-cpu)
  • 数值Python
  • SQLAlchemy+PostgreSQL(psycopg2-binary)
  • Ollama HTTP API
  • PyPDF(pypdf)

项目结构```text

backend/
app.py # Flask entrypoint
api/routes.py # API routes
agent/orchestrator.py # Agent orchestration + tool decisions
rag/
loader.py # Loads text/pdf documents
chunker.py # Character-based chunking
embedder.py # Ollama embeddings client
retriever.py # FAISS vector store
store.py # Ingestion helpers + global vector store
llm.py # Ollama generation client
memory/
database.py # DB engine/session setup
models.py # Conversation model + init_db
service.py # Save/fetch conversation messages
mcp/server.py # Minimal in-process MCP-like tool registry
tools/
code_tool.py
architecture_tool.py
documents/ # Seed docs auto-ingested at startup


## 运作原理

1. 应用程序启动(`backend/app.py`):
- 初始化数据库表
- 摄入 `backend/documents` 走进FAISS
1. 摄入(`/ingest`):
- 接受文本有效载荷
- 分块和嵌入文本
- 将向量/块添加到FAISS
1. 聊天(`/chat`):
- 将用户消息保存到数据库
- 加载最近的会话历史记录
- 对查询运行检索
- 如果最佳距离分数低于阈值(`0.8`),使用检索到的上下文回答
- 否则,路由到工具/直接LLM路径
- 将助手响应保存到数据库

## 先决条件

- Python 3.10+
- PostgreSQL数据库
- Ollama在当地跑步 `http://localhost:11434`
- Ollama车型被召回:
- `llama3` (世代)
- `nomic-embed-text` (嵌入)

## 设置

1. 克隆并进入仓库:```bash
git clone
cd rag-assistant
  1. 创建并激活虚拟环境:```bash
    python -m venv .venv

Windows

.venv\Scripts\activate

macOS/Linux

source .venv/bin/activate


3. 安装依赖项:```bash
pip install -r backend/requirements.txt
  1. 创建 .env 里面 backend/:```env
    DATABASE_URL=postgresql+psycopg2://:@localhost:5432/

5. 启动Olama并拉取模型:```bash
ollama pull llama3
ollama pull nomic-embed-text
  1. 运行应用程序(从 backend/):```bash
    cd backend
    python app.py

服务器默认值: `http://127.0.0.1:5000`

## API

### `GET /health`

返回服务状态。

答复:```json
{"status":"OK"}

POST /ingest

将原始文本摄取到矢量存储中。

请求正文:```json
{"text":"CAP theorem states that ..."}


答复:```json
{
"message": "Document ingested successfully",
"chunks_added": 3
}

POST /chat

用可选对话提问 session_id.

请求正文:```json
{"session_id":"user1","query":"Explain CAP theorem"}


答复:```json
{"answer":"..."}

cURL命令示例```bash

curl -X GET http://127.0.0.1:5000/health

curl -X POST http://127.0.0.1:5000/ingest \
-H "Content-Type: application/json" \
-d "{\"text\": \"CAP theorem states that a distributed system can only guarantee two of consistency, availability, and partition tolerance.\"}"

curl -X POST http://127.0.0.1:5000/chat \
-H "Content-Type: application/json" \
-d "{\"query\": \"Explain CAP theorem\"}"

curl -X POST http://127.0.0.1:5000/chat \
-H "Content-Type: application/json" \
-d "{\"session_id\": \"user1\", \"query\": \"Why is system design used in 20 words?\"}"
```

注释和当前限制

  • 矢量存储仅在内存中;重新启动时嵌入丢失。
  • 启动摄取从运行一次 backend/documents.
  • 检索使用具有固定阈值的原始L2距离 0.8;可能需要调整。
  • 在当前实现中,在FAISS搜索之前没有空索引保护。
  • 上游Ollama/DB故障的最小输入验证和错误处理。
  • 在LLM回退之前,工具路由由关键字驱动 Agent.decide.

故障排除

  • DATABASE_URL 缺失或无效:
  • 确保 .env 存在于 backend/ 并且具有有效的SQLAlchemy PostgreSQL URL。
  • Ollama连接错误:
  • 确认Ollama正在运行 localhost:11434.
  • 验证所需模型是否已提取。
  • 导入/模块错误:
  • 从内部运行应用程序 backend/ 因此,本地进口正确解决。
  • 没有有用的RAG答案:
  • 在中添加更高质量的源文档 backend/documents.
  • 调整代码中的块大小/重叠和阈值。

未来改进

  • 将FAISS索引持久化到磁盘并在启动时重新加载
  • 大型文档的异步/后台摄取
  • 更好的检索评分和重新排名
  • 更坚固的护栏和结构化的工具调用格式
  • 单元/集成测试和CI管道

常见问题

7 问
答案由本站依据条目字段整理,不引用上游原文
Rag MCP Assistant 怎么安装?

在客户端按下面的安装命令接入:python -m venv .venv。装完在客户端配置里引用同一个包或端点。

Rag MCP Assistant 怎么在客户端里配置?

它的传输方式未标注,在客户端 MCP 配置里按官方文档填写启动命令和参数,保存后重启客户端生效。

Rag MCP Assistant 收费吗?

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

Rag MCP Assistant 需要 API Key 吗?

资料标注需要会话登录认证,使用前准备好对应凭据,并按最小权限配置。

Rag MCP Assistant 能提供哪些能力?

资料显示约 2 个工具;能力标签包括 检索增强生成、Python、搜索、文档处理。具体工具清单以官方文档为准。

Rag MCP Assistant 需要什么运行环境?

运行时为 Python;属于本地进程,需要在本机装好运行环境。

Rag MCP Assistant 是本地还是远程?

它是本地进程(stdio),由客户端在本机拉起。传输方式为stdio · 本地进程。

热门专题

按标签挑服务器
全部专题 →

服务器信息以作者仓库与官方文档为准;分类、传输方式与鉴权方式的中文说明为中文整理,最近核验 2026-05-17。