ai2mysql-mcp-server
Documentation
MySQL MCP Server
A MySQL database connection server built on go-mcp, supporting communication with clients via stdio, allowing execution of SQL queries and data manipulation operations.
Features
- Communicates with clients through the MCP protocol
- Supports connection to MySQL databases
- Supports query operations (SELECT, SHOW, DESCRIBE)
- Supports data manipulation operations (INSERT/UPDATE/DELETE)
- Permission control (configurable for insert, update, delete operations)
- Flexible configuration via environment variables
- Debug mode with detailed logging to file
Installation
Method 1: Direct Installation (Recommended)
Install directly from GitHub using Go's install command:
go install github.com/blanplan-ai/ai2mysql-mcp-server/cmd/ai2mysql-mcp-server@latestMethod 2: Manual Build
# Clone the repository
git clone https://github.com/blanplan-ai/ai2mysql-mcp-server.git
cd ai2mysql-mcp-server
# Build the server
go build -o ai2mysql-mcp-server ./cmd/ai2mysql-mcp-serverConfiguration
The server is configured using environment variables.
Environment Variables
The following environment variables can be set to configure the server:
| Environment Variable | Description | Default Value |
|---|---|---|
| `MYSQL_HOST` | MySQL host address | 127.0.0.1 |
| `MYSQL_PORT` | MySQL port number | 3306 |
| `MYSQL_USER` | MySQL username | root |
| `MYSQL_PASS` | MySQL password | password |
| `DEFAULT_DATABASE` | Default database name | test |
| `ALLOW_INSERT` | Whether to allow INSERT operations | false |
| `ALLOW_UPDATE` | Whether to allow UPDATE operations | false |
| `ALLOW_DELETE` | Whether to allow DELETE operations | false |
| `IS_DEV` | Enable development mode with detailed logging | false |
| `LOG_PATH` | Path to the log file (only effective in dev mode) | /tmp/ai2mysql.log |
JSON Configuration Example
Below is an example JSON configuration you can use to set environment variables:
{
"MYSQL_HOST": "127.0.0.1",
"MYSQL_PORT": "3306",
"MYSQL_USER": "root",
"MYSQL_PASS": "password",
"DEFAULT_DATABASE": "test",
"ALLOW_INSERT": "false",
"ALLOW_UPDATE": "false",
"ALLOW_DELETE": "false",
"IS_DEV": "false",
"LOG_PATH": "/tmp/ai2mysql.log"
}Configuration notes:
- All boolean type configuration items use the string "true" or "false"
- In production environments, it is recommended to disable IS_DEV to prevent sensitive information leakage
- It is recommended to restrict INSERT/UPDATE/DELETE permissions based on actual needs
- Sensitive information such as passwords should be configured using environment variables
Usage
Starting the Server
Run the server after installation:
# Run with default settings
ai2mysql-mcp-server
# Run with environment variables
MYSQL_HOST=127.0.0.1 MYSQL_USER=root MYSQL_PASS=password ai2mysql-mcp-server
# Enable development mode
IS_DEV=true ai2mysql-mcp-serverWhen development mode is enabled, detailed logs will be output to the configured log file (default: `/tmp/ai2mysql.log`), including complete request, response, and error information.
Using with Cursor
This server is designed to work with clients that support the MCP protocol, such as Cursor.
In Cursor, you can enable the MySQL MCP server with the following configuration:
{
"mcpServers": {
"mysql-mcp-server": {
"command": "ai2mysql-mcp-server",
"args": [],
"env": {
"MYSQL_HOST": "127.0.0.1",
"MYSQL_PORT": "3306",
"MYSQL_USER": "root",
"MYSQL_PASS": "password",
"DEFAULT_DATABASE": "test", // Default database, optional
"ALLOW_INSERT": "false", // Allow insert operations, optional
"ALLOW_UPDATE": "false", // Allow update operations, optional
"ALLOW_DELETE": "false", // Allow delete operations, optional
"IS_DEV": "false" // Enable development mode, optional
}
}
}
}After adding the configuration, you can use the following tools:
1. `mysql_query`: Execute SQL query operations
2. `mysql_execute`: Execute SQL data manipulation operations
Development
Project Structure
ai2mysql-mcp-server/
└── cmd/
└── ai2mysql-mcp-server/ # Server entry
└── main.go # Main programDependencies
- go-sql-driver/mysql: MySQL driver
- ThinkInAIXYZ/go-mcp: MCP protocol library
Debugging and Troubleshooting
Debug Mode
Set the environment variable `IS_DEV=true` to enable debug mode:
IS_DEV=true ai2mysql-mcp-serverIn debug mode, the server will output detailed logs to the specified log file, including:
- All received requests and sent responses
- Detailed SQL query and execution information
- Error and exception conditions
- Performance-related information (such as query execution time)
Common Issues
If you encounter problems in Cursor:
1. Tool not displayed: Check if the command path in the Cursor configuration file is correct, ensure the executable exists and has execution permissions
2. Connection failed: Check if the database connection information is correct, use debug mode to view detailed error messages
3. Permission issues: By default only query operations are allowed, check if you need to enable insert/update/delete permissions
License
MIT License
Frequently asked questions
What is ai2mysql-mcp-server?
ai2mysql-mcp-server is a Model Context Protocol (MCP) server listed in the TrackMCP directory.
How do I install ai2mysql-mcp-server?
Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.
Is ai2mysql-mcp-server open source?
Yes — it is hosted on GitHub at https://github.com/blanplan-ai/ai2mysql-mcp-server.
Related MCP tools
MCP server for Grafana Go-based implementation. Trusted by 1700+ developers. Trusted by 1700+ developers. Trusted by 1700+ developers.
Flux Operator is a Kubernetes controller for managing the lifecycle of Flux CD for the Model Context Protocol. Enhance AI assistants with powerful integrations.
MCP server connecting to Kubernetes Go-based implementation.
:robot: The free, Open Source alternative to OpenAI, Claude and others. Self-hosted and local-first. Drop-in replacement for OpenAI, running on consumer-gra...
MCP Toolbox for Databases is an open source MCP server for databases. Go-based implementation. Trusted by 10900+ developers.
A Go implementation of the Model Context Protocol (MCP), enabling seamless integration between LLM applications and external data sources and tools.
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP