Token导航 LogoToken导航TokenDH.com
Rag Anythink MCP logo
数据服务stdio官方级别未说明来源级核验

Rag Anythink MCP

MCP Server

一个结合知识图谱查询、文档处理和多模态AI的模型上下文协议服务器,适用于高级检索增强生成场景。

工具数

8

提示词数

0

GitHub Stars

6

资源数

0
知识图谱PythonClaude检索增强生成Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

serkanyasr

提供方

serkanyasr

最后核验

2026/5/17 20:21

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python -m venv .venv

详细介绍

RAG Anything MCP服务器

🚀 基于知识图的高级RAG模型上下文协议服务器

![License: MIT](https://opensource.org/licenses/MIT) ![Python 3.13+](https://www.python.org/downloads/) ![MCP](https://modelcontextprotocol.io/)

知识图谱+文档处理+多模态人工智能

📋 概述

RAG Anything MCP Server是一个生产就绪的模型上下文协议(MCP)服务器,它结合了:

  • 🧠 知识图查询 -多种查询模式(简单、本地、全局、混合、混合、绕过)
  • 📄 文件摄入 -多模式内容提取的文本和PDF处理
  • 🔍 实体提取 -从文档中自动提取实体和关系
  • 💾 混合存储 -Neo4j(图)+带pgvector的PostgreSQL(向量)
  • 🖼️ 多模式支持 -处理PDF中的图像、表格和方程式
  • 📡 符合MCP标准 -标准模型上下文协议实现

✨ 特性

核心能力

特性描述
📄 文件摄入多模式内容提取的文本和PDF处理
🧠 知识图查询多种查询模式(简单、本地、全局、混合、混合、绕过)
🔍 实体提取从文档中自动提取实体和关系
💾 混合存储Neo4j(图)+带pgvector的PostgreSQL(向量)
📡 符合MCP标准标准模型上下文协议实现
🖼️ 多模式支持处理PDF中的图像、表格和方程式

查询模式

  • 天真 -简单关键字搜索
  • 本地 -基于本地实体的搜索
  • 全球 -全球社区搜索
  • 混合 -结合本地和全球(推荐)
  • 混合 -混合多种策略
  • 绕过 -无图直接LLM查询

______________________________________________________________________

🚀 快速开始

先决条件

  • 码头工人 &Docker Compose(用于数据库服务)
  • Python 3.13+
  • OpenAI API密钥

选项1:多功能Docker(推荐)

使用Docker Compose开始一切:

# Clone the repository
git clone https://github.com/serkanyasr/rag-anythink-mcp.git
cd rag-anythink-mcp

# Copy environment template
cp .env.example .env

# Edit .env and set your OpenAI API key
# OPENAI_API_KEY=sk-...

# Start all services (Neo4j + PostgreSQL + MCP Server)
docker-compose up -d

# View logs
docker-compose logs -f rag-mcp

# Stop services
docker-compose down

这将开始:

  • Neo4j 5.23bolt://localhost:7687 (HTTP用户界面打开 http://localhost:7474)
  • PostgreSQL 16+pgvectorlocalhost:5432
  • MCP服务器http://localhost:8000

选项2:开发模式

当数据库在Docker中运行时,在本地运行MCP服务器:

窗户:

# One-click startup - handles everything automatically
start-dev.bat

Linux/Mac:

# Make executable and run
chmod +x start-dev.sh
./start-dev.sh

选项3:手动设置

# 1. Start Docker services (databases only)
docker-compose up -d neo4j postgres

# 2. Create virtual environment
python -m venv .venv
source .venv/bin/activate  # Windows: .venv\Scripts\activate

# 3. Install dependencies
pip install -e .

# 4. Run the server
python main.py

______________________________________________________________________

⚙️ 配置

创建一个 .env 项目根目录中的文件:

# =====================
# Neo4j Configuration
# =====================
NEO4J_URI=bolt://localhost:7687
NEO4J_USER=neo4j
NEO4J_PASSWORD=your_neo4j_password

# =====================
# PostgreSQL Configuration (for RAG)
# =====================
RAG_DB_HOST=localhost
RAG_DB_PORT=5432
RAG_DB_NAME=rag_anythink
RAG_DB_USER=postgres
RAG_DB_PASSWORD=your_postgres_password

# =====================
# OpenAI Configuration
# =====================
OPENAI_API_KEY=your_openai_api_key

# =====================
# Document Processing
# =====================
# Parser: mineru, docling
KG_PARSER=mineru
# Parse method: auto, ocr, txt
KG_PARSE_METHOD=auto
# Enable image extraction from PDFs
KG_ENABLE_IMAGE=true
# Enable table extraction from PDFs
KG_ENABLE_TABLE=true
# Enable equation extraction from PDFs
KG_ENABLE_EQUATION=true

# =====================
# RAG Configuration
# =====================
# Working directory for RAG output
KG_WORKING_DIR=./rag_output
# Workspace name (production, development, etc.)
KG_WORKSPACE=production
# Context window for LLM (pages before/after for context)
KG_CONTEXT_WINDOW=1
# Maximum concurrent files for processing
KG_MAX_CONCURRENT_FILES=4
# Embedding dimension (depends on model)
KG_EMBEDDING_DIM=3072
# Maximum token size for embeddings
KG_MAX_TOKEN_SIZE=8192
# LLM model for knowledge graph operations
KG_LLM_MODEL=gpt-4o-mini
# Vision model for multimodal processing
KG_VISION_MODEL=gpt-4o
# Embedding model
KG_EMBEDDING_MODEL=text-embedding-3-large
# Default query mode (naive, local, global, hybrid, mix, bypass)
KG_DEFAULT_MODE=hybrid

# =====================
# MCP Configuration
# =====================
# MCP server name
RAG_MCP_NAME=rag-anything-mcp
# MCP server version
RAG_MCP_VERSION=1.0.0
# MCP server host
RAG_MCP_HOST=localhost
# MCP server port
RAG_MCP_PORT=8055
# MCP log level
RAG_MCP_LOG=info
# MCP transport protocol: stdio, http, sse, streamable-http
RAG_MCP_TRANSPORT=streamable-http
# Application log level: DEBUG, INFO, WARNING, ERROR, CRITICAL
LOG_LEVEL=INFO
# Application log format: json, text
LOG_FORMAT=json

______________________________________________________________________

🔌 MCP工具

服务器提供以下MCP工具:

工具说明
ingest_document摄取文本或PDF文档
query_knowledge_graph多种模式查询(朴素、本地、全局、混合)
query_multimodal使用图像、表格、方程式进行查询
process_document_file使用多模式提取处理PDF文件
insert_content_list插入预解析的内容
delete_data按ID删除文档
get_graph_statistics获取图形统计信息
get_config_info获取配置信息

______________________________________________________________________

📚 用法示例

Python客户端

from src.services.kg_service import KGService

# Initialize service
service = KGService()
await service.initialize()

# Ingest a document
result = await service.ingest_text(
    text="Your document text here...",
    metadata={"title": "My Document"}
)

# Query the knowledge graph
response = await service.query(
    query_text="What are the main topics?",
    mode="hybrid"
)

MCP客户端(克劳德桌面)

添加到您的Claude Desktop MCP配置中:

{
  "mcpServers": {
    "rag-anything": {
      "command": "docker-compose",
      "args": ["up", "rag-mcp"],
      "env": {
        "OPENAI_API_KEY": "your-api-key"
      }
    }
  }
}

______________________________________________________________________

🗂️ 项目结构

rag-anythink-mcp/
├── src/
│   ├── config/         # Pydantic configuration
│   ├── core/           # Interfaces and models
│   ├── database/       # Database connections (Neo4j, PostgreSQL)
│   │   └── kg/         # Knowledge Graph layer
│   ├── mcp/            # MCP servers
│   │   └── kg/         # RAG MCP server
│   ├── services/       # Business logic
│   ├── utils/          # Utilities
│   └── llm.py          # LLM clients
├── main.py             # Entry point
├── Dockerfile          # Docker image for MCP server
├── docker-compose.yml  # Multi-container orchestration
├── pyproject.toml      # Dependencies (uv)
├── start-dev.bat       # Windows dev startup
├── start-dev.sh        # Linux/Mac dev startup
└── README.md

______________________________________________________________________

🛠️ 发展

设置开发环境

# Clone repository
git clone https://github.com/serkanyasr/rag-anythink-mcp.git
cd rag-anythink-mcp

# Create virtual environment
python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate

# Install in development mode with all extras
pip install -e ".[full]"

运行测试

# Run all tests
pytest

# Run with coverage
pytest --cov=src

# Run specific test file
pytest tests/test_kg_service.py

代码质量

# Format code
ruff format src/

# Check linting
ruff check src/

# Type checking
pyright src/

______________________________________________________________________

🐳 Docker部署

全栈部署

# Deploy all services
docker-compose up -d

# Check service health
docker-compose ps

# View logs
docker-compose logs -f

# Stop all services
docker-compose down

# Stop and remove volumes (clean slate)
docker-compose down -v

个人服务

# Only databases (for local dev)
docker-compose up -d neo4j postgres

# Only MCP server (databases must be running)
docker-compose up -d rag-mcp

健康检查

这些服务包括内置的健康检查:

  • Neo4j:密码外壳连接测试
  • PostgreSQL: pg_isready 检查
  • MCP服务器:取决于健康的数据库

______________________________________________________________________

📖 建筑

系统组件

┌─────────────────┐
│   MCP Client    │
│  (Claude, etc)  │
└────────┬────────┘
         │ MCP Protocol
         ▼
┌─────────────────┐
│  MCP Server     │
│  (FastMCP)      │
└────────┬────────┘
         │
         ▼
┌─────────────────┐
│  KG Service     │
│  (RAG-Anything) │
└────────┬────────┘
         │
    ┌────┴────┐
    ▼         ▼
┌──────┐  ┌─────────┐
│Neo4j│  │PostgreSQL│
│Graph│  │+ pgvector│
└──────┘  └─────────┘

数据流

  1. 摄入:文件→ 实体提取→ Neo4j(图形)+PostgreSQL(向量)
  2. 查询:查询文本→ 嵌入→ 矢量搜索+图形遍历→ LLM合成

______________________________________________________________________

🤝 贡献

欢迎投稿!请按照以下步骤操作:

  1. 分叉存储库
  2. 创建要素分支(git checkout -b feature/amazing-feature)
  3. 进行更改
  4. 运行测试(pytest)
  5. 提交您的更改(git commit -m 'Add some amazing feature')
  6. 推到分支(git push origin feature/amazing-feature)
  7. 打开拉取请求

开发指南

  • 为新功能编写测试
  • 遵循PEP 8风格指南
  • 根据需要更新文档
  • 保持提交原子性和良好的描述

______________________________________________________________________

❓ 常见问题解答

How do I change the database passwords?

更新两个中的密码 .envdocker-compose.yml。确保它们匹配。

Can I use a different embedding model?

对!集 OPENAI_EMBEDDING_MODEL 并进行调整 RAG_EMBEDDING_DIM 在你的 .env 文件。

How do I backup my data?

# Neo4j backup
docker exec rag-neo4j neo4j-admin database dump neo4j --to-path=/backups

# PostgreSQL backup
docker exec rag-postgres pg_dump -U postgres rag_anythink > backup.sql

The server won't start - what do I do?

  1. 检查Docker是否正在运行: docker ps
  2. 检查服务日志: docker-compose logs
  3. 验证中的环境变量 .env
  4. 确保数据库健康: docker-compose ps

______________________________________________________________________

📜 许可证

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

______________________________________________________________________

目录标签

目录标签

知识图谱PythonClaude检索增强生成本地部署文档处理多模态AIMCP协议

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

api-key

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

8

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdioapi-key部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

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

来源信息

继续浏览同类 MCP