Integrations
Uses .env files to securely store and manage configuration variables like API keys and database credentials
Enables SQL execution, schema inspection, and database migration management for PostgreSQL databases
Designed for integration with React Native PaveApp, providing database access capabilities
Yazdani-Supabase-MCP-服务器
与 Supabase PostgreSQL 集成并使用 Claude 3.7 进行自然语言查询处理的 MCP 服务器,专为与 React Native PaveApp 集成而设计。
特征
- 模式检查:查看数据库模式、表、列和关系
- SQL 执行:使用安全控制运行 SQL 查询
- 迁移管理:查看和管理数据库迁移
- 自然语言处理:使用 Claude 3.7 将自然语言转换为 SQL
- 安全控制:防止破坏性操作
- 模拟数据库模式:支持无需实时数据库连接的开发和测试
- 自动回退机制:当数据库连接失败时,优雅地回退到模拟数据
- 会话池支持:使用 Supabase 会话池实现稳定连接
安装
先决条件
- Python 3.8 或更高版本
- 访问 Supabase PostgreSQL 数据库(模拟模式可选)
- Anthropic API 密钥(用于 Claude 集成)
设置
- 克隆存储库:Copy
- 安装依赖项:Copy
- 使用您的凭证创建一个
.env
文件:Copy
用法
使用实时数据库运行服务器
对于 Supabase 数据库连接的正常运行:
使用模拟数据库运行服务器
对于没有实时数据库连接的开发或测试:
测试连接
测试与真实数据库和模拟数据库的连接:
自然语言测试
我们添加了一个强大的自然语言测试环境,允许您使用自然语言查询测试 MCP 服务器:
自然语言测试客户端提供:
- 用于测试的交互式命令行界面
- 使用 Claude 将自然语言转换为 SQL
- 针对 Supabase 数据库的 SQL 执行
- 格式化结果显示
- 命令历史和结果保存功能
可以尝试的自然语言查询示例:
- “显示公共模式中的所有表”
- “获取上个月注册的所有用户”
- “数据库中的用户总数是多少?”
作为软件包安装
与 React Native PaveApp 集成
为 React Native 设置 MCP 服务器
- 运行服务器:
- 对于开发:使用
improved_mock_server.bat
的模拟模式 - 对于生产:确保数据库凭据正确并运行
run_server.py
- 对于开发:使用
- 使服务器可访问:
- 对于本地开发:确保 React Native 可以访问你的本地网络
- 对于生产环境:托管应用程序可以访问的服务器
- 从 React Native 连接:
- 使用 MCP 客户端库连接到服务器
- 使用服务器的地址和端口配置客户端
API 端点
MCP 服务器公开了以下可通过 MCP 协议访问的工具:
get_schemas
:列出所有数据库模式get_tables
:列出模式中的表get_table_schema
:获取详细的表结构execute_postgresql
SQL 语句retrieve_migrations
:列出数据库迁移generate_sql
:从自然语言生成 SQL
故障排除
连接详细信息
服务器使用 Supabase 会话池进行数据库连接:
Supabase 建议对于维持持久连接的应用程序(尤其是在 IPv4 网络上)采用此连接格式。
连接问题
如果您遇到 Supabase 的连接问题:
- 验证您的 Supabase 项目是否处于活动状态
- 检查
.env
文件中的数据库凭据是否正确 - 确保您的 IP 地址在 Supabase 数据库设置中被允许
- 验证你使用的池主机是否适合你的区域
- 尝试使用模拟数据库模式:
USE_MOCK_DB=true
- 运行
python test_pooler_connection.py
来具体测试池连接 - 运行
python connection_test.py
进行全面的连接测试
模拟数据库模式
该服务器现在包括改进的模拟数据库支持:
- 连接失败时自动回退到模拟数据
- 真实数据和模拟数据之间的一致接口
- 使用模拟数据时有明确指示
- 改进故障排除日志记录
贡献
欢迎贡献代码!欢迎提交 Pull 请求。
执照
该项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅 LICENSE 文件。
This server cannot be installed
MCP 服务器使用 Claude 3.7 支持对 Supabase PostgreSQL 数据库进行自然语言查询,允许用户检查模式、执行 SQL、管理迁移以及将自然语言转换为 SQL 查询。