MySQL MCP Server
Provides tools for AI assistants to interact with a MySQL database.
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:
npm install
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):
{
"mcpServers": {
"mysql-mcp": {
"label": "MySQL MCP",
"command": "node",
"args": ["/path/to/your/mysql-mcp-server.js"],
"env": {
"MYSQL_HOST": "your-mysql-host",
"MYSQL_USER": "your-username",
"MYSQL_PASSWORD": "your-password",
"MYSQL_DATABASE": "your-database",
"MYSQL_PORT": "3306"
}
}
}
}
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:
SELECT * FROM users WHERE role = 'admin'
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:
mysql_describe_table("users")
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
mcp/
├── mysql-mcp-server.js # Main MCP server implementation
├── package.json # Node.js dependencies
└── README.md # This file
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
संबंधित सर्वर
Pinterest by CData
A read-only MCP server for querying live Pinterest data, powered by the CData JDBC Driver.
Astro MCP
A modular server providing unified access to multiple astronomical datasets, including astroquery services and DESI data sources.
CData MCP Server for Microsoft SQL Server
An MCP server for Microsoft SQL Server by CData. Requires a separately licensed CData JDBC Driver.
Chroma
A vector database server powered by Chroma, enabling semantic document search, metadata filtering, and document management.
Metabase Server
Integrates with Metabase for data visualization and business intelligence. Requires METABASE_URL, METABASE_USERNAME, and METABASE_PASSWORD environment variables.
Blackbaud FE NXT by CData
A read-only MCP server for Blackbaud FE NXT by CData, enabling LLMs to query live data. Requires a separate CData JDBC Driver.
Blockscout
Access blockchain data like balances, tokens, and NFTs from Blockscout APIs. Supports multi-chain and progress notifications.
MySQL Server
Provides read-only access to MySQL databases, allowing LLMs to inspect schemas and execute queries.
Drug Gene Interaction Database (DGIdb)
A bridge to the Drug Gene Interaction Database (DGIdb) API, enabling AI clients to query drug-gene interaction data.
Shibui Finance
Ask questions about 5,200+ US stocks in plain English. 64 years of prices, financials, technicals, and backtests.