Skip to main content
Glama

MySQL Database Access

MIT License
419
17
  • Linux
  • Apple

MySQL 数据库访问 MCP 服务器

此 MCP 服务器提供对 MySQL 数据库的只读访问权限。它允许您:

  • 列出可用的数据库
  • 列出数据库中的表
  • 描述表模式
  • 执行只读 SQL 查询

安全功能

  • 只读访问:仅允许 SELECT、SHOW、DESCRIBE 和 EXPLAIN 语句
  • 查询验证:防止 SQL 注入并阻止任何数据修改尝试
  • 查询超时:防止长时间运行的查询消耗资源
  • 行限制:防止返回过多的数据

安装

1. 使用以下方法之一进行安装:

从 NPM 安装
# Install globally npm install -g mysql-mcp-server # Or install locally in your project npm install mysql-mcp-server
从源代码构建
# Clone the repository git clone https://github.com/dpflucas/mysql-mcp-server.git cd mysql-mcp-server # Install dependencies and build npm install npm run build
通过 Smithery 安装

要通过Smithery自动为 Claude AI 安装 MySQL 数据库访问 MCP 服务器:

npx -y @smithery/cli install @dpflucas/mysql-mcp-server --client claude

2.配置环境变量

服务器需要以下环境变量:

  • MYSQL_HOST :数据库服务器主机名
  • MYSQL_PORT :数据库服务器端口(默认值:3306)
  • MYSQL_USER :数据库用户名
  • MYSQL_PASSWORD :数据库密码(可选,但建议用于安全连接)
  • MYSQL_DATABASE :默认数据库名称(可选)

3. 添加到 MCP 设置

将以下配置添加到您的 MCP 设置文件:

如果您通过 npm 安装(选项 1):

{ "mcpServers": { "mysql": { "command": "npx", "args": ["mysql-mcp-server"], "env": { "MYSQL_HOST": "your-mysql-host", "MYSQL_PORT": "3306", "MYSQL_USER": "your-mysql-user", "MYSQL_PASSWORD": "your-mysql-password", "MYSQL_DATABASE": "your-default-database" }, "disabled": false, "autoApprove": [] } } }

如果您从源代码构建(选项 2):

{ "mcpServers": { "mysql": { "command": "node", "args": ["/path/to/mysql-mcp-server/build/index.js"], "env": { "MYSQL_HOST": "your-mysql-host", "MYSQL_PORT": "3306", "MYSQL_USER": "your-mysql-user", "MYSQL_PASSWORD": "your-mysql-password", "MYSQL_DATABASE": "your-default-database" }, "disabled": false, "autoApprove": [] } } }

可用工具

列出数据库

列出 MySQL 服务器上所有可访问的数据库。

参数:无

例子

{ "server_name": "mysql", "tool_name": "list_databases", "arguments": {} }

列表表

列出指定数据库中的所有表。

参数

  • database (可选):数据库名称(如果未指定则使用默认值)

例子

{ "server_name": "mysql", "tool_name": "list_tables", "arguments": { "database": "my_database" } }

描述表

显示特定表的模式。

参数

  • database (可选):数据库名称(如果未指定则使用默认值)
  • table (必填):表名

例子

{ "server_name": "mysql", "tool_name": "describe_table", "arguments": { "database": "my_database", "table": "my_table" } }

执行查询

执行只读 SQL 查询。

参数

  • query (必需):SQL 查询(仅允许 SELECT、SHOW、DESCRIBE 和 EXPLAIN 语句)
  • database (可选):数据库名称(如果未指定则使用默认值)

例子

{ "server_name": "mysql", "tool_name": "execute_query", "arguments": { "database": "my_database", "query": "SELECT * FROM my_table LIMIT 10" } }

高级连接池配置

为了更好地控制 MySQL 连接池行为,您可以配置其他参数:

