Supabase PostgREST MCP 服务器

本项目实现了Model Context Protocol (MCP) 服务器,用于连接大型语言模型 (LLM) 和 Supabase 或任何PostgreSQL数据库,通过PostgREST API作为桥梁,为LLM提供数据访问和操作能力。

主要功能点:

  • 资源管理: 将PostgreSQL数据库的表结构以MCP资源的形式暴露给LLM,允许LLM理解和查询数据库结构。
  • 工具执行: 提供工具 (Tools) 使LLM能够通过PostgREST API与数据库进行交互,例如执行查询、创建、更新和删除数据。
  • 标准MCP协议: 遵循MCP协议标准,可以与任何兼容MCP协议的客户端(如Claude desktop)进行通信。

安装步骤:

  1. 安装 npm 包:
    npm install @supabase/mcp-server-postgrest

服务器配置:

MCP客户端需要配置以下信息以连接到 PostgREST MCP 服务器。配置信息为 JSON 格式:

{
  "serverName": "PostgREST MCP Server",
  "command": "node",
  "args": [
    "dist/stdio.cjs",
    "--apiUrl",
    "<PostgREST_API_URL>",  // 替换为你的PostgREST API的URL,例如 'http://your-supabase-project.supabase.co/rest/v1'
    "--apiKey",
    "<SUPABASE_API_KEY>",  // (可选) 如果你的PostgREST API需要API Key,请替换为你的API Key
    "--schema",
    "<DATABASE_SCHEMA>"   // 替换为你要访问的数据库schema,通常为 'public'
  ]
}

注意:

  • 请将 '<PostgREST_API_URL>' 替换为你的实际PostgREST API的URL。对于Supabase项目,可以在Supabase控制台中找到API URL。
  • '--apiKey' 参数是可选的,如果你的PostgREST API需要API Key进行身份验证,请提供你的Supabase API Key。可以在Supabase控制台中项目设置的API设置中找到 'anon key'。
  • '--schema' 参数指定了要访问的数据库schema,默认情况下PostgreSQL使用 'public' schema。

基本使用方法:

  1. 启动服务器: 在安装了 '@supabase/mcp-server-postgrest' 的项目目录下,根据上述配置信息,使用 MCP 客户端配置并启动 PostgREST MCP 服务器。
  2. 连接客户端: 使用兼容 MCP 协议的客户端(例如 Claude desktop),配置连接到 PostgREST MCP 服务器。
  3. 利用LLM进行数据库交互: 在客户端中,LLM 可以通过服务器提供的资源和工具,理解数据库结构并执行数据库操作,例如查询数据、分析数据等。具体操作方式取决于MCP客户端的功能。

例如,在 Claude desktop 中:

  1. 打开 Claude desktop 的 "Preferences"。
  2. 在 "Connections" 或类似的选项中,点击 "Add Connection"。
  3. 选择 "Model Context Protocol"。
  4. 填入上述 JSON 格式的服务器配置信息。
  5. 连接成功后,你就可以在 Claude desktop 中使用自然语言与你的 PostgreSQL 数据库进行交互了。例如,你可以询问 "Show me all todos" 或 "Create a new task named 'Buy milk'"。 Claude desktop 将会调用 PostgREST MCP 服务器提供的工具来执行数据库操作并将结果返回给你。

信息

分类

数据库与文件