mcp-server-mysql  by benborla

MCP server for LLM access to MySQL databases

created 7 months ago
680 stars

Top 50.8% on sourcepulse

GitHubView on GitHub
Project Summary

This project provides a Model Context Protocol (MCP) server for MySQL databases, enabling Large Language Models (LLMs) to inspect schemas and execute SQL queries. It targets developers integrating LLMs with relational databases, offering a secure and configurable bridge for data interaction.

How It Works

The server acts as an intermediary, translating LLM requests into SQL queries executed against a MySQL database. It leverages Node.js and supports various integration methods, including direct configuration for tools like Claude Desktop and Cursor, or via package managers like npm/pnpm. Security is a key focus, with features like prepared statements, query timeouts, rate limiting, and configurable write operations (INSERT, UPDATE, DELETE) disabled by default.

Quick Start & Requirements

  • Install/Run: npx -y @benborla29/mcp-server-mysql (via Smithery) or npm install -g @benborla29/mcp-server-mysql.
  • Prerequisites: Node.js v18+, MySQL 5.7+ (8.0+ recommended).
  • Setup: Configuration varies by integration tool; Smithery simplifies setup by prompting for details.
  • Docs: README

Highlighted Details

  • Supports read-only queries by default, with optional INSERT, UPDATE, DELETE operations configurable via environment variables.
  • Offers advanced configuration for connection pooling, query timeouts, caching, rate limiting, and query complexity.
  • Includes schema-specific permissions for fine-grained access control across different databases.
  • Provides multi-DB mode for querying multiple databases when MYSQL_DB is not set, requiring schema-qualified queries.

Maintenance & Community

The project is actively developed, with a roadmap including enhanced query capabilities, advanced security, performance optimizations, and expanded schema information. Contributions are welcomed via pull requests.

Licensing & Compatibility

Licensed under the MIT License, permitting commercial use and integration with closed-source applications.

Limitations & Caveats

MySQL 8.0+ authentication plugin caching_sha2_password might require specific user configuration or a fallback to mysql_native_password. Some users have reported issues with module resolution (dotenv) that may require specific workarounds.

Health Check
Last commit

2 weeks ago

Responsiveness

1 day

Pull Requests (30d)
2
Issues (30d)
8
Star History
371 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.