Enables interaction with MySQL databases, allowing users to execute SQL queries, retrieve table schemas, and list all tables within a database.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MySQL MCP Servershow me the structure of the users table"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MySQL MCP Server
A Model Context Protocol (MCP) server that provides MySQL database access tools for AI assistants like Cursor.
Overview
This MCP server enables AI assistants to interact with MySQL databases by providing three essential tools:
Execute SQL queries
Describe table structures
List all database tables
Features
Query Execution: Run any SQL query against your MySQL database
Table Description: Get detailed schema information for any table
Table Listing: View all tables in your database
Error Handling: Comprehensive error handling for database operations
MCP Protocol Compliance: Fully compatible with MCP 2024-11-05 specification
Prerequisites
Node.js (v14 or higher)
MySQL database (local or remote)
Cursor IDE (for MCP integration)
Installation
Clone or download this repository
Install dependencies:
Configuration
The server uses environment variables for database configuration:
MYSQL_HOST: MySQL server hostnameMYSQL_USER: Database usernameMYSQL_PASSWORD: Database passwordMYSQL_DATABASE: Database nameMYSQL_PORT: MySQL port (default: 3306)
Cursor Integration
To use this MCP server with Cursor, add the following configuration to your Cursor MCP settings file (~/.cursor/mcp.json):
Replace /path/to/your/mysql-mcp-server.js with the actual path to your server file and update the environment variables with your database credentials.
Available Tools
1. mysql_query
Execute any SQL query against the database.
Parameters:
query(string): The SQL query to execute
Example:
2. mysql_describe_table
Get the structure and schema information for a specific table.
Parameters:
table_name(string): Name of the table to describe
Example:
3. mysql_list_tables
List all tables in the database.
Parameters: None required.
Usage Examples
Once configured in Cursor, you can use natural language to interact with your database:
"Show me all tables in the database"
"Describe the structure of the users table"
"Get all admin users from the user table"
"Show me recent appointments"
Security Considerations
Database Credentials: Store sensitive credentials securely and never commit them to version control
Query Permissions: The server executes queries with the provided database user's permissions
Network Access: Ensure your database is properly secured and accessible only from authorized sources
Input Validation: While the server handles errors, always validate and sanitize inputs in production
Troubleshooting
Server Shows as Red in Cursor
Check that all environment variables are correctly set
Verify database connectivity
Ensure Node.js and mysql2 package are properly installed
Check Cursor's developer console for error messages
Connection Errors
Verify database host, port, and credentials
Check network connectivity to the database
Ensure the database allows connections from your IP
Verify the database name exists
"0 tools enabled" Error
Restart Cursor after making configuration changes
Check the MCP server file path in the configuration
Ensure the server implements the MCP protocol correctly
Development
File Structure
Dependencies
mysql2: MySQL client for Node.js with promise support
Contributing
Feel free to submit issues, feature requests, or pull requests to improve this MCP server.
License
This project is open source and available under the MIT License.
Changelog
v1.0.0
Initial release
Basic MCP protocol implementation
Three core database tools (query, describe, list)
Error handling and logging
Cursor integration support