使用说明
项目简介
FalkorDB MCP 服务器是一个实现了 Model Context Protocol (MCP) 协议的服务端应用,它充当 LLM (大型语言模型) 客户端和 FalkorDB 图数据库之间的桥梁。该服务器允许 LLM 通过标准化的 MCP 接口查询和操作 FalkorDB 图数据库,从而为 LLM 应用提供结构化的知识图谱数据支持。
主要功能点
- 基于 MCP 协议: 遵循 Model Context Protocol 规范,提供标准化的上下文服务接口。
- 图数据库集成: 深度集成 FalkorDB 图数据库,支持 Cypher 查询语言。
- 数据访问能力: 允许 LLM 客户端通过 MCP 请求查询 FalkorDB 图数据库中的图数据。
- 元数据服务: 提供 MCP 服务器和 FalkorDB 实例的元数据信息,包括支持的功能和数据源信息。
- 健康检查: 提供健康检查接口,方便监控服务器运行状态。
- API 密钥认证: 支持 API 密钥认证,保障 MCP 接口的安全性。
安装步骤
-
克隆仓库:
git clone https://github.com/FalkorDB/FalkorDB-MCPServer.git cd FalkorDB-MCPServer -
安装依赖: 确保已安装 Node.js (v16 或更高版本) 和 npm 或 yarn。
npm install -
配置环境变量: 复制 '.env.example' 文件并重命名为 '.env',根据您的 FalkorDB 实例和服务器配置修改 '.env' 文件中的环境变量。
cp .env.example .env需要配置的关键环境变量包括:
- 'PORT': 服务器端口号 (默认为 3000)
- 'FALKORDB_HOST': FalkorDB 主机地址 (默认为 localhost)
- 'FALKORDB_PORT': FalkorDB 端口号 (默认为 6379)
- 'FALKORDB_USERNAME': FalkorDB 用户名 (如果需要)
- 'FALKORDB_PASSWORD': FalkorDB 密码 (如果需要)
- 'MCP_API_KEY': MCP API 密钥,用于客户端认证 (建议生产环境配置)
服务器配置 (MCP 客户端)
MCP 客户端需要配置以下 JSON 格式信息以连接 FalkorDB MCP 服务器。以下是示例配置,您需要根据实际情况修改 'command' 和 'args' 字段。
{ "mcpServers": { "falkordb": { "command": "docker", "args": [ "run", "-i", "--rm", "-p", "3000:3000", "--env-file", ".env", "falkordb-mcpserver", "falkordb://host.docker.internal:6379" ] } } }
参数注释:
- command: 启动 FalkorDB MCP 服务器的命令。 在示例中,使用 'docker run' 命令,假定您已将项目构建为 Docker 镜像 'falkordb-mcpserver' 并在本地 Docker 环境中运行。 您可以根据实际部署方式修改此命令,例如直接使用 'node' 启动服务器 'command: "node"' 和 'args: ["dist/index.js"]' (假设已构建)。
- args: 启动命令的参数列表。 示例中,Docker 命令的参数包括:
- 'run': Docker 运行命令
- '-i', '--rm': 交互式运行并容器退出后自动删除
- '-p 3000:3000': 将容器的 3000 端口映射到宿主机的 3000 端口,MCP 客户端通过宿主机 3000 端口访问服务器。
- '--env-file .env': 加载 '.env' 文件中的环境变量到容器中,用于配置服务器连接 FalkorDB 和 API 密钥等。
- 'falkordb-mcpserver': Docker 镜像名称,请替换为您实际构建的镜像名称。
- 'falkordb://host.docker.internal:6379': 可选的连接字符串参数,用于配置服务器连接 FalkorDB 的地址,示例中使用 'host.docker.internal' 在 Docker 容器中访问宿主机的 FalkorDB 服务 (如果 FalkorDB 运行在宿主机)。 如果 FalkorDB 服务器可以通过 'FALKORDB_HOST' 和 'FALKORDB_PORT' 环境变量访问,则可以省略此参数。
客户端配置示例:
{ "defaultServer": "falkordb", "servers": { "falkordb": { "url": "http://localhost:3000/api/mcp", "apiKey": "your_api_key_here" } } }
- url: FalkorDB MCP 服务器的 API 根 URL。 MCP 客户端通过此 URL 与服务器进行通信。
- apiKey: (可选) 如果 FalkorDB MCP 服务器配置了 'MCP_API_KEY' 环境变量,则客户端需要提供此 API 密钥进行身份验证。
基本使用方法
-
启动服务器:
- 开发模式: 运行 'npm run dev' 启动开发服务器,支持热重载,方便开发调试。
- 生产模式: 先运行 'npm run build' 构建项目,然后运行 'npm start' 启动生产服务器。
-
配置 MCP 客户端: 根据 "服务器配置 (MCP 客户端)" 章节的说明,配置您的 MCP 客户端,指定服务器的启动命令和参数。
-
客户端发起 MCP 请求: LLM 客户端根据 MCP 协议规范,向服务器的 '/api/mcp/context' (上下文查询) 和 '/api/mcp/metadata' (元数据查询) 等端点发送 JSON-RPC 请求,与 FalkorDB 图数据库进行交互。
例如,发送 POST 请求到 '/api/mcp/context' 端点,请求体包含如下 JSON 内容:
{ "graphName": "myGraph", "query": "MATCH (n:Person {name: $name}) RETURN n", "params": { "name": "Alice" } }
服务器将执行 Cypher 查询,并将结果按照 MCP 协议格式返回给客户端。
信息
分类
数据库与文件