使用说明

项目简介

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 接口的安全性。

安装步骤

  1. 克隆仓库:

    git clone https://github.com/FalkorDB/FalkorDB-MCPServer.git
    cd FalkorDB-MCPServer
  2. 安装依赖: 确保已安装 Node.js (v16 或更高版本) 和 npm 或 yarn。

    npm install
  3. 配置环境变量: 复制 '.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 密钥进行身份验证。

基本使用方法

  1. 启动服务器:

    • 开发模式: 运行 'npm run dev' 启动开发服务器,支持热重载,方便开发调试。
    • 生产模式: 先运行 'npm run build' 构建项目,然后运行 'npm start' 启动生产服务器。
  2. 配置 MCP 客户端: 根据 "服务器配置 (MCP 客户端)" 章节的说明,配置您的 MCP 客户端,指定服务器的启动命令和参数。

  3. 客户端发起 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 协议格式返回给客户端。

信息

分类

数据库与文件