Skip to main content

Tests PyPI - Downloads smithery badge MseeP.ai Security Assessment Badge

MySQL MCP Server

A Model Context Protocol (MCP) implementation that enables secure interaction with MySQL databases. This server component facilitates communication between AI applications (hosts/clients) and MySQL databases, making database exploration and analysis safer and more structured through a controlled interface.

Note: MySQL MCP Server is not designed to be used as a standalone server, but rather as a communication protocol implementation between AI applications and MySQL databases.

Features # 项目特性说明

  • List available MySQL tables as resources # 列出数据库表作为资源
  • Read table contents # 读取表数据
  • Execute SQL queries with proper error handling # 执行SQL查询
  • Secure database access through environment variables # 使用环境变量进行安全认证
  • Comprehensive logging # 完善的日志记录功能

Installation

Manual Installation

pip install mysql-mcp-server

Installing via Smithery

To install MySQL MCP Server for Claude Desktop automatically via Smithery:

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

Configuration # 配置说明

Set the following environment variables: # 必须设置的环境变量

MYSQL_HOST=localhost     # Database host  # 数据库主机地址
MYSQL_PORT=3306         # Optional: Database port (defaults to 3306 if not specified)  # 可选数据库端口,默认3306
MYSQL_USER=your_username  # 数据库用户名
MYSQL_PASSWORD=your_password  # 数据库密码
MYSQL_DATABASE=your_database  # 要连接的数据库名称

Usage

With Claude Desktop

Add this to your claude_desktop_config.json:

{
  "mcpServers": {
    "mysql": {
      "command": "uv",
      "args": [
        "--directory",
        "path/to/mysql_mcp_server",
        "run",
        "mysql_mcp_server"
      ],
      "env": {
        "MYSQL_HOST": "localhost",
        "MYSQL_PORT": "3306",
        "MYSQL_USER": "your_username",
        "MYSQL_PASSWORD": "your_password",
        "MYSQL_DATABASE": "your_database"
      }
    }
  }
}

With Visual Studio Code

Add this to your mcp.json:

{
  "servers": {
      "mysql": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "--from",
                "mysql-mcp-server",
                "mysql_mcp_server"
            ],
      "env": {
        "MYSQL_HOST": "localhost",
        "MYSQL_PORT": "3306",
        "MYSQL_USER": "your_username",
        "MYSQL_PASSWORD": "your_password",
        "MYSQL_DATABASE": "your_database"
      }
    }
  }
}

Note: Will need to install uv for this to work

Debugging with MCP Inspector

While MySQL MCP Server isn't intended to be run standalone or directly from the command line with Python, you can use the MCP Inspector to debug it.

The MCP Inspector provides a convenient way to test and debug your MCP implementation:

# Install dependencies
pip install -r requirements.txt
# Use the MCP Inspector for debugging (do not run directly with Python)

The MySQL MCP Server is designed to be integrated with AI applications like Claude Desktop and should not be run directly as a standalone Python program.

Development

# Clone the repository
git clone https://github.com/designcomputer/mysql_mcp_server.git
cd mysql_mcp_server
# Create virtual environment
python -m venv venv
source venv/bin/activate  # or `venv\Scripts\activate` on Windows
# Install development dependencies
pip install -r requirements-dev.txt
# Run tests
pytest

Security Considerations # 安全注意事项

  • Never commit environment variables or credentials # 不要提交敏感信息
  • Use a database user with minimal required permissions # 使用最小权限账户
  • Consider implementing query whitelisting for production use # 生产环境考虑查询白名单
  • Monitor and log all database operations # 监控并记录所有数据库操作

Security Best Practices # 安全最佳实践

This MCP implementation requires database access to function. For security: # 本实现需要数据库访问权限

  1. Create a dedicated MySQL user with minimal permissions # 创建专用MySQL用户
  2. Never use root credentials or administrative accounts # 不要使用root账户
  3. Restrict database access to only necessary operations # 限制数据库访问
  4. Enable logging for audit purposes # 启用日志记录
  5. Regular security reviews of database access # 定期安全审查

See MySQL Security Configuration Guide for detailed instructions on:

  • Creating a restricted MySQL user
  • Setting appropriate permissions
  • Monitoring database access
  • Security best practices

⚠️ IMPORTANT: Always follow the principle of least privilege when configuring database access.

License

MIT License - see LICENSE file for details.

Contributing # 贡献指南

  1. Fork the repository # 创建仓库分支
  2. Create your feature branch (git checkout -b feature/amazing-feature) # 创建特性分支
  3. Commit your changes (git commit -m 'Add some amazing feature') # 提交更改
  4. Push to the branch (git push origin feature/amazing-feature) # 推送分支
  5. Open a Pull Request # 创建拉取请求

Metadata

Release files for mysql-mcp-server-financeblue 0.2.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for mysql-mcp-server-financeblue 0.2.3
File Interpreter ABI Platform
mysql_mcp_server_financeblue-0.2.3-py3-none-any.whl Python 3 none any Details

Release files / mysql_mcp_server_financeblue-0.2.3-py3-none-any.whl

Download URL mysql_mcp_server_financeblue-0.2.3-py3-none-any.whl
Size 8.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d818fab1f22bd4b337f27198038a1060e2d0446dc704fba8ad5c2ec9597c1fa3
BLAKE2b-256 checksum
How to use checksums
ac1dbe89a2ef475408e3cd3e6998e3aad75ff99a75d95f53c075a1739c95eedf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.2

Security for mysql-mcp-server-financeblue 0.2.3

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.2.3 This release

1 release file No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page