QueryWeaver MCP 服务端
使用说明
-
项目简介 QueryWeaver 提供一个 MCP 服务器实现,向 LLM 客户端暴露资源、工具和提示模板等能力,帮助实现可扩展的“上下文服务 + 功能调用”能力,便于在各种 LLM 应用中嵌入文本到 SQL 的工作流。
-
主要功能点
- 资源管理与数据访问:通过 MCP 服务器管理数据库资源(如图形化数据、数据库连接信息等),为 LLM 提供查询所需的上下文信息。
- 工具注册与执行:允许 LLM 调用外部功能(工具),完成诸如数据库连接、查询执行、内存管理等操作。
- 提示模板与渲染:提供用于 Text2SQL 与数据查询等流程的 Prompts 渲染能力,支持可定制化互动模式。
- JSON-RPC 弹性通信:服务器通过 MCP 协议的 JSON-RPC 风格请求/响应与客户端通信,支持会话管理与能力声明。
- 多传输协议与安全性:集成会话、鉴权、CSRF、HSTS 等安全机制,并可扩展接入 Stdio/SSE/WebSocket 等传输方式。
-
安装与运行
- 直接运行(开发/评估场景):
- 克隆项目并进入仓库根目录。
- 安装依赖(项目文档建议使用 Pipenv,亦可按需使用其他方式):
- 使用 Pipenv 环境:pipenv install --dev
- 启动后端:
- 生产环境可通过 uvicorn 启动:uvicorn api.index:app --host 0.0.0.0 --port 5000
- 调试模式可通过 FASTAPI_DEBUG 变量开启 reload 功能
- Docker 运行(推荐评估用):
- docker run -p 5000:5000 -it falkordb/queryweaver
- 部署说明:
- 默认 MCP 功能启用;如需禁用内置 MCP 端点,请设置 DISABLE_MCP=true。
- MCP surface 默认暴露在 /mcp 路径,客户端可按 MCP 标准通过该入口进行资源、工具、Prompts 的交互。
- 服务器配置示例(供 MCP 客户端使用的配置说明,非代码) { "servers": { "queryweaver_mcp": { "type": "http", "url": "http://127.0.0.1:5000/mcp", "headers": { "Authorization": "Bearer your_token_here" } } }, "inputs": [] } 说明:该配置用于说明 MCP 客户端如何定位 MCP 服务器的 surface。实际客户端可能不需要该配置文本,具体以客户端实现为准。
- 直接运行(开发/评估场景):
-
基本使用方法
- 启动后端后,客户端(LLM)通过 MCP 进行下列操作:
- 注册资源(Resources)以暴露数据访问能力
- 注册工具(Tools)以执行外部操作
- 渲染并获取 Prompt 模板(Prompts)用于与 LLM 的对话交互
- 客户端通过 MCP 的 JSON-RPC 请求获取资源、调用工具、获取 Prompts,并接收服务器返回的 JSON-RPC 响应或通知。
- 该实现支持对话会话、能力声明,以及在需要时提供多种传输协议的扩展能力。
- 启动后端后,客户端(LLM)通过 MCP 进行下列操作: