使用说明
项目简介
MySQL数据库MCP服务器是一个基于 Model Context Protocol (MCP) 的后端服务,旨在为LLM应用提供访问MySQL数据库的能力。它通过工具的形式,允许LLM客户端连接到MySQL数据库并执行SQL查询,从而实现与数据库的数据交互。
主要功能点
- 连接MySQL数据库: 提供了 'connect_database' 工具,允许LLM客户端指定数据库名称,建立与MySQL服务器的连接。
- 执行SQL查询: 提供了 'execute_query' 工具,允许LLM客户端执行SQL查询语句,并以JSON格式返回查询结果。支持执行多条SQL语句,以分号分隔。
- 只读模式支持: 服务器可以配置为只读模式,在此模式下,将禁止执行任何修改数据库数据的写操作,保障数据安全。
- 灵活配置: 通过环境变量配置MySQL服务器的连接参数,包括主机地址、用户名、密码和默认数据库等。
安装步骤
-
安装软件包: 使用 'uv pip install mysqldb-mcp-server' 或 'pip install mysqldb-mcp-server' 命令安装该MCP服务器软件包。
uv pip install mysqldb-mcp-server或者
pip install mysqldb-mcp-server
服务器配置
为了使MCP客户端(例如 Claude Desktop)能够连接到 MySQL数据库MCP服务器,您需要在MCP客户端的配置文件中添加服务器配置信息。以 Claude Desktop 为例,您需要编辑 'claude_desktop_config.json' 文件。
在 'claude_desktop_config.json' 文件中的 'mcpServers' 字段下,添加 'mysqldb-mcp-server' 的配置信息。以下是一个配置示例:
{ "mcpServers": { "mysqldb-mcp-server": { "command": "uvx", "args": [ "mysqldb-mcp-server" ], "env": { "MYSQL_HOST": "MySQL服务器地址 (默认为 localhost)", "MYSQL_USER": "MySQL用户名 (默认为 root)", "MYSQL_PASSWORD": "MySQL密码 (默认为空)", "MYSQL_DATABASE": "初始数据库名 (可选)", "MYSQL_READONLY": "是否启用只读模式 (可选,设置为 '1' 或 'true' 启用,默认为 false)" } } } }
配置参数说明:
- 'server name': 'mysqldb-mcp-server' - 服务器名称,用于在客户端中标识和引用。
- 'command': 'uvx' - 启动服务器的命令。 'uvx' 适用于已安装并添加到系统路径的Python包。如果您的环境配置不同,可能需要调整此命令。例如,如果您直接运行脚本,可能需要使用 'python' 或 'uv run' 命令,并指定服务器脚本的路径。
- 'args': '["mysqldb-mcp-server"]' - 传递给启动命令的参数。 在此例中,'mysqldb-mcp-server' 作为 'uvx' 的参数,用于执行对应的 Python 入口点。
- 'env': 环境变量配置,用于服务器运行时读取。
- 'MYSQL_HOST': MySQL服务器的主机地址。 默认为 'localhost'。
- 'MYSQL_USER': 连接MySQL服务器的用户名。 默认为 'root'。
- 'MYSQL_PASSWORD': MySQL用户的密码。 默认为空字符串。
- 'MYSQL_DATABASE': 初始连接的数据库名称。 可选配置。
- 'MYSQL_READONLY': 设置服务器是否以只读模式运行。 设置为 '"1"' 或 '"true"' 启用只读模式。 默认为 'false'。
请务必根据您的MySQL服务器实际配置,修改 'env' 字段中的 MySQL 连接参数。
基本使用方法
- 连接数据库: 在MCP客户端中,调用 'connect_database' 工具,并提供要连接的数据库名称作为参数。服务器将尝试连接到指定的数据库。
- 执行SQL查询: 使用 'execute_query' 工具,将SQL查询语句作为参数传递给服务器。服务器将执行查询,并将结果以JSON格式返回给客户端。您可以执行单个或多个SQL查询,多个查询之间用分号 ';' 分隔。
示例:
- 使用 'connect_database' 工具连接到名为 'mydatabase' 的数据库。
- 使用 'execute_query' 工具执行 SQL 查询 'SELECT * FROM users;' 获取 'users' 表的所有数据。
请参考MCP客户端的文档,了解如何在客户端中调用和使用这些工具。
信息
分类
数据库与文件