mcpField
M
MySQL MCP Server for Smithery (Python)

MySQL MCP Server for Smithery (Python)

本地服务
github.com/aqaranewbiz数据库079 周前更新

关于 MySQL MCP Server for Smithery (Python)

这是一个用 Python 编写、供 Smithery 使用的 MySQL 连接器,面向需要通过 MCP 查看数据库结构和执行查询的用户。它限制为只读 SQL,并拒绝多语句查询。

主要功能

  1. 01连接 MySQL 数据库
  2. 02列出数据库与表
  3. 03查看表结构
  4. 04执行只读 SQL 查询
  5. 05校验并拒绝写入操作

适用场景

  1. 01浏览可访问的数据库和表
  2. 02检查表的字段结构
  3. 03运行 SELECT 或 EXPLAIN 查询

MCP 相关

该 MCP 服务向客户端提供数据库连接、数据库与表枚举、表结构查看及只读查询工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

适用于 Smithery 的 MySQL MCP 服务(Python)

适用于 Smithery 的 MySQL 连接器,使用 Python 构建,可让你直接从 Smithery 连接到 MySQL 数据库。

功能

  • 连接到 MySQL 数据库:配置并连接 MySQL 数据库
  • 列出数据库:查看所有可访问的数据库
  • 列出表:查看指定数据库中的所有表
  • 描述表:获取表的详细架构信息
  • 执行查询:运行只读 SQL 查询(SELECT、SHOW、DESCRIBE、EXPLAIN)
  • 安全性:内置查询验证,确保只允许只读操作

在 Smithery 中安装

在 Smithery 中添加 MCP 服务后,你可以输入 MySQL 数据库凭据:

  • Host:数据库服务器主机名(默认值:localhost)
  • Port:数据库服务器端口(默认值:3306)
  • User:你的 MySQL 用户名
  • Password:你的 MySQL 密码
  • Database:(可选)要连接的特定数据库

手动安装

  1. 克隆此仓库:
git clone https://github.com/aqaralife/mysql-mcp-python-server.git
  1. 安装依赖项:
cd mysql-mcp-python-server
npm install
pip install -r requirements.txt
  1. 使脚本可执行(Unix/Linux/Mac):
chmod +x mcp_server.py run.js

手动使用

启动服务:

node run.js

或者,直接运行 Python 脚本:

python mcp_server.py

可用工具

connect_db

建立与 MySQL 数据库的连接。

参数:

  • host:数据库服务器主机名
  • port:数据库服务器端口
  • user:数据库用户名
  • password:数据库密码
  • database:(可选)数据库名称
list_databases

列出所有可访问的数据库。

参数: 无

list_tables

列出数据库中的所有表。

参数:

  • database:(可选)数据库名称;如果已连接,则使用默认数据库
describe_table

显示表的架构。

参数:

  • table:表名
  • database:(可选)数据库名称;如果已连接,则使用默认数据库
execute_query

执行只读 SQL 查询。

参数:

  • query:SQL 查询(仅允许 SELECT、SHOW、DESCRIBE 和 EXPLAIN)
  • database:(可选)数据库名称;如果已连接,则使用默认数据库

安全性

此服务包含内置验证,确保只允许只读操作:

  • 仅允许 SELECT、SHOW、DESCRIBE 和 EXPLAIN 查询
  • 自动拒绝包含 INSERT、UPDATE、DELETE、DROP 等 SQL 命令的查询
  • 不允许在单个查询中执行多个语句(以分号分隔)

故障排除

如果遇到问题:

  1. 找不到 Python:服务会自动检测 python3 或 python。如果两者都无法使用,请确保已安装 Python 并将其添加到 PATH 中。

  2. 缺少模块:服务会尝试自动安装所需的软件包。如果安装失败,请手动运行:

    pip install mysql-connector-python>=8.0.0
    
  3. 连接问题:请检查数据库凭据,并确保 MySQL 服务器正在运行且可访问。

  4. Smithery 连接问题:请确保 Smithery 中的设置已使用你的数据库凭据正确配置。

  5. 服务无响应:请检查 Smithery 控制台中的日志输出,查看是否有错误。

许可证

MIT

联系方式

如有任何问题,请创建一个 issue。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。