MySQL MCP Server
by PedroUrday
README.md
# MySQL MCP Server
This project is an MCP (Model Context Protocol) server for AI models that allows executing SQL queries against a MySQL database.
## What it does
The server exposes a tool that sends a single SQL statement to a MySQL database and returns the result as JSON. It also handles connection and execution errors.
## Requirements
- Node.js
- npm, pnpm (recommended) or any compatible Node.js package manager
## Installation
Install the dependencies with:
```bash
npm install
```
Or:
```bash
pnpm install
```
If you use pnpm.
Or the equivalent for your Node.js package manager.
## Configuration
Before running the server, edit "main.js" file and update the following default connection values to match your MySQL setup:
```javascript
const DEFAULT_DB_HOST = "localhost";
const DEFAULT_DB_USER = "root";
const DEFAULT_DB_PASSWORD = "123456";
const DEFAULT_DB_NAME = "test";
```
Replace these values with the ones required by your environment. When chatting with the AI, make sure to tell it at least the name of the database and the SQL statement. The database must already exist. You can also tell it the database host, username, and password but it is recommended to set those values in the constants above.
## Usage with MCP clients
This server is intended to be started by MCP-compatible clients; you do not need to run `node main.js` manually. Properly configured clients will start the server when needed. Below are example client configurations (replace `/path/to/...` with the correct path on your system).
- Continue (VSCode extension) — example `config.yaml`:
```yaml
mcpServers:
- name: MySQL MCP server
command: npx
args:
- -y
- node
- /path/to/mcp_servers/mysql/main.js
env: {}
```
- Claude (desktop) — example `claude_desktop_config.json`:
```json
{
"mcpServers": {
"mysql": {
"command": "npx",
"args": ["-y", "node", "/path/to/mcp_servers/mysql/main.js"]
}
}
}
```
- GitHub Copilot (VSCode). Press Ctrl+Shift+P (Windows or Linux) or Cmd+Shift+P (Mac) to open the Command Palette. Execute the MCP: Open User Configuration command. This creates a clean mcp.json in your global user profile directory. Edit the mcp.json file and place the following:
```json
{
"servers": {
"mysql": {
"command": "npx",
"args": ["-y", "node", "/path/to/mcp_servers/mysql/main.js"]
}
}
}
```
- Generic MCP client (command line):
```bash
# A client can launch the server this way if it must be started manually
npx -y node /path/to/mcp_servers/mysql/main.js
```
Notes:
- Check the documentation of the MCP client you use for the exact configuration key names; the examples above are common templates.
This server cannot be deployed
Maintenance
ActivityStale
ResponsivenessNo issues