
go mcp mysql
Zero burden, ready-to-use Model Context Protocol (MCP) server for interacting with MySQL and automation. No Node.js or Python environment needed. mcp, mcp-server, model-context-protocol, mysql
Repository Info
About This Server
Zero burden, ready-to-use Model Context Protocol (MCP) server for interacting with MySQL and automation. No Node.js or Python environment needed. mcp, mcp-server, model-context-protocol, mysql
Model Context Protocol (MCP) - This server can be integrated with AI applications to provide additional context and capabilities, enabling enhanced AI interactions and functionality.
Documentation
go-mcp-mysql
Overview
Zero burden, ready-to-use Model Context Protocol (MCP) server for interacting with MySQL and automation. No Node.js or Python environment needed. This server provides tools to do CRUD operations on MySQL databases and tables, and a read-only mode to prevent surprise write operations. You can also make the MCP server check the query plan by using a EXPLAIN statement before executing the query by adding a --with-explain-check flag.
Please note that this is a work in progress and may not yet be ready for production use.
Installation
-
Get the latest release and put it in your
$PATHor somewhere you can easily access. -
Or if you have Go installed, you can build it from source:
go install -v github.com/optimisticdur/go-mcp-mysql@latest
Usage
Method A: Using Command Line Arguments
{
"mcpServers": {
"mysql": {
"command": "go-mcp-mysql",
"args": [
"--host", "localhost",
"--user", "root",
"--pass", "password",
"--port", "3306",
"--db", "mydb"
]
}
}
}
Method B: Using DSN With Custom Options
{
"mcpServers": {
"mysql": {
"command": "go-mcp-mysql",
"args": [
"--dsn", "username:password@tcp(localhost:3306)/mydb?parseTime=true&loc=Local"
]
}
}
}
Please refer to MySQL DSN for more details.
Note: For those who put the binary outside of your $PATH, you need to replace go-mcp-mysql with the full path to the binary: e.g.: if you put the binary in the Downloads folder, you may use the following path:
{
"mcpServers": {
"mysql": {
"command": "C:\\Users\\<username>\\Downloads\\go-mcp-mysql.exe",
"args": [
...
]
}
}
}
Optional Flags
- Add a
--read-onlyflag to enable read-only mode. In this mode, only tools beginning withlist,read_anddesc_are available. Make sure to refresh/restart the MCP server after adding this flag. - By default, CRUD queries will be first executed with a
EXPLAIN ?statement to check whether the generated query plan matches the expected pattern. Add a--with-explain-checkflag to disable this behavior.
Tools
Schema Tools
-
list_database- List all databases in the MySQL server.
- Parameters: None
- Returns: A list of matching database names.
-
list_table- List all tables in the MySQL server.
- Parameters:
name: If provided, list tables with the specified name, same as SQLSHOW TABLES LIKE '%name%'. Otherwise, list all tables.
- Returns: A list of matching table names.
-
create_table- Create a new table in the MySQL server.
- Parameters:
query: The SQL query to create the table.
- Returns: x rows affected.
-
alter_table- Alter an existing table in the MySQL server. The LLM is informed not to drop an existing table or column.
- Parameters:
query: The SQL query to alter the table.
- Returns: x rows affected.
-
desc_table- Describe the structure of a table.
- Parameters:
name: The name of the table to describe.
- Returns: The structure of the table.
Data Tools
-
read_query- Execute a read-only SQL query.
- Parameters:
query: The SQL query to execute.
- Returns: The result of the query.
-
write_query- Execute a write SQL query.
- Parameters:
query: The SQL query to execute.
- Returns: x rows affected, last insert id: <last_insert_id>.
-
update_query- Execute an update SQL query.
- Parameters:
query: The SQL query to execute.
- Returns: x rows affected.
-
delete_query- Execute a delete SQL query.
- Parameters:
query: The SQL query to execute.
- Returns: x rows affected.
License
MIT
Quick Start
Clone the repository
git clone https://github.com/optimisticdur/go-mcp-mysqlInstall dependencies
cd go-mcp-mysql
npm installFollow the documentation
Check the repository's README.md file for specific installation and usage instructions.
Repository Details
Recommended MCP Servers
Discord MCP
Enable AI assistants to seamlessly interact with Discord servers, channels, and messages.
Knit MCP
Connect AI agents to 200+ SaaS applications and automate workflows.
Apify MCP Server
Deploy and interact with Apify actors for web scraping and data extraction.
BrowserStack MCP
BrowserStack MCP Server for automated testing across multiple browsers.
Zapier MCP
A Zapier server that provides automation capabilities for various apps.