使用说明
Supabase MCP服务器
用于将Supabase数据库与Claude等人工智能助手集成的模型上下文协议(MCP)服务器。专为与Cursor IDE一起使用而构建。
🚀 特性
- 数据库查询:通过过滤和排序查询任何表
- CRUD操作:创建、读取、更新和删除记录
- 资源访问:作为MCP资源公开的表
- 类型安全:工具的完整TypeScript风格模式
- 错误处理:全面的错误处理和记录
- 光标集成:针对Cursor IDE工作流程进行了优化
📋 先决条件
- Python 3.8+
- 辅助账户和项目
- 光标IDE
- MCP(模型上下文协议)基础知识
🛠️ Cursor IDE的设置说明
1. 再进行
在游标中打开终端(Terminal → New Terminal)并运行:
# Create virtual environment (recommended)
python -m venv venv
# Activate virtual environment
# On Windows:
venv\Scripts\activate
# On macOS/Linux:
source venv/bin/activate
# Install required packages
pip install -r requirements.txt
2. 配置环境变量
- 从以下位置复制您的Supabase凭据 Supabase仪表板
- 编辑
.env文件中包含您的实际值:
SUPABASE_URL=https://your-project-id.supabase.co
SUPABASE_KEY=your-anon-or-service-key-here
3. 更新表配置
编辑 config.py 并更新 KNOWN_TABLES 列出您的实际表名:
KNOWN_TABLES: List[str] = [
"your_table_1",
"your_table_2",
"your_table_3",
# Add all your table names here
]
4. 测试连接
在Cursor的终端中运行此命令以测试您的设置:
python -c "from config import get_supabase_client; print('✅ Connection successful!' if get_supabase_client() else '❌ Connection failed!')"
5. 运行MCP服务器
python main.py
您应该看到:
INFO:__main__:✅ Successfully connected to Supabase
INFO:__main__:🚀 MCP Server running...
🔧 可用工具
| 工具 | 说明 | 参数 |
|---|---|---|
query_table |
带筛选器的查询表 | table_name, columns, filter_column, filter_value, limit, order_by |
insert_data |
插入新记录 | table_name, data |
update_data |
更新现有记录 | table_name, filter_column, filter_value, update_data |
delete_data |
删除记录 | table_name, filter_column, filter_value |
count_rows |
统计表行数 | table_name |
get_table_info |
获取表格信息 | 无 |
📖 使用示例
查询表:
{
"tool": "query_table",
"arguments": {
"table_name": "users",
"columns": "id, email, created_at",
"filter_column": "status",
"filter_value": "active",
"limit": 10,
"order_by": "created_at",
"ascending": false
}
}
插入数据:
{
"tool": "insert_data",
"arguments": {
"table_name": "users",
"data": {
"email": "user@example.com",
"name": "John Doe"
}
}
}
🔗 与Cursor IDE集成
在Cursor中使用Claude:
- 启动MCP服务器:
python main.py - 配置光标:将MCP服务器添加到游标配置中
- 与AI一起使用:AI现在可以直接查询您的数据库
光标特定提示:
- 使用 Ctrl+Shift+P → “Python:选择解释器”以确保Cursor使用您的虚拟环境
- 安装 Python扩展 为了获得更好的智能感知
- 使用 Cursor的AI聊天 帮助调试数据库查询
- 设置 调试 F5便于故障排除
🐛 故障排除
常见问题:
连接失败:
- ✅ 检查你的
.env文件具有正确的后缀URL和密钥 - ✅ 确保您的Supabase项目处于活动状态
- ✅ 验证您的密钥是否具有正确的权限
未找到表:
- ✅ 更新
KNOWN_TABLES在……里面config.py - ✅ 检查表名是否准确(区分大小写)
- ✅ 确保您的Supabase项目中存在表
导入错误:
- ✅ 激活您的虚拟环境
- ✅ 跑
pip install -r requirements.txt - ✅ 检查Python版本是否为3.8+
在游标中调试:
- 在代码中设置断点
- 按 F5 开始调试
- 使用 调试控制台 检查变量
- 检查 终端 用于错误日志
📁 项目结构
supabase-mcp-server/
├── main.py # Main MCP server implementation
├── config.py # Configuration and Supabase client
├── requirements.txt # Python dependencies
├── .env # Environment variables (your secrets)
├── .gitignore # Git ignore rules
└── README.md # This file
🚦 后续步骤
- 添加更多表格 向
KNOWN_TABLES - 实现表架构发现 用于动态表列表
- 添加身份验证 用于生产用途
- 创建自定义工具 针对您的特定用例
- 设置RLS策略 在安全Supabase
🤝 贡献
- 分叉存储库
- 创建要素分支
- 进行更改
- 彻底测试
- 提交拉取请求
📝 许可证
MIT许可证-有关详细信息,请参阅许可证文件
🆘 支持
- 检查 MCP文件
- 访问 Supabase 文档
- 为bug或功能请求打开问题
使用Cursor IDE编写代码快乐! 🎯
