ragflow-knowledge-mcp-server
@lumerix7
A simple MCP server of knowledge base for RAGFlow.
Overview
What is ragflow-knowledge-mcp-server?
An MCP (Model Context Protocol) server that provides a knowledge base interface for RAGFlow, enabling AI assistants to search and retrieve knowledge from configured datasets. It is intended for developers integrating RAGFlow knowledge bases with MCP-compatible clients.
How to use ragflow-knowledge-mcp-server?
Install via pip (pip install ragflow-knowledge-mcp-server) or from source. Configure via a config.yaml file specifying the RAGFlow API base URL, API key, and dataset definitions. Run with ragflow-knowledge-mcp-server --config=/path/to/config.yaml, using Python or uv, or through Docker/Docker Compose. The server supports both stdio and SSE transports.
Key features of ragflow-knowledge-mcp-server
- Dynamic knowledge base searching tools configured per dataset.
- List knowledge bases (optional, disabled by default).
- Get information of a specific knowledge base (optional, disabled by default).
- Configurable via YAML file and environment variables.
- Supports both stdio and SSE transports.
- Compatible with RAGFlow versions 0.17.2 and 0.18.0.
- Logging via simp-logger with file and console output.
Use cases of ragflow-knowledge-mcp-server
- Integrate RAGFlow knowledge bases with MCP-compatible AI assistants.
- Enable dynamic search of specific knowledge datasets during AI interactions.
- List and inspect available knowledge bases for management purposes.
- Retrieve metadata about a particular knowledge base.
FAQ from ragflow-knowledge-mcp-server
What RAGFlow versions does this server support?
It supports RAGFlow versions 0.17.2 and 0.18.0.
How do I configure the server?
Configuration is done via a YAML file (default config.yaml) or environment variables. Required settings include default-base-url and default-api-key, plus dataset definitions.
Does the server support SSE transport?
Yes, SSE transport is supported (the default is stdio). Set transport: sse in the config and optionally configure sse-port.
Can I list all knowledge bases?
Yes, the list_knowledge_bases tool is available but disabled by default. Enable it by setting list-bases-enabled: true in the config.
What authentication is used?
The server uses an API key (api-key) to authenticate with the RAGFlow instance. This can be set globally or per dataset.