mcpField
M
MariaDB / MySQL Database Access MCP Server

MariaDB / MySQL Database Access MCP Server

本地服务
github.com/rjsalgado数据库1415 周前更新

关于 MariaDB / MySQL Database Access MCP Server

为 MCP 客户端提供 MariaDB 和 MySQL 数据库访问的 MCP 服务,支持数据库与表发现、结构查看和 SQL 执行。默认只读,也可配置写入权限。

主要功能

  1. 01列出数据库和表
  2. 02查看表结构
  3. 03执行 SQL 查询
  4. 04默认启用只读访问
  5. 05可配置写入权限与查询限制

适用场景

  1. 01发现可访问的数据库
  2. 02查询前检查表结构
  3. 03对 MariaDB 或 MySQL 执行受限查询
  4. 04启用指定写入操作

MCP 相关

将 MariaDB 和 MySQL 的数据库列表、表列表、结构查看及 SQL 执行作为 MCP 工具提供。默认只读,写入权限可配置。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"mariadb": {
"command": "npx",
"args": [
"-y",
"mariadb-mcp-server"
],
"env": {
"MARIADB_HOST": "<MARIADB_HOST>",
"MARIADB_PORT": "<MARIADB_PORT>",
"MARIADB_USER": "<MARIADB_USER>",
"MARIADB_PASSWORD": "<MARIADB_PASSWORD>",
"MARIADB_DATABASE": "<MARIADB_DATABASE>",
"MARIADB_ALLOW_INSERT": "<MARIADB_ALLOW_INSERT>",
"MARIADB_ALLOW_UPDATE": "<MARIADB_ALLOW_UPDATE>",
"MARIADB_ALLOW_DELETE": "<MARIADB_ALLOW_DELETE>",
"MARIADB_TIMEOUT_MS": "<MARIADB_TIMEOUT_MS>",
"MARIADB_ROW_LIMIT": "<MARIADB_ROW_LIMIT>"
}
}
}
}
启动命令npx -y mariadb-mcp-server
需要配置的环境变量
MARIADB_HOST
MARIADB_PORT
MARIADB_USER
MARIADB_PASSWORD密钥
MARIADB_DATABASE
MARIADB_ALLOW_INSERT
MARIADB_ALLOW_UPDATE
MARIADB_ALLOW_DELETE
MARIADB_TIMEOUT_MS
MARIADB_ROW_LIMIT

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmmariadb-mcp-server

工具

4

收录的工具列表 · 更新于 3 周前

此工具无需参数。

详细介绍

MariaDB / MySQL MCP 服务

此 MCP 服务向 Claude Desktop、VS Code 等 MCP 客户端及其他兼容工具提供 MariaDB 和 MySQL 数据库访问能力。

它提供以下工具:

  • 列出可用数据库
  • 列出数据库中的表
  • 描述表结构
  • 执行 SQL 查询

功能

  • 默认安全:默认启用只读访问
  • 查询验证:阻止不允许的语句,降低注入风险
  • 通过环境变量配置写入权限
  • 超时和行数限制保护
  • 对 MariaDB 驱动返回的插入 ID 和 BIGINT 值进行数值安全处理

安装

选项 1:从 npm 安装
npm install -g mariadb-mcp-server
选项 2:本地安装
npm install mariadb-mcp-server
选项 3:从源代码构建
git clone https://github.com/rjsalgado/mariadb-mcp-server.git
cd mariadb-mcp-server
npm install
npm run build

配置

启动服务前设置以下环境变量:

  • MARIADB_HOST:数据库主机
  • MARIADB_PORT:数据库端口(默认值:3306)
  • MARIADB_USER:数据库用户名
  • MARIADB_PASSWORD:数据库密码
  • MARIADB_DATABASE:默认数据库名称(可选)
  • MARIADB_ALLOW_INSERT:启用 INSERT 语句(true/false)
  • MARIADB_ALLOW_UPDATE:启用 UPDATE 语句(true/false)
  • MARIADB_ALLOW_DELETE:启用 DELETE 语句(true/false)
  • MARIADB_TIMEOUT_MS:查询超时时间,单位为毫秒(默认值:10000)
  • MARIADB_ROW_LIMIT:返回的最大行数(默认值:1000)

示例:

export MARIADB_HOST=localhost
export MARIADB_PORT=3306
export MARIADB_USER=myuser
export MARIADB_PASSWORD=mypassword
export MARIADB_DATABASE=mydb
export MARIADB_ALLOW_INSERT=false
export MARIADB_ALLOW_UPDATE=false
export MARIADB_ALLOW_DELETE=false
export MARIADB_TIMEOUT_MS=10000
export MARIADB_ROW_LIMIT=1000

MCP 配置

使用 npm 包
{
  "mcpServers": {
    "mariadb": {
      "command": "npx",
      "args": ["mariadb-mcp-server"],
      "env": {
        "MARIADB_HOST": "your-host",
        "MARIADB_PORT": "3306",
        "MARIADB_USER": "your-user",
        "MARIADB_PASSWORD": "your-password",
        "MARIADB_DATABASE": "your-database",
        "MARIADB_ALLOW_INSERT": "false",
        "MARIADB_ALLOW_UPDATE": "false",
        "MARIADB_ALLOW_DELETE": "false",
        "MARIADB_TIMEOUT_MS": "10000",
        "MARIADB_ROW_LIMIT": "1000"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}
使用本地构建的服务
{
  "mcpServers": {
    "mariadb": {
      "command": "node",
      "args": ["/absolute/path/to/mariadb-mcp-server/dist/index.js"],
      "env": {
        "MARIADB_HOST": "your-host",
        "MARIADB_PORT": "3306",
        "MARIADB_USER": "your-user",
        "MARIADB_PASSWORD": "your-password",
        "MARIADB_DATABASE": "your-database",
        "MARIADB_ALLOW_INSERT": "false",
        "MARIADB_ALLOW_UPDATE": "false",
        "MARIADB_ALLOW_DELETE": "false",
        "MARIADB_TIMEOUT_MS": "10000",
        "MARIADB_ROW_LIMIT": "1000"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

可用工具

该服务注册了以下 MCP 工具:

list_databases

列出配置用户可访问的所有数据库。

list_tables

列出指定数据库中的表。

参数:

  • database(可选):要检查的数据库名称
describe_table

返回指定表的结构。

参数:

  • database(可选):数据库名称
  • table(必填):表名称
execute_query

执行 SQL 查询。

参数:

  • database(可选):数据库名称
  • query(必填):要运行的 SQL 语句

测试

此代码库包含用于针对 MariaDB 或 MySQL 实例验证服务的脚本。

npm run test:setup
npm run test:tools

或者一次运行所有内容:

npm test

注意事项

  • 此服务默认安全,除非明确启用写入标志,否则只允许只读操作。
  • 写入操作仍受查询验证和运行时限制约束。

故障排除

如果遇到问题:

  1. 检查服务日志中的错误消息
  2. 确认 MariaDB/MySQL 凭据和连接信息
  3. 确保 MariaDB/MySQL 用户具有适当的权限
  4. 检查查询是否为只读且格式正确

灵感来源 https://github.com/dpflucas/mysql-mcp-server

许可证

此项目采用 MIT License 许可,详情请参阅 LICENSE 文件。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。