MySQL MCP Server
A Model Context Protocol (MCP) server that provides read-only access to MySQL databases. This server allows MCP clients (like Claude Desktop or other AI assistants) to explore database schemas, inspect table structures, and execute SELECT queries safely.
Features
Tools
- describe_table - Shows table structure including columns, types, and keys
- query - Executes validated read-only SQL queries (SELECT statements only)
Resources
- mysql://schemas - Lists all available database schemas
- mysql://schemas/{schema}/tables - Lists tables in a specific schema
Prompts
- explore-schema - Guided exploration of a database schema's structure and relationships
- query-builder - Interactive help for constructing SELECT queries
Prerequisites
- Node.js (v18 or higher recommended)
- Access to a MySQL database
Installation
- Clone the repository and install dependencies:
npm install
- Build the TypeScript source:
npm run build
Configuration
Create a .env file based on the example:
cp .env.example .env
Edit .env with your MySQL connection details:
MYSQL_HOST=localhost
MYSQL_PORT=3306
MYSQL_USER=your_username
MYSQL_PASSWORD=your_password
Usage
Running Directly
npm start
Configuring with an MCP Client
Add the server to your MCP client configuration. For example, in Claude Desktop's config file:
{
"mcpServers": {
"mysql": {
"command": "node",
"args": ["/path/to/mysql_mcp/dist/index.js"],
"env": {
"MYSQL_HOST": "127.0.0.1",
"MYSQL_PORT": "3306",
"MYSQL_USER": "your_username",
"MYSQL_PASSWORD": "your_password"
}
}
}
}
Security
This server enforces read-only access by parsing and validating all queries before execution. Only SELECT statements are permitted. Any attempt to run INSERT, UPDATE, DELETE, or other modifying statements will be rejected.
License
ISC











