项目简介

hr-og-froken-rvk 仓库是一个语音助手项目,其中包含了 Supabase MCP Server 的实现。该服务器基于 Python 的 FastMCP 框架构建,旨在为大型语言模型(LLM)客户端提供结构化的数据库操作能力。通过此 MCP 服务器,LLM 客户端可以安全、便捷地与 Supabase 数据库进行交互,实现数据的读取、创建、更新和删除等操作。

主要功能点

  • 资源管理: 通过 MCP 协议,服务器托管和管理 Supabase 数据库资源。
  • 数据访问能力: 提供标准化接口,允许 LLM 客户端读取 Supabase 数据库中的数据表记录。
  • 工具注册与执行: 注册了一系列工具,包括:
    • 'read_rows': 读取指定 Supabase 数据表中的行数据。
    • 'create_record': 在 Supabase 数据表中创建新的记录。
    • 'update_record': 更新 Supabase 数据表中指定 ID 的记录。
    • 'delete_record': 删除 Supabase 数据表中指定 ID 的记录。
  • JSON-RPC 协议: 通过 JSON-RPC 协议与 MCP 客户端进行通信。
  • 易于扩展: 基于 FastMCP 框架,方便扩展更多数据库操作工具或集成其他服务。

安装步骤

  1. 克隆仓库

    git clone https://github.com/omarorn/hr-og-froken-rvk.git
    cd hr-og-froken-rvk
  2. 进入 Supabase MCP 服务器目录

    cd mcp-servers/supabase-mcp
  3. 安装 Python 依赖

    如果需要,建议在虚拟环境中安装依赖。可以使用 'pip' 或 'pipenv' 等工具管理 Python 包。

    # 例如使用 pip
    pip install fastmcp python-dotenv
  4. 配置环境变量

    通常 MCP 服务器可能需要配置端口等信息,虽然此仓库的 'server.py' 中端口配置通过环境变量 'MCP_SERVER_PORT' 获取,但默认已设置为 '8000',通常无需额外配置,如需自定义端口,请设置环境变量。

    # 例如设置端口为 8080
    export MCP_SERVER_PORT=8080
  5. 启动 Supabase MCP 服务器

    在 'mcp-servers/supabase-mcp' 目录下,运行服务器脚本:

    python server.py

    服务器默认会在 8000 端口启动,启动成功后,您将在终端看到类似 'Supabase MCP Server is running on port 8000' 的信息。

服务器配置

以下是 MCP 客户端连接 Supabase MCP 服务器时可能需要的配置信息(JSON 格式):

{
  "serverName": "supabase-mcp-server",  // MCP 服务器名称,客户端可自定义
  "command": "python",                 // 启动 MCP 服务器的命令
  "args": [                            // 启动命令的参数
    "server.py"                        // 指定服务器脚本路径,相对于 mcp 客户端的工作目录,如果客户端与服务端部署在不同机器,需要根据实际情况填写
  ],
  "transport": "stdio",                // 传输协议,通常 MCP 服务器使用 stdio、websocket 或 sse,此处示例为 stdio
  "port": 8000                         // MCP 服务器监听的端口,如果 server.py 中配置了其他端口,此处需要同步修改
  // 其他可选配置,如心跳检测、鉴权等,请参考 MCP 客户端文档进行配置
}

参数注释:

  • 'serverName': MCP 服务器的名称,用于在客户端标识和管理不同的 MCP 服务器连接。
  • 'command': 启动 MCP 服务器的命令,通常为 Python 解释器 'python'。
  • 'args': 传递给启动命令的参数,这里指定了服务器脚本 'server.py' 的路径。如果客户端和服务端部署在不同机器,'server.py' 路径需要根据实际情况调整,或者直接使用服务端可执行的启动命令。
  • 'transport': 指定 MCP 客户端与服务器之间的通信协议,'stdio' 表示标准输入输出流,是常用的本地调试和部署方式。其他可选值包括 'websocket' 和 'sse',适用于网络连接。
  • 'port': 指定 MCP 服务器监听的端口号,确保与 'server.py' 中配置的端口一致。

基本使用方法

  1. 启动 MCP 服务器: 按照上述安装步骤启动 Supabase MCP 服务器。
  2. 配置 MCP 客户端: 在您的 LLM 应用或 MCP 客户端中,根据 "服务器配置" 部分的示例,配置连接到 Supabase MCP 服务器。
  3. 调用工具: 通过 MCP 客户端,您可以调用 Supabase MCP 服务器提供的工具,例如 'read_rows'、'create_record' 等,以实现对 Supabase 数据库的各种操作。具体的调用方法和参数,请参考 FastMCP 和 MCP 客户端的相关文档。

例如,客户端可以发送 JSON-RPC 请求调用 'read_rows' 工具读取 'your_table_name' 表格的数据:

{
  "jsonrpc": "2.0",
  "method": "call_tool",
  "params": {
    "tool_name": "read_rows",
    "tool_config": {
      "table": "your_table_name"
    }
  },
  "id": 1
}

服务器会处理该请求,并返回包含表格数据的 JSON-RPC 响应。

信息

分类

数据库与文件