数据库访问控制服务

MariaDB/MySQL数据库的模型上下文协议服务器,为AI助手提供安全、可控的数据库访问权限管理。

  • by cemalturkcan
  • JavaScript
  • 本地部署
  • 4 星标
  • 更新于
在 GitHub 查看 cemalturkcan/mariadb-mcp-server

使用说明

mariadb-mcp服务器

用于MariaDB/MySQL数据库的MCP(模型上下文协议)服务器。通过每个连接的读/写权限为AI助手提供安全、受控的数据库访问。

特性

  • 多连接 --从单个服务器管理多个MariaDB/MySQL数据库
  • 按连接访问控制 — read 和 write 每个连接的标志
  • 可选限制 — statement_timeout_ms, default_row_limit, max_row_limit (全部可选,默认情况下不受限制)
  • SQL保护 --验证查询以防止通过读取工具意外写入
  • 交易支持 --可写连接上的原子多查询执行

安装

npm install -g @cemalturkcann/mariadb-mcp-server

或者直接与npx一起使用:

npx @cemalturkcann/mariadb-mcp-server

配置

服务器正在查找 config.json 按照以下顺序:

  1. DB_MCP_CONFIG_PATH 环境变量
  2. 包裹旁边(../config.json 相对于 src/)
  3. 当前工作目录
  4. ~/.config/mariadb-mcp/config.json

如果找不到配置,则会在以下位置自动创建默认配置 ~/.config/mariadb-mcp/config.json 具有本地只读连接。

配置示例:

{
  "connections": {
    "local": {
      "host": "localhost",
      "port": 3306,
      "user": "root",
      "password": "",
      "description": "Local MariaDB",
      "read": true,
      "write": true
    },
    "production": {
      "host": "db.example.com",
      "port": 3306,
      "user": "readonly_user",
      "password": "secret",
      "database": "mydb",
      "description": "Production (read-only)",
      "read": true,
      "write": false,
      "statement_timeout_ms": 5000,
      "default_row_limit": 50,
      "max_row_limit": 500
    }
  }
}

连接选项

字段 类型 默认值 描述
host 字符串 localhost 数据库主机
port 编号 3306 数据库端口
user 字符串 root 数据库用户
password 字符串 "" 数据库密码
database 字符串 "" 默认数据库
description 字符串 "" 人类可读标签
read 布尔值 true 允许读取查询
write 布尔值 false 允许写查询
ssl 布尔值/对象 false SSL配置
statement_timeout_ms 编号 无 连接超时(0或省略=无限制)
default_row_limit 编号 无 SELECT的默认限制(0或省略=无限制)
max_row_limit 编号 无 最大允许极限(0或省略=无限制)

MCP工具

工具 描述 需要
list_connections 列出所有已配置的连接 --
list_databases 显示连接上的数据库 read
list_tables 显示表(可选地在特定数据库中) read
describe_table 显示列定义 read
execute_select 运行SELECT/SHOW/DESCRIBE/EXPLAIN查询 read
execute_write 运行INSERT/UPDATE/DELETE/DDL查询 write
execute_transaction 以原子方式运行多个写查询 write
suggest_query 建议手动审核查询 --

MCP客户端设置

首次运行时,会在以下位置自动创建默认配置 ~/.config/mariadb-mcp/config.json (Linux/macOS)或 %APPDATA%\mariadb-mcp\config.json (Windows)。编辑它以添加您的连接。

克劳德代码

添加 ~/.claude.json:

{
  "mcpServers": {
    "mariadb": {
      "command": "npx",
      "args": ["-y", "@cemalturkcann/mariadb-mcp-server"]
    }
  }
}

开源代码

添加到您的 opencode.json:

{
  "mcp": {
    "mariadb": {
      "type": "local",
      "command": ["npx", "-y", "@cemalturkcann/mariadb-mcp-server"]
    }
  }
}

其他MCP客户端

任何兼容MCP的客户端都可以使用此服务器。二进制名称为 mariadb-mcp-server 它通过stdio进行通信。要使用自定义配置路径,请设置 DB_MCP_CONFIG_PATH.

许可证

麻省理工学院