MySQL MCP 服务器
概述
模型上下文协议 (MCP) 服务器实现,通过 MySQL 提供数据库交互功能。该服务器支持运行 SQL 查询、创建表以及探索数据库架构信息。
成分
工具
该服务器提供五种核心工具:
查询工具
read_query
- 执行 SELECT 查询以从数据库读取数据
- 输入:
*query
(字符串):要执行的 SELECT SQL 查询 - 返回:查询结果作为对象数组
write_query
- 执行 INSERT、UPDATE 或 DELETE 查询
- 输入:
*query
(字符串):SQL 修改查询 - 返回:
{ affected_rows: number }
create_table
- 在数据库中创建新表
- 输入:
*query
(字符串):CREATE TABLE SQL 语句 - 返回:表创建确认
架构工具
list_tables
- 获取数据库中所有表的列表
- 无需输入
- 返回:表名称数组
describe_table
- 查看特定表的架构信息
- 输入:
*table_name
(字符串): 要描述的表的名称 - 返回:具有名称和类型的列定义数组
安装
先决条件
- Python 3.10+
- MySQL 数据库
- 所需的 Python 包:
mcp
(模型上下文协议)sqlalchemy
pymysql
(或其他 MySQL 驱动程序)python-dotenv
uvicorn
(用于 HTTP 传输)
使用 Conda 进行设置
首先,创建并激活 conda 环境:
然后,安装所需的依赖项:
配置
您可以使用以下方式配置服务器:
环境变量文件(.env)
- 复制
.env.template
文件并将其重命名为.env
:
- 使用您的配置编辑
.env
文件:
命令行参数
您还可以使用命令行参数覆盖配置:
用法
启动服务器
使用 MCP Inspector 进行测试
您可以使用 MCP Inspector 工具测试服务器:
这将启动服务器并允许您以交互方式测试可用的工具。
示例工作流程
- 使用 MySQL 数据库连接启动服务器
- 使用 MCP 客户端将 AI 模型连接到服务器
- 使用
list_tables
工具查看可用的表 - 如果需要,使用
create_table
创建表 - 使用
write_query
插入数据 - 使用
read_query
查询数据
与 Claude Desktop 一起使用
紫外线
将服务器添加到您的claude_desktop_config.json
:
Docker
将服务器添加到您的claude_desktop_config.json
:
软件包安装
您还可以使用 pip 安装该包:
在 Cursor IDE 中
Cursor是一款 AI 辅助 IDE。您可以将此 MCP 服务器与 Cursor 集成,以便在编码过程中直接查询 MySQL 数据库。
在光标中设置
- 启动 MCP 服务器
- 在光标设置中配置 MCP添加您的 MCP 服务器 URL:
- 使用光标命令访问 MCP在游标编辑器中,使用:对于参数化查询:
API 参考
输入格式
输出格式
安全注意事项
- 该服务器应在受信任的环境中运行,因为它允许任意 SQL 查询
- 在生产中,实施适当的访问控制和输入验证
- 考虑限制可以执行的 SQL 命令类型
- 重要提示:不要将包含敏感信息的
.env
文件提交到版本控制
发展
项目结构
src/mysql/server.py
:主服务器实现pyproject.toml
:包配置README.md
:本文档
添加新功能
要使用新功能扩展服务器:
- 使用
@mcp.tool()
装饰器添加新工具 - 使用
MySQLDatabase
类实现工具逻辑 - 更新文档以反映新功能
执照
此 MCP 服务器遵循 MIT 许可证。这意味着您可以自由使用、修改和分发该软件,但须遵守 MIT 许可证的条款和条件。
This server cannot be installed
模型上下文协议服务器,使 AI 模型能够通过自然语言与 MySQL 数据库交互,支持 SQL 查询、表创建和模式探索。
Related MCP Servers
- -security-license-qualityA Model Context Protocol server that enables AI models to interact with MySQL databases, providing tools for querying, executing statements, listing tables, and describing table structures.Last updated -MIT License
- -security-license-qualityA Model Context Protocol server that enables AI models to interact with MySQL databases through a standardized interface, providing tools for querying, executing commands, and managing database schemas.Last updated -JavaScript
- AsecurityAlicenseAqualityA Model Context Protocol server that enables AI models to interact with both MySQL and MongoDB databases through a standardized interface, supporting comprehensive database operations including queries, schema management, and CRUD operations.Last updated -146JavaScriptMIT License
- AsecurityFlicenseAqualityA Model Context Protocol server that allows AI agents to execute SQL queries against a MySQL database, supporting operations like reading data, creating tables, inserting, updating, and deleting records.Last updated -64191JavaScript