MySQL MCP Server
A Model Context Protocol (MCP) server that provides MySQL database connectivity and tools.
Installation
npm install
npm run build
Usage
Configuration
The server can be configured using either environment variables or command-line arguments. Environment variables take precedence over command-line arguments.
Environment Variables
MYSQL_HOST: MySQL host (default: localhost)MYSQL_PORT: MySQL port (default: 3306)MYSQL_USER: MySQL user (default: root)MYSQL_PASSWORD: MySQL password (default: empty)MYSQL_DATABASE: MySQL database (default: test)
Command-Line Arguments
-h, --host: MySQL host (default: localhost)-p, --port: MySQL port (default: 3306)-u, --user: MySQL user (default: root)-P, --password: MySQL password (default: empty)-d, --database: MySQL database (default: test)
Examples
Basic usage with default settings:
crimson-mysql-mcp
Specify custom host and database:
crimson-mysql-mcp --host db.example.com --database myapp
Using short flags:
crimson-mysql-mcp -h 192.168.1.100 -u myuser -P mypass -d production
Claude Desktop Configuration
Using environment variables (recommended):
{
"mcpServers": {
"mysql": {
"command": "npx",
"args": [
"-y",
"crimson-mysql-mcp@1.0.2"
],
"env": {
"MYSQL_HOST": "your-mysql-host",
"MYSQL_PORT": "3306",
"MYSQL_USER": "your-username",
"MYSQL_PASSWORD": "your-password",
"MYSQL_DATABASE": "your-database"
}
}
}
}
For local development:
{
"mcpServers": {
"mysql": {
"command": "node",
"args": [
"/path/to/your/crimson-mysql-mcp/build/index.js"
],
"env": {
"MYSQL_HOST": "localhost",
"MYSQL_USER": "root",
"MYSQL_DATABASE": "test"
}
}
}
}
Available Tools
- get-schema: Get the schema/structure of a MySQL table
- Parameters:
schemaName(string) - The name of the table to describe
- Parameters:
Development
# Install dependencies
npm install
# Run in development mode
npm run server:dev
# Build the project
npm run build
# Watch and rebuild on changes
npm run server:build:watch
# Run with MCP Inspector (for debugging)
npm run server:inspect
Publishing to npm
To make this package available via npx:
- Update the package.json with your npm account details
- Run:
npm publish
License
ISC
