Vanna MCP服务器(带Ragflow检索)
MCP服务器,用于将Vanna聊天和Ragflow检索与AI工具集成。为Ragflow提供MCP工具 /api/v1/retrieval 端点和通往Vanna的流媒体桥 /api/v0/chat_sse.
描述
该服务器将MCP兼容客户端与Ragflow检索和Vanna聊天API连接起来。它保留了原始的Ragflow检索工具以实现向后兼容性,并添加了流式聊天支持。
主要特点
- 信息检索:对Ragflow数据集/文档执行语义、关键字和混合检索。
- Vanna聊天流媒体:代理Vanna
/api/v0/chat_sse通过MCP流媒体进行响应。
安装
此服务器旨在用作MCP服务器,应使用uv安装在虚拟环境中,而不是作为全系统软件包。
开发安装
# Create a virtual environment
uv venv --python 3.11
# Install the package in development mode
uv pip install -e .需求
- Python 3.11+
- 使用运行Ragflow API服务器
/api/v1/retrieval启用 - 运行Vanna API服务器暴露
/api/v0/chat_sse
环境变量
RAGFLOW_API_BASE=http://localhost:9621
RAGFLOW_API_KEY=your-api-key
VANNA_API_BASE=http://localhost:8000
VANNA_API_KEY=your_vanna_api_key用法
重要MCP服务器应通过MCP客户端配置文件运行(例如。, mcp-config.json).
命令行选项
配置服务器时可以使用以下参数(也可以通过环境变量提供):
--host:Ragflow API主机(默认值:localhost)--port:Ragflow API端口(默认值:9621)--api-key:Ragflow API键(可选)--base-url:完整Ragflow API基本URL(覆盖主机/端口)--vanna-api-key:Vanna API密钥(可选)--vanna-base-url:完整的Vanna API基础URL
两个遗产 raglfow-mcp 以及新 vanna-mcp 入口点映射到同一服务器。
设置为MCP服务器
使用uvenv(uvx):
{
"mcpServers": {
"ragflow-mcp": {
"command": "uvx",
"args": [
"vanna-mcp",
"--host",
"localhost",
"--port",
"9621",
"--api-key",
"your_api_key"
]
}
}
}发展
{
"mcpServers": {
"ragflow-mcp": {
"command": "uv",
"args": [
"--directory",
"/path/to/data_analyst_mcp",
"run",
"src/data_analyst_mcp/main.py",
"--host",
"localhost",
"--port",
"9621",
"--api-key",
"your_api_key"
]
}
}
}替换 /path/to/data_analyst_mcp 使用MCP目录的实际路径。
可用的MCP工具
ragflow_retrieval:执行Ragflow/api/v1/retrieval根据指定的数据集或文档ID。vanna_chat_sse:来自Vanna的流式响应/api/v0/chat_sse通过MCP流媒体。
流媒体示例
from data_analyst_mcp.client.vanna_server_api_client.vanna_client import (
build_vanna_client,
chat_sse_stream,
)
client = build_vanna_client()
async for event in chat_sse_stream(client=client, message="Hello Vanna"):
print(event)发展
安装开发依赖项
uv pip install -e ".[dev]"运行过梁
ruff check src/
mypy src/许可证
麻省理工学院
