mcpField
M
MySQL Readonly MCP Server

MySQL Readonly MCP Server

本地服务
github.com/the-nine-nation数据库177 周前更新

关于 MySQL Readonly MCP Server

MySQL Readonly MCP Server 通过 MCP 提供 MySQL 只读访问,适用于需要查询行数限制、参数化查询和写操作防护的数据库场景。

主要功能

  1. 01MySQL 只读查询
  2. 02连接池管理
  3. 03参数化查询
  4. 04自动限制返回行数
  5. 05检查并阻止写操作

适用场景

  1. 01让 Agent 安全读取数据库记录
  2. 02在默认行数上限内查看查询结果

MCP 相关

这是一个 MCP 服务,开放安全的 MySQL 只读查询,并限制非只读操作和返回行数。

配置

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

暂未收录安装方式

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

代码仓库

工具

还没有获取到工具列表

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

详细介绍

来自项目 README

MySQL Readonly MCP Server

这是一个基于MCP(Model Context Protocol)的MySQL只读查询服务器,它允许通过安全的只读查询接口访问MySQL数据库。

功能特点

  • 支持MySQL数据库的只读查询操作
  • 使用连接池管理数据库连接
  • 自动限制查询结果数量
  • 支持参数化查询
  • 提供格式化的查询结果输出
  • 内置安全检查,防止非只读操作

环境要求

  • Python 3.10+
  • MySQL 5.7+
  • aiomysql

安装

git clone https://github.com/the-nine-nation/mysql-mcp.git
pip install -e .

使用方法

以cursor为例,将如下字典放入config.json: 其中 sys.executable为python虚拟环境的执行文件,通常名字为python,conda或uv下皆可以 mysql_mcp_py为main.py文件的绝对路径

    "mysql": {
        "command": sys.executable,
        "args": [mysql_mcp_py],
        "env": {
            "MYSQL_ENABLED": "true",
            "MYSQL_HOST": "mysql数据库的ip",
            "MYSQL_PORT": "mysql数据库的端口",
            "MYSQL_DATABASE": "mysql数据库的名称",
            "MYSQL_USERNAME": "mysql数据库的用户名",
            "MYSQL_PASSWORD": "mysql数据库的密码",
            "MYSQL_POOL_MINSIZE": "1",
            "MYSQL_POOL_MAXSIZE": "10",
            "MYSQL_RESOURCE_DESC_FILE": "mysql数据库的资源描述文件路径"
        }
    }

请注意: 1.MYSQL_RESOURCE_DESC_FILE是一个说明,可以将数据库中一些信息放入其中,例如什么表是做什么用的,能够提升模型理解能力. 2.MYSQL_ENABLED默认可以不用填

安全特性

  • 只允许只读操作
  • 防止多语句执行
  • 自动限制查询结果数量
  • 使用参数化查询防止SQL注入

注意事项

  • 确保数据库用户只有只读权限
  • 资源描述文件是必需的,用于定义可用的查询接口
  • 查询结果默认限制为20行,可通过环境变量调整

贡献

欢迎提交Issue和Pull Request。

评论

支持 Markdown

第一次接触 MCP?

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

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