关于 @f4ww4z/mcp-mysql-server
@f4ww4z/mcp-mysql-server 是一个 MySQL 数据库操作的 MCP 服务,使 AI 模型能够通过统一接口连接并操作 MySQL 数据库。适合希望让 AI 助手查询表结构和执行 SQL 的用户,并支持预处理语句参数。
主要功能
- 01连接 MySQL 数据库并自动管理连接
- 02执行带预处理参数的 SELECT 查询
- 03执行 INSERT、UPDATE、DELETE 语句
- 04列出数据库中的表
- 05查看指定表的结构
适用场景
- 01让 AI 助手查询 MySQL 数据库中的数据
- 02让 AI 助手查看表结构以辅助编写 SQL
MCP 相关
该项目是一个 MCP 服务,向 MCP 客户端暴露 connect_db、query、execute、list_tables 和 describe_table 等工具,支持通过 npx 安装并可配置于 Claude Desktop 和 Codex。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
@f4ww4z/mcp-mysql-server
一个提供 MySQL 数据库操作的模型上下文协议服务。此服务可让 AI 模型通过标准化接口与 MySQL 数据库交互。
安装
通过 Smithery 安装
通过 Smithery 为 Claude Desktop 自动安装 MySQL 服务:
npx -y @smithery/cli install @f4ww4z/mcp-mysql-server --client claude
手动安装
npx @f4ww4z/mcp-mysql-server
配置
需要在 MCP 设置配置文件中设置以下环境变量:
建议使用
{
"mcpServers": {
"mysql": {
"command": "npx",
"args": ["-y", "@f4ww4z/mcp-mysql-server", "mysql://user:password@localhost:port/database"],
}
}
}
{
"mcpServers": {
"mysql": {
"command": "npx",
"args": ["-y", "@f4ww4z/mcp-mysql-server"],
"env": {
"MYSQL_HOST": "your_host",
"MYSQL_USER": "your_user",
"MYSQL_PASSWORD": "your_password",
"MYSQL_DATABASE": "your_database"
}
}
}
}
codex
Mac
在 ~/.codex/config.toml
[mcp_servers.mcp-mysql-server]
command = "npx"
args = [
"-y",
"@f4ww4z/mcp-mysql-server",
"mysql://user:[email protected]:3306/database"
]
Windows
在 %USERPROFILE%\.codex\config.toml
[mcp_servers.mcp-mysql-server]
command = "npx"
args = [
"-y",
"@f4ww4z/mcp-mysql-server",
"mysql://user:[email protected]:3306/database"
]
运行 evals
evals 包会加载一个 MCP 客户端,然后运行 index.ts 文件,因此测试之间无需重新构建。可以在 npx 命令前添加环境变量来加载它们。完整文档请见此处。
OPENAI_API_KEY=your-key npx mcp-eval src/evals/evals.ts src/index.ts
可用工具
1. connect_db
使用提供的凭据连接到 MySQL 数据库。
use_mcp_tool({
server_name: "mysql",
tool_name: "connect_db",
arguments: {
host: "localhost",
user: "your_user",
password: "your_password",
database: "your_database"
}
});
2. query
执行 SELECT 查询,可选用预处理语句参数。
use_mcp_tool({
server_name: "mysql",
tool_name: "query",
arguments: {
sql: "SELECT * FROM users WHERE id = ?",
params: [1]
}
});
3. execute
执行 INSERT、UPDATE 或 DELETE 查询,可选用预处理语句参数。
use_mcp_tool({
server_name: "mysql",
tool_name: "execute",
arguments: {
sql: "INSERT INTO users (name, email) VALUES (?, ?)",
params: ["John Doe", "[email protected]"]
}
});
4. list_tables
列出已连接数据库中的所有表。
use_mcp_tool({
server_name: "mysql",
tool_name: "list_tables",
arguments: {}
});
5. describe_table
获取指定表的结构。
use_mcp_tool({
server_name: "mysql",
tool_name: "describe_table",
arguments: {
table: "users"
}
});
功能
- 安全处理连接并自动清理
- 支持查询参数的预处理语句
- 全面的错误处理和验证
- 支持 TypeScript
- 自动管理连接
安全性
- 使用预处理语句防止 SQL 注入
- 支持通过环境变量安全处理密码
- 在执行前验证查询
- 完成后自动关闭连接
错误处理
此服务会针对常见问题提供详细的错误消息:
- 连接失败
- 查询无效
- 缺少参数
- 数据库错误
贡献
欢迎贡献!请随时向 https://github.com/f4ww4z/mcp-mysql-server 提交 Pull Request。
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。