
MCP MySQL Server
Enables AI models to securely connect, query, and manage MySQL databases using prepared statements and automatic connection handling through a standardized Model Context Protocol interface.
Supercharge Your AI with MCP MySQL Server
Unlock the full potential of MCP MySQL Server through LangDB's AI Gateway. Get enterprise-grade security, analytics, and seamless integration with zero configuration.
Free tier available • No credit card required
@f4ww4z/mcp-mysql-server
A Model Context Protocol server that provides MySQL database operations. This server enables AI models to interact with MySQL databases through a standardized interface.
Installation
Installing via Smithery
To install MySQL Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @f4ww4z/mcp-mysql-server --client claude
Manual Installation
npx @f4ww4z/mcp-mysql-server
Configuration
The server requires the following environment variables to be set in your MCP settings configuration file:
{ "mcpServers": { "mysql": { "command": "npx", "args": ["-y", "@f4ww4z/mcp-mysql-server"], "env": { "MYSQL_HOST": "your_host", "MYSQL_USER": "your_user", "MYSQL_PASSWORD": "your_password", "MYSQL_DATABASE": "your_database" } } } }
Available Tools
1. connect_db
Establish connection to MySQL database using provided credentials.
use_mcp_tool({ server_name: "mysql", tool_name: "connect_db", arguments: { host: "localhost", user: "your_user", password: "your_password", database: "your_database" } });
2. query
Execute SELECT queries with optional prepared statement parameters.
use_mcp_tool({ server_name: "mysql", tool_name: "query", arguments: { sql: "SELECT * FROM users WHERE id = ?", params: [1] } });
3. execute
Execute INSERT, UPDATE, or DELETE queries with optional prepared statement parameters.
use_mcp_tool({ server_name: "mysql", tool_name: "execute", arguments: { sql: "INSERT INTO users (name, email) VALUES (?, ?)", params: ["John Doe", "john@example.com"] } });
4. list_tables
List all tables in the connected database.
use_mcp_tool({ server_name: "mysql", tool_name: "list_tables", arguments: {} });
5. describe_table
Get the structure of a specific table.
use_mcp_tool({ server_name: "mysql", tool_name: "describe_table", arguments: { table: "users" } });
Features
- Secure connection handling with automatic cleanup
- Prepared statement support for query parameters
- Comprehensive error handling and validation
- TypeScript support
- Automatic connection management
Security
- Uses prepared statements to prevent SQL injection
- Supports secure password handling through environment variables
- Validates queries before execution
- Automatically closes connections when done
Error Handling
The server provides detailed error messages for common issues:
- Connection failures
- Invalid queries
- Missing parameters
- Database errors
Contributing
Contributions are welcome! Please feel free to submit a Pull Request to https://github.com/f4ww4z/mcp-mysql-server
License
MIT
Discover shared experiences
Shared threads will appear here, showcasing real-world applications and insights from the community. Check back soon for updates!