MySQL MCP Server
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
MySQL MCP Server
An MCP server for interacting with MySQL databases.
This server supports executing read-only queries (query) and write queries that are ultimately rolled back (test_execute).
Setup
Environment Variables
Add the following environment variables to ~/.mcp/.env
:
Note:
host.docker.internal
is a special DNS name for accessing host machine services from Docker containers. Use this setting when connecting to a MySQL server running on your host machine. If connecting to a different MySQL server, change to the appropriate hostname.
mcp.json Configuration
Usage
Starting the Server
Note: If you're using OrbStack,
host.docker.internal
is automatically supported, so the--add-host
option can be omitted. While Docker Desktop also typically supports this automatically, adding the--add-host
option is recommended for better reliability.
Available Commands
1. Execute Read-only Query
Response:
2. Test Query Execution
Response:
3. List Tables
Response:
4. Describe Table
Response:
Implementation Details
- Implemented in TypeScript
- Uses mysql2 package
- Runs as a Docker container
- Accepts JSON commands through standard input
- Returns JSON responses through standard output
- Uses
host.docker.internal
to connect to host MySQL (compatible with both OrbStack and Docker Desktop)
Security Considerations
- Uses environment variables for sensitive information management
- SQL injection prevention is the implementer's responsibility
- Proper network configuration required for production use
- Appropriate firewall settings needed when connecting to host machine services
You must be authenticated.
Enables interaction with a MySQL database via JSON commands, supporting read-only queries, test execution of write queries, and table information retrieval through Docker.