MySQL MCP Server
by shreyansh-ghl
The MySQL MCP Server provides read-only access to MySQL databases, enabling LLMs to inspect schemas and execute queries. It supports MySQL authentication through the database URL and offers tools for querying and accessing table schemas.
Last updated: N/A
MySQL MCP Server
A Model Context Protocol server that provides read-only access to MySQL databases. This server enables LLMs to inspect database schemas and execute read-only queries.
Authentication
The server supports MySQL authentication through the database URL. The URL format is:
mysql://username:password@host:port/database
Examples:
- DB:
mysql://user:pass@localhost:3306/mydb
Note: Always ensure your credentials are properly secured and not exposed in public configurations.
Components
Tools
- query
- Execute read-only SQL queries against the connected database
- Input:
sql
(string): The SQL query to execute - All queries are executed within a READ ONLY transaction
- Authentication is handled automatically using the provided credentials
Resources
The server provides schema information for each table in the database:
- Table Schemas (
mysql://<host>/<table>/schema
)- JSON schema information for each table
- Includes column names and data types
- Automatically discovered from database metadata
- Access is authenticated using the provided credentials
Installation
- Clone the repository:
git clone https://github.com/yourusername/mysql-mcp-server.git
cd mysql-mcp-server
- Prepare and install dependencies:
npm run prepare
npm install
- Create a global link:
npm link
Now you can use the mysql-mcp-server
command from anywhere in your terminal:
mysql-mcp-server mysql://user:password@localhost:3306/mydb
Usage with Cursor
Configuring MCP in Cursor
-
Open Cursor's settings:
- Click on the gear icon (⚙️) in the bottom left corner of Cursor
- Or press
Shift + Cmd + J
on macOS
-
Configure MCP Server:
- Click on "MCP" in the left sidebar
- Click on "Add Global MCP Server"
- Add the following configuration:
{
"mcpServers": {
"mysql": {
"command": "mysql-mcp-server",
"args": ["mysql://user:password@localhost:3306/mydb"]
}
}
}
- Save the configuration:
- Click "Save" or press
Cmd + S
- Restart Cursor for the changes to take effect
- Click "Save" or press
How to use it on Cursor?
Open the Agentic chat on Cursor and start asking questions related to our DB and it will have all the context
ezgif-3bb869e455a41b
Security Best Practices
-
Use environment variables for sensitive credentials:
{ "mcpServers": { "mysql": { "command": "mysql-mcp-server", "args": ["mysql://${MYSQL_USER}:${MYSQL_PASSWORD}@host:3306/mydb"] } } }
-
Ensure the MySQL user has minimal required permissions (READ-ONLY access)
-
Use strong passwords and follow security best practices
-
Avoid committing configuration files with credentials to version control
License
This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository.