loading…
Search for a command to run...
loading…
Provides a comprehensive Model Context Protocol interface for RAGFlow, enabling AI models to perform semantic retrieval, manage datasets, and handle document ch
Provides a comprehensive Model Context Protocol interface for RAGFlow, enabling AI models to perform semantic retrieval, manage datasets, and handle document chunks. It supports advanced features like GraphRAG and RAPTOR for sophisticated knowledge base management and natural language querying.
A comprehensive Model Context Protocol (MCP) server for RAGFlow that provides full API access for semantic retrieval and knowledge base management.
Note: GraphRAG and RAPTOR build APIs require RAGFlow v0.21.0 or later.
git clone https://github.com/Juxsta/ragflow-mcp.git
cd ragflow-mcp
pip install -e .
Add to your Claude Code MCP settings:
claude mcp add ragflow -e RAGFLOW_API_KEY=your-api-key -e RAGFLOW_URL=http://localhost:9380/api/v1 -- python -m ragflow_mcp.server
Or manually add to ~/.claude/settings.json:
{
"mcpServers": {
"ragflow": {
"command": "python",
"args": ["-m", "src.server"],
"cwd": "/path/to/ragflow-mcp",
"env": {
"RAGFLOW_API_KEY": "your-api-key",
"RAGFLOW_URL": "http://localhost:9380/api/v1"
}
}
}
}
| Variable | Required | Default | Description |
|---|---|---|---|
RAGFLOW_API_KEY |
Yes | - | Your RAGFlow API key |
RAGFLOW_URL |
No | http://localhost:9380/api/v1 |
RAGFlow API base URL |
RAGFLOW_TIMEOUT |
No | 300 |
Request timeout in seconds |
RAGFLOW_LOG_LEVEL |
No | INFO |
Logging level |
ragflow_retrieval_tool - Semantic search across datasetsragflow_list_datasets_tool - List all datasetsragflow_create_dataset_tool - Create a new datasetragflow_update_dataset_tool - Update dataset configurationragflow_delete_dataset_tool - Delete a dataset (requires confirmation)ragflow_list_documents_tool - List documents in a datasetragflow_upload_document_tool - Upload a document (file path or base64)ragflow_parse_document_tool - Trigger async document parsingragflow_parse_document_sync_tool - Parse and wait for completionragflow_download_document_tool - Download document contentragflow_delete_document_tool - Delete a document (requires confirmation)ragflow_stop_parsing_tool - Cancel an active parsing jobragflow_list_chunks_tool - List chunks in a documentragflow_add_chunk_tool - Add a chunk to a documentragflow_update_chunk_tool - Update chunk content/keywordsragflow_delete_chunk_tool - Delete chunks (requires confirmation)ragflow_list_chats_tool - List chat assistantsragflow_create_chat_tool - Create a chat assistantragflow_update_chat_tool - Update chat configurationragflow_delete_chat_tool - Delete a chat assistant (requires confirmation)ragflow_list_sessions_tool - List sessions for a chatragflow_create_session_tool - Create a new sessionragflow_chat_tool - Send a message and get a responseragflow_build_graph_tool - Build knowledge graph for a datasetragflow_graph_status_tool - Check graph construction statusragflow_get_graph_tool - Retrieve the knowledge graphragflow_delete_graph_tool - Delete a knowledge graph (requires confirmation)ragflow_build_raptor_tool - Build RAPTOR tree for a datasetragflow_raptor_status_tool - Check RAPTOR construction statusQuery: "What is the main character's motivation?"
Dataset: your-dataset-id
1. Upload: ragflow_upload_document_tool(dataset_id, file_path="/path/to/doc.pdf")
2. Parse: ragflow_parse_document_sync_tool(document_id)
3. Search: ragflow_retrieval_tool(query="your question", dataset_ids=[dataset_id])
pip install -e ".[dev]"
pytest tests/ -v
ragflow-mcp/
├── src/
│ ├── __init__.py
│ ├── server.py # FastMCP server setup
│ ├── connector.py # RAGFlow API client
│ ├── config.py # Configuration management
│ ├── cache.py # LRU cache implementation
│ └── tools/
│ ├── retrieval.py # Semantic search
│ ├── datasets.py # Dataset CRUD
│ ├── documents.py # Document management
│ ├── chunks.py # Chunk management
│ ├── chat.py # Chat & sessions
│ └── graph.py # GraphRAG & RAPTOR
├── tests/
│ └── ...
├── pyproject.toml
└── README.md
All delete operations require explicit confirm=True parameter to prevent accidental data loss.
MIT License
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"ragflow-mcp-server": {
"command": "npx",
"args": []
}
}
}