数据库查询工具

一个用于连接和查询PostgreSQL数据库的MCP服务器,支持数据搜索、列名获取和行数统计等功能。

  • by brandontomlin2
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 brandontomlin2/mcphub-example-database-deploy

使用说明

数据库查询MCP

一个简单的MCP(模型上下文协议)服务器示例,演示如何连接到PostgreSQL数据库并查询数据。

特性

此MCP服务器提供以下工具:

  • 搜索数据:按列值搜索数据(支持部分匹配)
  • 获取所有数据:从数据库中检索所有数据(限制为100行)
  • get_row_count:获取总行数
  • get_columns:列出表中的所有列名

先决条件

  • Node.js 20+
  • Neon Postgres数据库(或任何PostgreSQL数据库)
  • MCPHub帐户(用于部署)

本地开发

  1. 安装依赖项:

    npm install
    
  2. 设置环境变量:

    export DATABASE_URL="postgres://user:password@host:5432/database?sslmode=require"
    
  3. 运行服务器:

    npm start
    
  4. 测试运行状况端点:

    curl http://localhost:8081/health
    

部署到MCPHub

  1. 将此存储库推送到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
    
  2. 通过MCPHub部署:

    • 首选https://mcphub-web.vercel.app/dashboard/deploy
    • 输入您的GitHub存储库URL
    • 启用“数据库”功能
    • 上传 sample-data.csv 文件
    • 点击“部署MCP”
  3. 部署将:

    • 克隆您的存储库
    • 构建并部署到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隔离)

许可证

国际学生委员会