MySQL MCP Server
by boyzoid
README.md
# 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
1. Clone the repository and install dependencies:
```bash
npm install
```
2. Build the TypeScript source:
```bash
npm run build
```
## Configuration
Create a `.env` file based on the example:
```bash
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
```bash
npm start
```
### Configuring with an MCP Client
Add the server to your MCP client configuration. For example, in Claude Desktop's config file:
```json
{
"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
ISCThis server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues