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)进行通信。
安装步骤:
- 安装 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。
基本使用方法:
- 启动服务器: 在安装了 '@supabase/mcp-server-postgrest' 的项目目录下,根据上述配置信息,使用 MCP 客户端配置并启动 PostgREST MCP 服务器。
- 连接客户端: 使用兼容 MCP 协议的客户端(例如 Claude desktop),配置连接到 PostgREST MCP 服务器。
- 利用LLM进行数据库交互: 在客户端中,LLM 可以通过服务器提供的资源和工具,理解数据库结构并执行数据库操作,例如查询数据、分析数据等。具体操作方式取决于MCP客户端的功能。
例如,在 Claude desktop 中:
- 打开 Claude desktop 的 "Preferences"。
- 在 "Connections" 或类似的选项中,点击 "Add Connection"。
- 选择 "Model Context Protocol"。
- 填入上述 JSON 格式的服务器配置信息。
- 连接成功后,你就可以在 Claude desktop 中使用自然语言与你的 PostgreSQL 数据库进行交互了。例如,你可以询问 "Show me all todos" 或 "Create a new task named 'Buy milk'"。 Claude desktop 将会调用 PostgREST MCP 服务器提供的工具来执行数据库操作并将结果返回给你。
信息
分类
数据库与文件