使用说明
数据库查询MCP
一个简单的MCP(模型上下文协议)服务器示例,演示如何连接到PostgreSQL数据库并查询数据。
特性
此MCP服务器提供以下工具:
- 搜索数据:按列值搜索数据(支持部分匹配)
- 获取所有数据:从数据库中检索所有数据(限制为100行)
- get_row_count:获取总行数
- get_columns:列出表中的所有列名
先决条件
- Node.js 20+
- Neon Postgres数据库(或任何PostgreSQL数据库)
- MCPHub帐户(用于部署)
本地开发
-
安装依赖项:
npm install -
设置环境变量:
export DATABASE_URL="postgres://user:password@host:5432/database?sslmode=require" -
运行服务器:
npm start -
测试运行状况端点:
curl http://localhost:8081/health
部署到MCPHub
-
将此存储库推送到GitHub:
git init git add . git commit -m "Initial commit" git remote add origin https://github.com/yourusername/mcphub-example-database-deploy.git git push -u origin main -
通过MCPHub部署:
- 首选https://mcphub-web.vercel.app/dashboard/deploy
- 输入您的GitHub存储库URL
- 启用“数据库”功能
- 上传
sample-data.csv文件 - 点击“部署MCP”
-
部署将:
- 克隆您的存储库
- 构建并部署到Fly.io
- 为MCP创建数据库模式
- 导入CSV数据
- 集
DATABASE_URL作为环境变量 - 通过MCPHub边缘网络使您的MCP可用
使用MCP
部署后,您可以在Claude Desktop或其他MCP客户端中使用此MCP。MCP将通过以下方式访问数据库 DATABASE_URL 环境变量,由MCPHub自动配置。
查询示例
-
按名称搜索产品:
search_data(column: "name", query: "Widget", limit: 10) -
按类别搜索:
search_data(column: "category", query: "Tools", limit: 20) -
获取所有数据:
get_all_data(limit: 50) -
获取行数:
get_row_count() -
列表列:
get_columns()
数据库模式
MCP需要一个名为的表 data 在MCPHub创建的模式中。在部署期间上传CSV时,会自动创建架构和表。
CSV示例包括:
name:产品名称price:产品价格category:产品类别description:产品描述
安全
- MCP使用只读数据库角色
- 验证列名以防止SQL注入
- 数据库连接使用SSL/TLS
- MCP只能访问自己的模式(与其他MCP隔离)
许可证
国际学生委员会