MySQL/MariaDB数据库服务器

一个功能全面的MCP服务器,提供对MySQL和MariaDB数据库的综合操作支持。

  • by likephp-github
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 likephp-github/mcp-mysql-server

使用说明

MCP MySQL/MariaDB数据库服务器

一个功能齐全的模型上下文协议(MCP)服务器,为MySQL和MariaDB数据库提供全面的操作。

🌟 特性

🗃️ 多数据库支持

  • 同时连接到多个数据库 -在单个MCP服务器中管理多个MySQL/MariaDB实例
  • 灵活的连接命名 -支持自定义连接名称(main, test, analytics, prod等等)
  • 默认连接设置 -指定要使用的默认数据库连接
  • 向后兼容性 -现有的单数据库配置无需修改即可工作

🌐 多种运输方式

  • stdio模式 -标准输入/输出,适用于本地Claude Desktop
  • HTTP模式 -用于外部和远程访问的HTTP/SSE服务器
  • 两种模式 -同时提供stdio和HTTP连接

🔒 企业级安全

  • SQL注入保护 -自动检测并阻止危险的SQL操作
  • 连接池管理 -高效管理数据库连接资源
  • SSL/TLS支持 -安全的数据库连接加密
  • CORS 控制 -可配置的跨源请求设置
  • API密钥验证 -HTTP端点的可选安全性

🛠️ 综合工具集

  1. execute_query -执行SQL查询和更新
  2. list_tables -列出数据库中的所有表
  3. describe_table -查看表结构和列信息
  4. test_connection -测试特定的数据库连接
  5. list_connections -列出所有可用的数据库连接
  6. get_connection_info -检索详细的连接信息
  7. test_all_connections -批量测试所有数据库连接

🚀 快速开始

1.安装依赖项

# Install Node.js dependencies
npm install

# Build the project
npm run build

2.配置数据库

创建一个 .env 文件:

单数据库配置(向后兼容)

# Basic Database Settings
DB_HOST=localhost
DB_PORT=3306
DB_USER=your_username
DB_PASSWORD=your_password
DB_NAME=your_database
DB_SSL=false

# Connection Pool Settings
DB_CONNECTION_LIMIT=10
DB_TIMEOUT=60000

# MCP Server Settings
MCP_TRANSPORT_MODE=stdio

多数据库配置(推荐)

# Define connection list
DB_CONNECTIONS=main,test,analytics
DEFAULT_DB=main

# Main Database Connection
DB_MAIN_HOST=localhost
DB_MAIN_PORT=3306
DB_MAIN_USER=main_user
DB_MAIN_PASSWORD="complex@pass#123"
DB_MAIN_NAME=main_database
DB_MAIN_SSL=false

# Test Database Connection
DB_TEST_HOST=test-server.com
DB_TEST_PORT=3306
DB_TEST_USER=test_user
DB_TEST_PASSWORD="test$pass@456"
DB_TEST_NAME=test_database
DB_TEST_SSL=true

# Analytics Database Connection
DB_ANALYTICS_HOST=analytics.company.com
DB_ANALYTICS_PORT=3306
DB_ANALYTICS_USER=analytics_user
DB_ANALYTICS_PASSWORD="analytics#789$"
DB_ANALYTICS_NAME=analytics_db
DB_ANALYTICS_SSL=true

# Connection Pool Settings
DB_CONNECTION_LIMIT=10
DB_TIMEOUT=60000