Token导航 LogoToken导航

MCP Server · 文档知识

Personal RAG MCP Server

一个提供个人知识库与检索增强生成(RAG)功能的模型上下文协议(MCP)服务器,支持跨平台共享上下文。

stdio官方级别未说明来源级核验工具 0
知识管理PythonClaude检索增强生成Claude DesktopVS Code

快速开始

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

工具数量

0

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

1

仓库热度

收录来源

2 个

MCP World

选型结论

Personal RAG MCP Server 属于文档知识类 MCP Server,公开资料标注 0 个工具,通过stdio 本地进程接入,适配 Claude Desktop、Claude、VS Code,有可以直接复制的安装命令;接入前要先准备 API Key。

分类

文档知识

传输方式

stdio

认证方式

API Key

部署方式

支持远程部署

安装与配置

安装命令

python -m venv venv

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

上手步骤

  1. 1

    准备运行环境

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

  2. 2

    安装服务

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

  3. 3

    写入客户端配置

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

  4. 4

    验证是否可用

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

接入前确认

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

详细介绍

个人RAG MCP服务器

一种模型上下文协议(MCP)服务器,提供具有RAG(检索增强生成)功能的个人知识库。在Claude Desktop、Claude Code、VS Code和Open WebUI之间共享上下文。

特性

  • 混合存储:SQLite用于全文文档+Qdrant用于语义搜索
  • 元数据:全面的元数据捕获,以实现未来的可扩展性
  • 双重运输:stdio(用于克劳德桌面/VS代码)+HTTP流媒体(用于开放WebUI)
  • 向前兼容:策略模式允许在不重构的情况下添加高级RAG功能
  • 容器化:在Docker中运行,连接到现有的Qdrant/Ollama/LiteLLM基础设施

建筑

User Input → MCP Tool
    ↓
[1] Generate embedding (Ollama)
    ↓
[2] Store full text + metadata in SQLite
    ↓
[3] Store vector in Qdrant
    ↓
Return confirmation

Search Query
    ↓
[1] Embed query (Ollama)
    ↓
[2] Search Qdrant (semantic search)
    ↓
[3] Retrieve full text from SQLite
    ↓
[4] Generate response (LiteLLM)
    ↓
Return answer + sources

MCP工具

1. store_memory

将笔记、文档或片段存储在知识库中。

store_memory(
    text="Your content here",
    namespace="notes/personal",  # Hierarchical organization
    tags=["tag1", "tag2"],
    title="Optional Title",
    category="personal",  # work, personal, family
    content_type="note"  # note, document, snippet
)

2. search_memory

在您的知识库中进行语义搜索。

search_memory(
    query="What did I learn about X?",
    namespace="notes/personal",  # Optional filter
    limit=5,
    content_type="note"  # Optional filter
)

3. ask_with_context

向RAG(检索+生成)提问。

ask_with_context(
    question="What are my thoughts on X?",
    namespace="notes/personal",  # Optional filter
    limit=5  # Context chunks to retrieve
)

项目结构

personal-rag-mcp/
├── Dockerfile
├── requirements.txt
├── README.md
├── config/
│   ├── pipeline.yaml          # RAG pipeline config
│   └── server.yaml            # Server config
├── personal_rag_mcp/
│   ├── server.py              # MCP server entry point
│   ├── storage/
│   │   ├── sqlite_store.py    # SQLite document storage
│   │   ├── qdrant_store.py    # Qdrant vector storage
│   │   └── schema.py          # Pydantic metadata models
│   ├── pipeline/
│   │   ├── retriever.py       # Retrieval strategies
│   │   ├── reranker.py        # Reranking strategies
│   │   ├── expander.py        # Query expansion
│   │   ├── generator.py       # LLM generation
│   │   └── pipeline.py        # RAG orchestration
│   └── utils/
│       ├── embeddings.py      # Ollama embedding client
│       └── chunking.py        # Text chunking
├── scripts/
│   ├── init_db.py             # Initialize database
│   └── backup.py              # Backup utility
└── tests/

