Token导航 LogoToken导航

MCP Server · 搜索检索

Rag MCP Assistant

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

stdio官方级别未说明来源级核验工具 2
检索增强生成Python搜索文档处理

快速开始

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

工具数量

2

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

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

分类

搜索检索

传输方式

stdio

认证方式

会话凭据

部署方式

公开资料未说明

安装与配置

安装命令

python -m venv .venv

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

上手步骤

  1. 1

    准备运行环境

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

  2. 2

    安装服务

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

  3. 3

    写入客户端配置

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

  4. 4

    验证是否可用

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

接入前确认

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

详细介绍

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)

项目结构

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. 克隆并进入仓库:
git clone 
cd rag-assistant
  1. 创建并激活虚拟环境:
python -m venv .venv
# Windows
.venv\Scripts\activate
# macOS/Linux
source .venv/bin/activate
  1. 安装依赖项:
pip install -r backend/requirements.txt
  1. 创建 .env 里面 backend/:
DATABASE_URL=postgresql+psycopg2://:
@localhost:5432/
  1. 启动Olama并拉取模型:
ollama pull llama3
ollama pull nomic-embed-text
  1. 运行应用程序(从 backend/):
cd backend
python app.py

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

API

GET /health

返回服务状态。

答复:

{"status":"OK"}

POST /ingest

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

请求正文:

{"text":"CAP theorem states that ..."}

答复:

{
  "message": "Document ingested successfully",
  "chunks_added": 3
}

POST /chat

用可选对话提问 session_id.

请求正文:

{"session_id":"user1","query":"Explain CAP theorem"}

答复:

{"answer":"..."}

cURL命令示例

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管道

工具与能力

工具数量

2

资源数量

0

提示词数量

0

能力标签

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

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

典型使用场景

查资料带出处

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

站内知识检索

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

事实核对

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

选择建议

值得选的地方

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

先想清楚的地方

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

更适合

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

不太适合

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

同类对比

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

MCP World · 本页

2stdio有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 Assistant 怎么安装?

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

Rag MCP Assistant 怎么在 Claude Desktop、Cursor 里配置?

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

Rag MCP Assistant 收费吗?

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

Rag MCP Assistant 需要 API Key 吗?

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

Rag MCP Assistant 支持哪些客户端?

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

来源信息

继续浏览同类 MCP