Skip to content

A comprehensive Model Context Protocol (MCP) server for MySQL databases with 200+ tools for advanced database management, diagnostics, performance analysis, security auditing, and AI-powered database interactions.

License

Notifications You must be signed in to change notification settings

mukul975/mysql-mcp-server

Repository files navigation

πŸš€ MySQL MCP Server β€” AI-Driven MySQL Control & Diagnostics for LLMs

A fully featured Model Context Protocol (MCP) server for MySQL β€” designed to empower AI assistants, LLMs (like ChatGPT, Claude, Gemini), and automation tools with deep MySQL database access, diagnostics, and intelligent control.

⚑ Ideal for building AI-powered database agents, DevOps automation, or managing MySQL with natural language.

License: MIT Python MySQL Support Open Source


πŸ“† Repository Info

  • GitHub: mcp-mysql-server
  • Author: @mukul975
  • License: MIT
  • Keywords: MySQL, MCP Server, AI MySQL interface, LLM database tool, MySQL automation, chatbot SQL

🧠 Key Features

This MySQL MCP Server provides LLMs and AI tools with:

  • βœ… Secure Query Execution: Handles SELECT, INSERT, UPDATE, DELETE, etc. with read-only validation.
  • πŸ” Schema Introspection: List tables, inspect structures, indexes, keys.
  • πŸ“Š Performance Diagnostics: Analyze fragmentation, slow queries, buffer pool stats.
  • πŸ›‘οΈ Security Auditing: Manage users, audit SSL, monitor roles & privileges.
  • 🧩 Backup & Replication Monitor: View replication lag, log status, recovery readiness.
  • βš™οΈ System Monitoring: Get process list, memory usage, plugin state.
  • πŸ“ˆ Query Insights: Index recommendations, event scheduler overview.

πŸ› οΈ Installation

pip install -r requirements.txt
# Or install manually:
pip install "mcp[cli]"
pip install mysql-connector-python

βš™οΈ Environment Configuration

Variable Description Default
MYSQL_HOST MySQL server hostname localhost
MYSQL_PORT MySQL port 3306
MYSQL_USER Username root
MYSQL_PASSWORD Password (empty)
MYSQL_DATABASE Target DB (empty)

πŸ’‘ Use .env or export variables manually


▢️ Run & Usage

python mysql_server.py                # Default (stdin transport)
python mysql_server.py --transport sse  # For web clients (SSE)
python mysql_server.py --help        # Command help

πŸ”— Claude Desktop Integration

{
  "mcpServers": {
    "mysql": {
      "command": "python",
      "args": ["path/to/mysql_server.py"],
      "env": {
        "MYSQL_HOST": "localhost",
        "MYSQL_PORT": "3306",
        "MYSQL_USER": "your_user",
        "MYSQL_PASSWORD": "your_pass",
        "MYSQL_DATABASE": "your_db"
      }
    }
  }
}

πŸ§ͺ Example Workflows

  • list_tables: Lists all tables
  • describe_table: Schema of a specific table
  • execute_sql: Run select or data modification queries
  • mysql_slow_query_analysis: Detect slow queries
  • mysql_user_privileges: Audit user access
  • mysql_replication_lag_monitoring: Check lag in replication

🧰 Toolset Highlights

Access tools via code or LLM prompts:

  • mysql_query, list_mysql_tables, mysql_table_schema
  • mysql_index_optimization_suggestions, mysql_deadlock_detection
  • mysql_ssl_tls_configuration_audit, mysql_backup_health_check
  • mysql_server_health_dashboard, mysql_event_scheduler, and dozens more

πŸ” Security Considerations

  • Store secrets in env vars or vault
  • Do not expose server publicly
  • Privilege validation and SSL audit included

πŸ§ͺ Error Handling

  • Connection errors
  • SQL syntax issues
  • Network timeouts
  • Returns structured error response

πŸ’‘ Development Structure

mcp-mysql-server/
β”œβ”€β”€ mysql_server.py        # Entry point
β”œβ”€β”€ requirements.txt       # Dependencies
β”œβ”€β”€ README.md              # Docs
└── pyproject.toml         # Project metadata (optional)

βœ… Testing Steps

  1. Ensure MySQL is running
  2. Set environment vars
  3. Run python mysql_server.py
  4. Try with mcp dev mysql_server.py (if using MCP CLI)

🀝 Contributing

  • Fork the repo
  • Create feature/bug branches
  • Submit PRs with description & tests

πŸ“„ FAQ

Q: What is MCP? A: Model Context Protocol (MCP) is an interface to give LLMs access to structured tools like databases, APIs, and system utilities.

Q: Can I use this with ChatGPT or Claude? Yes! It's designed for direct integration with AI/LLM tools that support tool-use or system-level automation.

Q: Is it safe to run this in production? It depends on your environment. Always restrict access, use read-only roles, and monitor logs.


πŸ“„ License

MIT License β€” Open source and free to use.


πŸ”Ž GitHub SEO Tips (apply on GitHub)


πŸ“£ Promote It


Let me know if you need an HTML version, web preview, or GitHub Pages site for this!

About

A comprehensive Model Context Protocol (MCP) server for MySQL databases with 200+ tools for advanced database management, diagnostics, performance analysis, security auditing, and AI-powered database interactions.

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Sponsor this project

 

Contributors 2

  •  
  •