基本能力
产品定位
MariaDB/MySQL数据库访问MCP服务是一个中间件,提供安全、可控的数据库访问能力。
核心功能
- 列出可用的数据库
- 列出数据库中的表
- 描述表结构
- 执行SQL查询
安全特性
- 默认只读访问:支持SELECT、SHOW、DESCRIBE和EXPLAIN操作
- 查询验证:防止SQL注入和阻止任何数据修改尝试
- 查询超时:防止长时间运行的查询消耗资源
- 行限制:防止返回过多数据
适用场景
- 需要安全访问MariaDB/MySQL数据库的应用
- 需要限制数据库操作权限的场景
- 需要防止SQL注入和数据泄露的场景
工具列表
- list_databases:列出MariaDB/MySQL服务器上所有可访问的数据库
- list_tables:列出指定数据库中的所有表
- describe_table:显示特定表的模式
- execute_query:执行SQL查询
使用教程
使用依赖
需要安装Node.js和pnpm。
安装教程
选项1:从源代码构建
# 克隆仓库
git clone https://github.com/bretoreta/mariadb-mcp-server.git
cd mariadb-mcp-server
# 安装依赖并构建
pnpm install
pnpm run build2. 配置环境变量
服务器需要以下环境变量:
- MARIADB_HOST: 数据库服务器主机名
- MARIADB_PORT: 数据库服务器端口(默认:3306)
- MARIADB_USER: 数据库用户名
- MARIADB_PASSWORD: 数据库密码
- MARIADB_DATABASE: 默认数据库名称(可选)
- MARIADB_ALLOW_INSERT: false
- MARIADB_ALLOW_UPDATE: false
- MARIADB_ALLOW_DELETE: false
- MARIADB_TIMEOUT_MS: 10000
- MARIADB_ROW_LIMIT: 1000
3. 添加到MCP设置
将以下配置添加到您的MCP设置文件中:
如果从源代码构建:
{
"mcpServers": {
"mariadb": {
"command": "node",
"args": ["/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-default-database",
"MARIADB_ALLOW_INSERT": "false",
"MARIADB_ALLOW_UPDATE": "false",
"MARIADB_ALLOW_DELETE": "false",
"MARIADB_TIMEOUT_MS": "10000",
"MARIADB_ROW_LIMIT": "1000",
},
"disabled": false,
"autoApprove": []
}
}
}调试方式
如果遇到问题:
- 检查服务器日志中的错误消息
- 验证您的MariaDB凭据和连接详细信息
- 确保您的MariaDB用户具有适当的权限
- 检查您的查询是否为只读且格式正确
