MySQL Database Server
数据与存储by huangfeng19820712
通过标准化接口让 AI 模型安全操作 MySQL,支持查询、执行语句、列出表和查看结构,并自动处理连接。
什么是 MySQL Database Server?
通过标准化接口让 AI 模型安全操作 MySQL,支持查询、执行语句、列出表和查看结构,并自动处理连接。
核心功能 (7 个工具)
connect_dbConnect to MySQL database
queryExecute a SELECT query,can not get table structure,use describe_table tool to get table structure
executeExecute an INSERT, UPDATE, or DELETE query
list_tablesList all tables in the database
describe_tableGet table structure
show_statementExecute a SHOW statement (e.g., SHOW STATUS, SHOW VARIABLES)
explainAnalyze SQL query performance using EXPLAIN
README
@fhuang/mcp-mysql-server
[English | 中文文档]
For Chinese documentation, please see README.zh-CN.md
A Model Context Protocol server that provides MySQL database operations. This server enables AI models to interact with MySQL databases through a standardized interface.
Installation
Installing via Smithery
To install MySQL Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @fhuang/mcp-mysql-server --client claude
Manual Installation
npx @fhuang/mcp-mysql-server
Configuration
The server requires the following environment variables to be set in your MCP settings configuration file:
recommended use
{
"mcpServers": {
"mysql": {
"command": "npx",
"args": ["-y", "@fhuang/mcp-mysql-server", "mysql://user:password@localhost:port/database"],
}
}
}
{
"mcpServers": {
"mysql": {
"command": "npx",
"args": ["-y", "@fhuang/mcp-mysql-server"],
"env": {
"MYSQL_HOST": "your_host",
"MYSQL_USER": "your_user",
"MYSQL_PASSWORD": "your_password",
"MYSQL_DATABASE": "your_database"
}
}
}
}
Running evals
The evals package loads an mcp client that then runs the index.ts file, so there is no need to rebuild between tests. You can load environment variables by prefixing the npx command. Full documentation can be found here.
OPENAI_API_KEY=your-key npx mcp-eval src/evals/evals.ts src/index.ts
Available Tools
1. connect_db
Establish connection to MySQL database using provided credentials.
use_mcp_tool({
server_name: "mysql",
tool_name: "connect_db",
arguments: {
host: "localhost",
user: "your_user",
password: "your_password",
database: "your_database"
}
});
2. query
Execute SELECT queries with optional prepared statement parameters.
use_mcp_tool({
server_name: "mysql",
tool_name: "query",
arguments: {
sql: "SELECT * FROM users WHERE id = ?",
params: [1]
}
});
3. execute
Execute INSERT, UPDATE, or DELETE queries with optional prepared statement parameters.
use_mcp_tool({
server_name: "mysql",
tool_name: "execute",
arguments: {
sql: "INSERT INTO users (name, email) VALUES (?, ?)",
params: ["John Doe", "john@example.com"]
}
});
4. list_tables
List all tables in the connected database.
use_mcp_tool({
server_name: "mysql",
tool_name: "list_tables",
arguments: {}
});
5. describe_table
Get the structure of a specific table.
use_mcp_tool({
server_name: "mysql",
tool_name: "describe_table",
arguments: {
table: "users"
}
});
6. show_statement
执行 SHOW 语句(如 SHOW STATUS, SHOW VARIABLES 等)。
use_mcp_tool({
server_name: "mysql",
tool_name: "show_statement",
arguments: {
sql: "SHOW VARIABLES"
}
});
7. explain
Analyze SQL query performance using EXPLAIN. Returns execution plan details including access type, rows examined, and possible optimizations.
use_mcp_tool({
server_name: "mysql",
tool_name: "explain",
arguments: {
sql: "SELECT * FROM users WHERE id = ?"
}
});
Features
- Secure connection handling with automatic cleanup
- Prepared statement support for query parameters
- Comprehensive error handling and validation
- TypeScript support
- Automatic connection management
Security
- Uses prepared statements to prevent SQL injection
- Supports secure password handling through environment variables
- Validates queries before execution
- Automatically closes connections when done
Error Handling
The server provides detailed error messages for common issues:
- Connection failures
- Invalid queries
- Missing parameters
- Database errors
Contributing
Contributions are welcome! Please feel free to submit a Pull Request to https://github.com/huangfeng19820712/mcp-mysql-server
License
MIT
常见问题
MySQL Database Server 是什么?
通过标准化接口让 AI 模型安全操作 MySQL,支持查询、执行语句、列出表和查看结构,并自动处理连接。
MySQL Database Server 提供哪些工具?
提供 7 个工具,包括 connect_db、query、execute 等。
相关 Skills
技术栈评估
by alirezarezvani
对比框架、数据库和云服务,结合 5 年 TCO、安全风险、生态活力与迁移复杂度做量化评估,适合技术选型、栈升级和替换路线决策。
✎ 帮你系统比较技术栈优劣,不只看功能,还把TCO、安全性和生态健康度一起量化,选型和迁移决策更稳。
资深数据科学家
by alirezarezvani
覆盖实验设计、特征工程、预测建模、因果推断与模型评估,适合用 Python/R/SQL 做 A/B 测试、时序分析和生产级 ML 落地,支撑数据驱动决策。
✎ 从 A/B 测试、因果分析到预测建模一条龙搞定,既有硬核统计方法也懂业务沟通,特别适合把数据结论真正落地。
资深架构师
by alirezarezvani
适合系统设计评审、ADR记录和扩展性规划,分析依赖与耦合,权衡单体或微服务、数据库与技术栈选型,并输出Mermaid、PlantUML、ASCII架构图。
✎ 搞系统设计、技术选型和扩展规划时,用它能更快理清架构决策与依赖关系,还能直接产出 Mermaid/PlantUML 图,方案讨论效率很高。
相关 MCP Server
SQLite 数据库
编辑精选by Anthropic
SQLite 是让 AI 直接查询本地数据库进行数据分析的 MCP 服务器。
✎ 这个服务器解决了 AI 无法直接访问 SQLite 数据库的问题,适合需要快速分析本地数据集的开发者。不过,作为参考实现,它可能缺乏生产级的安全特性,建议在受控环境中使用。
PostgreSQL 数据库
编辑精选by Anthropic
PostgreSQL 是让 Claude 直接查询和管理你的数据库的 MCP 服务器。
✎ 这个服务器解决了开发者需要手动编写 SQL 查询的痛点,特别适合数据分析师或后端开发者快速探索数据库结构。不过,由于是参考实现,生产环境使用前务必评估安全风险,别指望它能处理复杂事务。
Firecrawl 智能爬虫
编辑精选by Firecrawl
Firecrawl 是让 AI 直接抓取网页并提取结构化数据的 MCP 服务器。
✎ 它解决了手动写爬虫的麻烦,让 Claude 能直接访问动态网页内容。最适合需要实时数据的研究者或开发者,比如监控竞品价格或抓取新闻。但要注意,它依赖第三方 API,可能涉及隐私和成本问题。