关于 mcp-mysql-connector
mcp-mysql-connector 是将 MySQL 操作作为工具提供给 LLM Agent 和 AI 助手的 MCP 服务。它涵盖查询、结构与用户管理及事务控制,并将元数据作为资源提供。
主要功能
- 01连接和断开 MySQL
- 02执行 SQL 查询
- 03管理数据库、表、列和索引
- 04创建用户并管理权限
- 05提交或回滚事务
- 06查看数据库和表元数据
适用场景
- 01查询 MySQL 数据库
- 02检查表结构和索引
- 03管理数据库用户及权限
- 04应用或撤销一组数据库变更
MCP 相关
它将 MySQL 操作作为 MCP 工具,并将数据库和表元数据作为 MCP 资源提供。MCP 客户端可用它查询和管理已连接的数据库。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
mcp-mysql-connector
将 MySQL 数据库功能作为工具提供给大模型 Agent 的 MCP 服务。
mcp-name: io.github.daedalus/mcp-mysql-connector
概述
mcp-mysql-connector 是一个 Model Context Protocol(MCP)服务,为大模型 Agent 提供 MySQL 数据库操作工具。它允许 AI 助手通过标准化协议与 MySQL 数据库交互,支持:
- 数据库和表管理
- 查询执行
- 用户身份验证和权限管理
- 架构内省
- 事务控制
安装
pip install mcp-mysql-connector
快速开始
运行服务
# Run with stdio transport (default)
mcp-mysql-connector
# Or run programmatically
python -c "from mcp_mysql import mcp; mcp.run()"
配置
使用 connect 工具连接到 MySQL:
{
"host": "localhost",
"port": 3306,
"user": "root",
"password": "your_password",
"database": "your_database"
}
MCP 工具
连接管理
| 工具 | 描述 |
|---|---|
connect | 连接到 MySQL 数据库 |
disconnect | 断开与 MySQL 的连接 |
is_connected | 检查连接状态 |
commit | 提交当前事务 |
rollback | 回滚当前事务 |
查询执行
| 工具 | 描述 |
|---|---|
execute_query | 执行原始 SQL 查询并返回结果 |
数据库操作
| 工具 | 描述 |
|---|---|
list_databases | 列出服务器上的所有数据库 |
create_database | 创建新数据库 |
drop_database | 删除数据库 |
database_exists | 检查数据库是否存在 |
表操作
| 工具 | 描述 |
|---|---|
list_tables | 列出数据库中的表 |
describe_table | 获取表架构 |
create_table | 创建新表 |
drop_table | 删除表 |
table_exists | 检查表是否存在 |
列和索引操作
| 工具 | 描述 |
|---|---|
show_columns | 显示列详情 |
show_indexes | 显示索引详情 |
create_index | 创建索引 |
drop_index | 删除索引 |
用户管理
| 工具 | 描述 |
|---|---|
create_user | 创建 MySQL 用户 |
drop_user | 删除 MySQL 用户 |
grant_privileges | 向用户授予权限 |
revoke_privileges | 撤销用户权限 |
show_privileges | 显示用户权限 |
服务器信息
| 工具 | 描述 |
|---|---|
server_status | 获取 MySQL 服务器状态 |
MCP 资源
该服务提供数据库和表元数据的动态资源:
database://{name}- 数据库元数据,包括表列表table://{db}/{table}- 表元数据,包括架构、列和索引
使用示例
连接并查询
# First, connect to database
connect(host="localhost", user="root", password="secret", database="mydb")
# Execute a query
execute_query(sql="SELECT * FROM users WHERE active = true")
# List all tables
list_tables(database="mydb")
创建数据库和表
# Create a database
create_database(name="newapp")
# Create a table
create_table(name="users", schema="id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(255), email VARCHAR(255) UNIQUE")
用户管理
# Create a new user with password
create_user(username="app_user", host="localhost", password="secure_password")
# Grant privileges
grant_privileges(privileges="SELECT,INSERT,UPDATE,DELETE", on="newapp.*", username="app_user", host="localhost")
事务控制
# Start transaction
execute_query(sql="BEGIN")
# Execute operations
execute_query(sql="INSERT INTO accounts (balance) VALUES (100)")
# Commit or rollback
commit() # or rollback()
环境变量
该服务支持通过环境变量进行配置:
export MYSQL_HOST=localhost
export MYSQL_PORT=3306
export MYSQL_USER=root
export MYSQL_PASSWORD=secret
export MYSQL_DATABASE=mydb
开发
# Clone repository
git clone https://github.com/daedalus/mcp-mysql-connector.git
cd mcp-mysql-connector
# Create virtual environment
python -m venv venv
source venv/bin/activate
# Install dependencies
pip install -e ".[test]"
# Run tests
pytest
# Format code
ruff format src/ tests/
# Lint
ruff check src/ tests/
# Type check
mypy src/
架构
mcp-mysql-connector/
├── src/mcp_mysql/
│ ├── core/models.py # Data models (QueryResult, TableSchema, etc.)
│ ├── adapters/mysql.py # MySQL connection & pooling
│ ├── services/connection.py # Connection manager
│ ├── tools/mysql_tools.py # MCP tool implementations
│ └── mcp.py # FastMCP server setup
└── tests/ # Test suite
要求
- Python 3.11+
- fastmcp >= 2.0.0
- pymysql >= 1.1.0
- sqlparse >= 0.4.0
许可证
MIT 许可证 - 详情请参阅 LICENSE。
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。