环境变量

# Transport
TRANSPORT=http  # or stdio
PORT=8765

# Storage
SQLITE_PATH=/app/data/documents.db
QDRANT_URL=http://qdrant:6333

# AI Services
OLLAMA_URL=http://ollama:11434
LITELLM_URL=http://litellm:4000

发展

设置

# Create virtual environment
python -m venv venv
source venv/bin/activate  # or `venv\Scripts\activate` on Windows

# Install dependencies
pip install -r requirements.txt

本地运行(stdio)

export SQLITE_PATH=./data/documents.db
export QDRANT_URL=http://localhost:6333
export OLLAMA_URL=http://localhost:11434
export LITELLM_URL=http://localhost:4000

python -m personal_rag_mcp.server

本地运行(HTTP)

export TRANSPORT=http
export PORT=8765

python -m personal_rag_mcp.server

Docker部署

先决条件

此MCP服务器依赖于以下AI基础设施服务:

  • Qdrant (矢量数据库)-端口6333
  • 奥拉玛 (嵌入)-端口11434
  • 文学硕士 (LLM代理)-端口4000/8000

Docker Compose集成示例

services:
  # Required: Qdrant vector database
  qdrant:
    image: qdrant/qdrant:latest
    container_name: qdrant
    ports:
      - "6333:6333"
    volumes:
      - qdrant-data:/qdrant/storage
    restart: unless-stopped

  # Required: Ollama for embeddings
  ollama:
    image: ollama/ollama:latest
    container_name: ollama
    ports:
      - "11434:11434"
    volumes:
      - ollama-data:/root/.ollama
    restart: unless-stopped

  # Required: LiteLLM proxy for LLM access
  litellm-proxy:
    image: ghcr.io/berriai/litellm:main-latest
    container_name: litellm-proxy
    ports:
      - "4080:8000"
    volumes:
      - ./litellm_config.yaml:/app/config.yaml
    environment:
      - AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID}
      - AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY}
      - AWS_REGION=${AWS_REGION}
      - OLLAMA_API_BASE=http://ollama:11434
    entrypoint: ["litellm", "--config", "/app/config.yaml", "--port", "8000"]
    depends_on:
      - ollama
    restart: unless-stopped

  # Personal RAG MCP Server
  personal-rag-mcp:
    build: ./personal-rag-mcp
    container_name: personal-rag-mcp
    ports:
      - "8765:8765"
    environment:
      - TRANSPORT=http
      - PORT=8765
      - QDRANT_URL=http://qdrant:6333
      - OLLAMA_URL=http://ollama:11434
      - LITELLM_URL=http://litellm-proxy:8000
      - OPENAI_API_KEY=${LITELLM_API_KEY}  # LiteLLM auth
      - SQLITE_PATH=/app/data/documents.db
    volumes:
      - personal-rag-data:/app/data
      - ./config/personal-rag:/app/config:ro
    depends_on:
      - qdrant
      - ollama
      - litellm-proxy
    restart: unless-stopped

volumes:
  qdrant-data:
  ollama-data:
  personal-rag-data:

LiteLLM配置示例

MCP服务器使用 文学硕士 作为统一的代理,这意味着您可以使用任何LLM提供程序:

  • 本地:Ollama(Callama3、DeepSeek、Qwen等)
  • 云:OpenAI、拟人克劳德、谷歌双子座、科赫尔
  • AWS基岩:克劳德、火焰、米斯特拉尔等。
  • Azure OpenAI:GPT-4、GPT-3.5
  • 100+其他供应商:参见 LiteLLM文档

只需在中配置您的首选型号 litellm_config.yaml:

