← 返回目录
M

MCP Database Server

社区
为 Claude 提供 SQLite、SQL Server、PostgreSQL 和 MySQL 数据库访问能力的 MCP 服务器
GitHub 源仓库 ↗
★ 379 Stars 分类 · 数据库 热门 源版本 d6afa4be08eb
57FMRS · C
可靠性
10/20
安全与权限
8/20
维护活跃度
12/20
文档质量
15/20
安装易用性
12/20

该服务器提供了丰富的数据库操作工具,覆盖多个数据库类型,配置灵活。但需要用户谨慎处理写操作和凭据安全。

查看 FMRS 评分方法 →

MCP Database Server 是一个 Model Context Protocol (MCP) 服务器,使 Claude 能够通过一组工具与多种关系型数据库进行交互。它支持 SQLite、SQL Server、PostgreSQL 和 MySQL。该服务器提供了执行查询、管理表结构、导出数据以及记录业务洞察的能力。

工具能力

read_query
执行 SELECT 查询以读取数据
write_query
执行 INSERT、UPDATE 或 DELETE 查询
create_table
在数据库中创建新表
alter_table
修改现有表结构
drop_table
从数据库中删除表
list_tables
获取所有表的列表
describe_table
查看表的模式信息
export_query
将查询结果导出为 CSV 或 JSON
append_insight
向备忘录添加业务洞察
list_insights
列出所有业务洞察

安装接入

  1. 全局安装 npm 包:npm install -g @executeautomation/database-server
  2. 在 Claude Desktop 配置文件中添加相应的 MCP 服务器配置,使用 npx 命令启动。
claude_desktop_config.json
{
  "mcpServers": {
    "sqlite": {
      "command": "npx",
      "args": [
        "-y",
        "@executeautomation/database-server",
        "/path/to/your/database.db"
      ]
    },
    "sqlserver": {
      "command": "npx",
      "args": [
        "-y",
        "@executeautomation/database-server",
        "--sqlserver",
        "--server",
        "your-server-name",
        "--database",
        "your-database-name",
        "--user",
        "your-username",
        "--password",
        "your-password"
      ]
    },
    "postgresql": {
      "command": "npx",
      "args": [
        "-y",
        "@executeautomation/database-server",
        "--postgresql",
        "--host",
        "your-host-name",
        "--database",
        "your-database-name",
        "--user",
        "your-username",
        "--password",
        "your-password"
      ]
    },
    "mysql": {
      "command": "npx",
      "args": [
        "-y",
        "@executeautomation/database-server",
        "--mysql",
        "--host",
        "your-host-name",
        "--database",
        "your-database-name",
        "--port",
        "3306",
        "--user",
        "your-username",
        "--password",
        "your-password"
      ]
    },
    "mysql-aws": {
      "command": "npx",
      "args": [
        "-y",
        "@executeautomation/database-server",
        "--mysql",
        "--aws-iam-auth",
        "--host",
        "your-rds-endpoint.region.rds.amazonaws.com",
        "--database",
        "your-database-name",
        "--user",
        "your-aws-username",
        "--aws-region",
        "us-east-1"
      ]
    }
  }
}

选型与风险

适合谁

  • 需要与多个数据库类型交互的开发者
  • 希望使用自然语言操作数据库的 Claude 用户
  • 需要快速导出数据或记录洞察的场景

不适合谁

  • 需要复杂事务处理或精细权限控制的场景
  • 生产环境中的高并发数据库访问
  • 非关系型数据库(如 MongoDB)

所需权限

  • 需要数据库凭据(用户名、密码)
  • 可能需要网络访问权限以连接远程数据库
  • 需要文件系统访问权限(对于 SQLite 文件)

风险与副作用

  • 写操作可能导致数据丢失或损坏,需谨慎使用
  • 凭据可能被记录在配置文件中,需妥善管理
  • 开放网络端口可能带来安全风险

常见排障

  1. 检查 Node.js 版本是否 >= 18
  2. 确保数据库连接参数(主机、端口、数据库名)正确
  3. 对于 SQL Server,确保服务器版本 >= 2012;对于 PostgreSQL,确保版本 >= 9.5
  4. 检查防火墙或网络设置,确保能够访问数据库端口
  5. 查看日志以获取更详细的错误信息

使用场景

在本地或远程 SQLite 数据库中通过自然语言查询数据
对 SQL Server、PostgreSQL 或 MySQL 数据库执行写操作
创建和修改表结构
从数据库导出数据为 CSV 或 JSON 格式
记录和检索业务洞察

支持客户端

Claude Desktop完整支持