mysql-mcp-server
一个提供对 MySQL 数据库只读访问权限的 MCP 服务器。
README
MySQL 数据库访问 MCP 服务器
此 MCP 服务器提供对 MySQL 数据库的只读访问。它允许您:
- 列出可用的数据库
- 列出数据库中的表
- 描述表结构
- 执行只读 SQL 查询
安全特性
- 只读访问: 仅允许 SELECT、SHOW、DESCRIBE 和 EXPLAIN 语句
- 查询验证: 防止 SQL 注入并阻止任何数据修改尝试
- 查询超时: 防止长时间运行的查询消耗资源
- 行数限制: 防止返回过多的数据
安装
选项 1:从 NPM 安装 (推荐)
# 全局安装
npm install -g mysql-mcp-server
# 或者在您的项目中本地安装
npm install mysql-mcp-server
选项 2:从源代码构建
# 克隆仓库
git clone https://github.com/dpflucas/mysql-mcp-server.git
cd mysql-mcp-server
# 安装依赖并构建
npm install
npm run build
2. 配置环境变量
服务器需要以下环境变量:
MYSQL_HOST
: 数据库服务器主机名MYSQL_PORT
: 数据库服务器端口 (默认: 3306)MYSQL_USER
: 数据库用户名MYSQL_PASSWORD
: 数据库密码MYSQL_DATABASE
: 默认数据库名称 (可选)
3. 添加到 MCP 设置
将以下配置添加到您的 MCP 设置文件中:
如果您通过 npm 安装 (选项 1):
{
"mcpServers": {
"mysql": {
"command": "npx",
"args": ["mysql-mcp-server"],
"env": {
"MYSQL_HOST": "your-mysql-host",
"MYSQL_PORT": "3306",
"MYSQL_USER": "your-mysql-user",
"MYSQL_PASSWORD": "your-mysql-password",
"MYSQL_DATABASE": "your-default-database"
},
"disabled": false,
"autoApprove": []
}
}
}
如果您从源代码构建 (选项 2):
{
"mcpServers": {
"mysql": {
"command": "node",
"args": ["/path/to/mysql-mcp-server/build/index.js"],
"env": {
"MYSQL_HOST": "your-mysql-host",
"MYSQL_PORT": "3306",
"MYSQL_USER": "your-mysql-user",
"MYSQL_PASSWORD": "your-mysql-password",
"MYSQL_DATABASE": "your-default-database"
},
"disabled": false,
"autoApprove": []
}
}
}
可用工具
list_databases
列出 MySQL 服务器上所有可访问的数据库。
参数: 无
示例:
{
"server_name": "mysql",
"tool_name": "list_databases",
"arguments": {}
}
list_tables
列出指定数据库中的所有表。
参数:
database
(可选): 数据库名称 (如果未指定,则使用默认数据库)
示例:
{
"server_name": "mysql",
"tool_name": "list_tables",
"arguments": {
"database": "my_database"
}
}
describe_table
显示特定表的结构。
参数:
database
(可选): 数据库名称 (如果未指定,则使用默认数据库)table
(必需): 表名
示例:
{
"server_name": "mysql",
"tool_name": "describe_table",
"arguments": {
"database": "my_database",
"table": "my_table"
}
}
execute_query
执行只读 SQL 查询。
参数:
query
(必需): SQL 查询 (仅允许 SELECT、SHOW、DESCRIBE 和 EXPLAIN 语句)database
(可选): 数据库名称 (如果未指定,则使用默认数据库)
示例:
{
"server_name": "mysql",
"tool_name": "execute_query",
"arguments": {
"database": "my_database",
"query": "SELECT * FROM my_table LIMIT 10"
}
}
测试
服务器包含测试脚本,用于验证您的 MySQL 设置的功能:
1. 设置测试数据库
此脚本创建测试数据库、表和示例数据:
# 将您的 MySQL 凭据设置为环境变量
export MYSQL_HOST=localhost
export MYSQL_PORT=3306
export MYSQL_USER=your_username
export MYSQL_PASSWORD=your_password
# 运行设置脚本
npm run test:setup
2. 测试 MCP 工具
此脚本针对测试数据库测试每个 MCP 工具:
# 将您的 MySQL 凭据设置为环境变量
export MYSQL_HOST=localhost
export MYSQL_PORT=3306
export MYSQL_USER=your_username
export MYSQL_PASSWORD=your_password
export MYSQL_DATABASE=mcp_test_db
# 运行工具测试脚本
npm run test:tools
3. 运行所有测试
要运行设置和工具测试:
# 将您的 MySQL 凭据设置为环境变量
export MYSQL_HOST=localhost
export MYSQL_PORT=3306
export MYSQL_USER=your_username
export MYSQL_PASSWORD=your_password
# 运行所有测试
npm test
故障排除
如果您遇到问题:
- 检查服务器日志中的错误消息
- 验证您的 MySQL 凭据和连接详细信息
- 确保您的 MySQL 用户具有适当的权限
- 检查您的查询是否为只读且格式正确
许可证
此项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅 LICENSE 文件。
推荐服务器

VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。
AIO-MCP Server
🚀 集成了 AI 搜索、RAG 和多服务(GitLab/Jira/Confluence/YouTube)的一体化 MCP 服务器,旨在增强 AI 驱动的开发工作流程。来自 Folk。
Knowledge Graph Memory Server
为 Claude 实现持久性记忆,使用本地知识图谱,允许 AI 记住用户的信息,并可在自定义位置存储,跨对话保持记忆。
Hyperbrowser
欢迎来到 Hyperbrowser,人工智能的互联网。Hyperbrowser 是下一代平台,旨在增强人工智能代理的能力,并实现轻松、可扩展的浏览器自动化。它专为人工智能开发者打造,消除了本地基础设施和性能瓶颈带来的麻烦,让您能够:

any-chat-completions-mcp
将 Claude 与任何 OpenAI SDK 兼容的聊天完成 API 集成 - OpenAI、Perplexity、Groq、xAI、PyroPrompts 等。
Exa MCP Server
一个模型上下文协议服务器,它使像 Claude 这样的人工智能助手能够以安全和受控的方式,使用 Exa AI 搜索 API 执行实时网络搜索。
BigQuery MCP Server
这是一个服务器,可以让你的大型语言模型(LLM,比如Claude)直接与你的BigQuery数据对话!可以把它想象成一个友好的翻译器,它位于你的AI助手和数据库之间,确保它们可以安全高效地进行交流。
MCP Web Research Server
一个模型上下文协议服务器,使 Claude 能够通过集成 Google 搜索、提取网页内容和捕获屏幕截图来进行网络研究。