MCP Server for LightRAG (RazumHub fork with HTTPS support and JWT auto-renewal)
Project description
LightRAG MCP Server
MCP server for integrating LightRAG with AI tools. Provides a unified interface for interacting with LightRAG API through the MCP protocol.
Description
LightRAG MCP Server is a bridge between LightRAG API and MCP-compatible clients. It allows using LightRAG (Retrieval-Augmented Generation) capabilities in various AI tools that support the MCP protocol.
Key Features
- Information Retrieval: Execute semantic and keyword queries to documents
- Document Management: Upload, index, and track document status
- Knowledge Graph Operations: Manage entities and relationships in the knowledge graph
- Monitoring: Check LightRAG API status and document processing
Installation
This server is designed to be used as an MCP server and should be installed in a virtual environment using uv, not as a system-wide package.
Development Installation
# Create a virtual environment
uv venv --python 3.11
# Install the package in development mode
uv pip install -e .
Requirements
- Python 3.11+
- Running LightRAG API server
Usage
LightRAG MCP server supports two MCP transport modes:
- stdio (default): run through an MCP client configuration file (
mcp-config.json) - streamable-http: run as a standalone HTTP server for remote MCP clients
Command Line Options
LightRAG API connection:
--host: LightRAG API host (default: localhost)--port: LightRAG API port (default: 9621)--api-key: LightRAG API key (optional)
MCP transport:
--mcp-transport: MCP transport (stdioorstreamable-http, default: stdio)--mcp-host: MCP HTTP host (default: 127.0.0.1)--mcp-port: MCP HTTP port (default: 8000)--mcp-streamable-http-path: Streamable HTTP endpoint path (default: /mcp)--mcp-stateless-http: Enable stateless Streamable HTTP mode (new session per request)--mcp-json-response: Return JSON responses instead of SSE for Streamable HTTP
Integration with LightRAG API
The MCP server requires a running LightRAG API server. Start it as follows:
# Create virtual environment
uv venv --python 3.11
# Install dependencies
uv pip install -r LightRAG/lightrag/api/requirements.txt
# Start LightRAG API
uv run LightRAG/lightrag/api/lightrag_server.py --host localhost --port 9621 --working-dir ./rag_storage --input-dir ./input --llm-binding openai --embedding-binding openai --log-level DEBUG
Setting up as MCP server (stdio)
To set up LightRAG MCP as an MCP server, add the following configuration to your MCP client configuration file (e.g., mcp-config.json):
Using uvenv (uvx):
{
"mcpServers": {
"lightrag-mcp": {
"command": "uvx",
"args": [
"lightrag_mcp",
"--host",
"localhost",
"--port",
"9621",
"--api-key",
"your_api_key"
]
}
}
}
Development
{
"mcpServers": {
"lightrag-mcp": {
"command": "uv",
"args": [
"--directory",
"/path/to/lightrag_mcp",
"run",
"src/lightrag_mcp/main.py",
"--host",
"localhost",
"--port",
"9621",
"--api-key",
"your_api_key"
]
}
}
}
Replace /path/to/lightrag_mcp with the actual path to your lightrag-mcp directory.
Running over Streamable HTTP (standalone server)
Use this when you need remote access or want to host the MCP server behind HTTP infrastructure:
uv run src/lightrag_mcp/main.py \
--mcp-transport streamable-http \
--mcp-host 0.0.0.0 \
--mcp-port 8000 \
--mcp-streamable-http-path /mcp \
--host localhost \
--port 9621 \
--api-key your_api_key
MCP clients should connect to: http://localhost:8000/mcp
Available MCP Tools
Document Queries
query_document: Execute a query to documents through LightRAG API
Document Management
insert_document: Add text directly to LightRAG storageupload_document: Upload document from file to the /input directoryinsert_file: Add document from file directly to storageinsert_batch: Add batch of documents from directoryscan_for_new_documents: Start scanning the /input directory for new documentsget_documents: Get list of all uploaded documentsget_pipeline_status: Get status of document processing in pipeline
Knowledge Graph Operations
get_graph_labels: Get labels (node and relationship types) from knowledge graphcreate_entities: Create multiple entities in knowledge graphedit_entities: Edit multiple existing entities in knowledge graphdelete_by_entities: Delete multiple entities from knowledge graph by namedelete_by_doc_ids: Delete all entities and relationships associated with multiple documentscreate_relations: Create multiple relationships between entities in knowledge graphedit_relations: Edit multiple relationships between entities in knowledge graphmerge_entities: Merge multiple entities into one with relationship migration
Monitoring
check_lightrag_health: Check LightRAG API status
Development
Installing development dependencies
uv pip install -e ".[dev]"
Running linters
ruff check src/
mypy src/
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file razumhub_lightrag_mcp-0.2.1.tar.gz.
File metadata
- Download URL: razumhub_lightrag_mcp-0.2.1.tar.gz
- Upload date:
- Size: 54.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3435fb62594f138f3e884df78521e3e070c2c0ffb3065c367f161e7230d4c6b4
|
|
| MD5 |
c7fb057d5dd49923cbec9885fad04a2c
|
|
| BLAKE2b-256 |
ec355f412abdf6fc8d3bee99199d25a1de5c42356da980c38169fd3032db47a6
|
File details
Details for the file razumhub_lightrag_mcp-0.2.1-py3-none-any.whl.
File metadata
- Download URL: razumhub_lightrag_mcp-0.2.1-py3-none-any.whl
- Upload date:
- Size: 100.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
672976a9a87ef7e329f6b93747b424390b9c521f8ac7ea4fdd7d181eef3b6c98
|
|
| MD5 |
89fd4a815196915782e9b84677390999
|
|
| BLAKE2b-256 |
1d23614b2bb0e33a89edd304be551803686c45a6cc4892373f9ad58ff75af27c
|