model_list:
  # Local Ollama models (no API key needed)
  - model_name: deepseek-r1-1.5b
    litellm_params:
      model: ollama/deepseek-r1:1.5b
      api_base: http://ollama:11434

  # AWS Bedrock models
  - model_name: bedrock-claude-3-5-sonnet-v2
    litellm_params:
      model: bedrock/us.anthropic.claude-3-5-sonnet-20241022-v2:0
      aws_access_key_id: os.environ/AWS_ACCESS_KEY_ID
      aws_secret_access_key: os.environ/AWS_SECRET_ACCESS_KEY
      aws_region_name: us-east-2

  # OpenAI models
  - model_name: gpt-4o
    litellm_params:
      model: openai/gpt-4o
      api_key: os.environ/OPENAI_API_KEY

  # Anthropic Claude
  - model_name: claude-3-5-sonnet
    litellm_params:
      model: anthropic/claude-3-5-sonnet-20241022
      api_key: os.environ/ANTHROPIC_API_KEY

  # Embedding model (for semantic search)
  - model_name: nomic-embed-text
    litellm_params:
      model: ollama/nomic-embed-text
      api_base: http://ollama:11434

general_settings:
  master_key: sk-1234  # Set LITELLM_API_KEY in .env

服务器默认使用LiteLLM中配置的任何模型。您可以在本地和云模型之间轻松切换,而无需更改MCP服务器代码。

环境文件(.env)

# LiteLLM API Key
LITELLM_API_KEY=sk-1234

# AWS Credentials (optional, for Bedrock models)
AWS_ACCESS_KEY_ID=your_access_key
AWS_SECRET_ACCESS_KEY=your_secret_key
AWS_REGION=us-east-2

首次设置

  1. 拉取所需的Olama型号:
   docker exec ollama ollama pull nomic-embed-text
   docker exec ollama ollama pull deepseek-r1:1.5b
  1. 验证服务是否正在运行:
   curl http://localhost:6333/collections  # Qdrant
   curl http://localhost:11434/api/tags     # Ollama
   curl -H "Authorization: Bearer sk-1234" http://localhost:4080/v1/models  # LiteLLM
  1. 测试MCP服务器:
   docker exec personal-rag-mcp python /app/scripts/test_e2e.py

有关完整的基础架构设置,请参阅父存储库。

路线图

第1阶段(当前)

  • ✅ 混合SQLite+Qdrant存储
  • ✅ 基本RAG管道(矢量检索)
  • ✅ MCP工具(存储、搜索、询问)
  • ✅ 双传输(标准输入+HTTP)

第二阶段(未来)

  • \[\]高级RAG功能(重新排序、混合搜索、查询扩展)
  • \[\]批量文档摄取(PDF、DOCX解析)
  • \[\]对话历史记录捕获
  • \[\]支持多用户身份验证

许可证

麻省理工学院

工具与能力

工具数量

0

资源数量

0

提示词数量

0

能力标签

知识管理Python本地部署语义搜索检索增强生成个人知识库向量数据库

支持客户端

Claude DesktopClaudeVS Code

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

典型使用场景

读长文档提问

把 PDF、Markdown 和笔记交给模型,按章节追问细节。

整理知识库

把零散资料归档、打标签,检索时更容易命中。

批量出摘要

提取要点,输出能直接引用的段落。

选择建议

值得选的地方

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

先想清楚的地方

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

更适合

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

不太适合

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

同类对比

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

MCP World · 本页

0stdio有2 个2026-05-17
Cherry Studio

MCP World

0未说明未标注1 个2026-05-17
Pdf Math Translate

MCP World

0stdio有1 个2026-05-17
report generation

MCP World

0stdio有1 个2026-05-17
Anything To Notebooklm

MCP World

0stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Personal RAG MCP Server 怎么安装?

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

Personal RAG MCP Server 怎么在 Claude Desktop、Cursor 里配置?

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

Personal RAG MCP Server 收费吗?

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

Personal RAG MCP Server 需要 API Key 吗?

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

Personal RAG MCP Server 支持哪些客户端?

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

来源信息

继续浏览同类 MCP