{ "mcpServers": { "mysql": { "command": "npx", "args": ["mysql-mcp-server"], "env": { "MYSQL_HOST": "your-mysql-host", "MYSQL_PORT": "3306", "MYSQL_USER": "your-mysql-user", "MYSQL_PASSWORD": "your-mysql-password", "MYSQL_DATABASE": "your-default-database", "MYSQL_CONNECTION_LIMIT": "10", "MYSQL_QUEUE_LIMIT": "0", "MYSQL_CONNECT_TIMEOUT": "10000", "MYSQL_IDLE_TIMEOUT": "60000", "MYSQL_MAX_IDLE": "10" }, "disabled": false, "autoApprove": [] } } }

这些高级选项允许您:

  • MYSQL_CONNECTION_LIMIT :控制池中的最大连接数(默认值:10)
  • MYSQL_QUEUE_LIMIT :设置排队的最大连接请求数(默认值:0,无限制)
  • MYSQL_CONNECT_TIMEOUT :以毫秒为单位调整连接超时(默认值:10000)
  • MYSQL_IDLE_TIMEOUT :配置连接在释放之前可以空闲多长时间(以毫秒为单位)
  • MYSQL_MAX_IDLE :设置池中保留的最大空闲连接数

测试

该服务器包含测试脚本,用于验证 MySQL 设置的功能:

1. 设置测试数据库

该脚本创建测试数据库、表和示例数据:

# Set your MySQL credentials as environment variables export MYSQL_HOST=localhost export MYSQL_PORT=3306 export MYSQL_USER=your_username export MYSQL_PASSWORD=your_password # Run the setup script npm run test:setup

2. 测试 MCP 工具

此脚本针对测试数据库测试每个 MCP 工具:

# Set your MySQL credentials as environment variables export MYSQL_HOST=localhost export MYSQL_PORT=3306 export MYSQL_USER=your_username export MYSQL_PASSWORD=your_password export MYSQL_DATABASE=mcp_test_db # Run the tools test script npm run test:tools

3. 运行所有测试

要运行设置和工具测试:

# Set your MySQL credentials as environment variables export MYSQL_HOST=localhost export MYSQL_PORT=3306 export MYSQL_USER=your_username export MYSQL_PASSWORD=your_password # Run all tests npm test

故障排除

如果您遇到问题:

  1. 检查服务器日志中的错误消息
  2. 验证您的 MySQL 凭据和连接详细信息
  3. 确保您的 MySQL 用户具有适当的权限
  4. 检查您的查询是否为只读且格式正确

执照

该项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅LICENSE文件。

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

提供对 MySQL 数据库的只读访问的 MCP 服务器。

  1. 安全功能
    1. 安装
      1. 使用以下方法之一进行安装:
      2. 2.配置环境变量
      3. 添加到 MCP 设置
    2. 可用工具
      1. 列出数据库
      2. 列表表
      3. 描述表
      4. 执行查询
    3. 高级连接池配置
      1. 测试
        1. 设置测试数据库
        2. 测试 MCP 工具
        3. 运行所有测试
      2. 故障排除
        1. 执照

          Related MCP Servers

          • -
            security
            A
            license
            -
            quality
            MCP to access any database accessible via JDBC such as Postgres, Oracle, mysql, mariadb, sqlite etc.
            Last updated -
            129
            Apache 2.0
          • -
            security
            A
            license
            -
            quality
            An MCP server that integrates with MySQL databases, enabling secure read and write operations through LLM-driven interfaces with support for transaction handling and performance monitoring.
            Last updated -
            48
            3
            JavaScript
            MIT License
          • -
            security
            A
            license
            -
            quality
            An MCP server that enables MySQL database integration with Claude. You can execute SQL queries and manage database connections.
            Last updated -
            1
            Python
            MIT License
            • Apple
          • -
            security
            A
            license
            -
            quality
            Open source MCP server specializing in easy, fast, and secure tools for Databases.
            Last updated -
            1,375
            Go
            Apache 2.0
            • Linux

          View all related MCP servers

          MCP directory API

          We provide all the information about MCP servers via our MCP API.

          curl -X GET 'https://glama.ai/api/mcp/v1/servers/dpflucas/mysql-mcp-server'

          If you have feedback or need assistance with the MCP directory API, please join our Discord server