Skip to main content
Glama
myheisenberg

mysql-mcp-server

by myheisenberg

๐Ÿ”ง MySQL MCP Server

A Model Context Protocol (MCP) server for MySQL database operations. Provides 4 powerful tools for database interaction through any MCP-compatible client.

โœจ Features

  • ๐Ÿ” Execute SQL Queries - Run any SELECT, INSERT, UPDATE, DELETE commands

  • ๐Ÿ“Š List Databases - View all available databases

  • ๐Ÿ“‹ List Tables - Show tables in any database

  • ๐Ÿ—๏ธ Describe Tables - Get detailed table structure information

  • ๐Ÿ”’ Secure - Environment-based configuration, no hardcoded credentials

  • โšก Fast - Built with TypeScript and connection pooling

Related MCP server: MariaDB-MCP

๐Ÿš€ Quick Start

Installation

# Clone the repository
git clone https://github.com/myheisenberg/mysql-mcp-server.git
cd mysql-mcp-server

# Install dependencies
npm install

# Build the project
npm run build

Configuration

The server uses environment variables for database configuration:

DB_HOST=localhost        # MySQL host (default: localhost)
DB_USER=root            # MySQL username (default: root)
DB_PASSWORD=            # MySQL password (default: empty)
DB_PORT=3306           # MySQL port (default: 3306)

๐Ÿ“– Usage

With Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "mysql": {
      "command": "node",
      "args": ["path/to/mysql-mcp-server/dist/index.js"],
      "env": {
        "DB_HOST": "localhost",
        "DB_USER": "your_username",
        "DB_PASSWORD": "your_password",
        "DB_PORT": "3306"
      }
    }
  }
}

With Cursor IDE

Add to your MCP configuration:

{
  "mcpServers": {
    "mysql": {
      "command": "node",
      "args": ["path/to/mysql-mcp-server/dist/index.js"],
      "env": {
        "DB_HOST": "localhost",
        "DB_USER": "your_username", 
        "DB_PASSWORD": "your_password",
        "DB_PORT": "3306"
      }
    }
  }
}

๐Ÿ› ๏ธ Available Tools

1. mysql_query

Execute any MySQL query and get formatted results.

Example: "Run a SELECT query on the users table"

2. mysql_databases

List all available databases on the MySQL server.

Example: "Show me all databases"

3. mysql_tables

List all tables in a specific database.

Example: "What tables are in the blog database?"

4. mysql_describe

Get detailed information about a table's structure.

Example: "Describe the structure of the users table"

๐Ÿ”ง Development

# Install dependencies
npm install

# Development mode (watch for changes)
npm run dev

# Build for production
npm run build

# Start the server
npm start

๐Ÿ“ฆ Project Structure

mysql-mcp-server/
โ”œโ”€โ”€ src/
โ”‚   โ””โ”€โ”€ index.ts          # Main MCP server implementation
โ”œโ”€โ”€ dist/                 # Compiled JavaScript (auto-generated)
โ”œโ”€โ”€ package.json          # Project dependencies and scripts
โ”œโ”€โ”€ tsconfig.json         # TypeScript configuration
โ”œโ”€โ”€ .gitignore           # Git ignore rules
โ””โ”€โ”€ README.md            # This file

๐Ÿ”’ Security

  • No hardcoded credentials - All database connection details come from environment variables

  • Connection pooling - Efficient and secure database connections

  • Error handling - Proper error messages without exposing sensitive information

๐Ÿค Contributing

  1. Fork the repository

  2. Create your feature branch (git checkout -b feature/amazing-feature)

  3. Commit your changes (git commit -m 'Add some amazing feature')

  4. Push to the branch (git push origin feature/amazing-feature)

  5. Open a Pull Request

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ™ Acknowledgments

๐Ÿ“ž Support

If you encounter any issues or have questions:

  1. Check the Issues page

  2. Create a new issue if your problem isn't already reported

  3. Provide as much detail as possible including error messages and configuration


Made with โค๏ธ for the MCP community

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables interaction with MySQL databases through MCP, supporting query execution, table operations (insert, update, delete), and schema inspection for natural language database management.
    133 npm
    MIT
  • F
    license
    A
    quality
    B
    maintenance
    Enables interaction with MariaDB/MySQL databases via MCP, supporting read-only mode, SQL execution, and schema inspection.
    6
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides MySQL database operations through MCP, enabling users to execute SQL queries, retrieve table structures, and check database connectivity using natural language.
    133 npm
    Apache 2.0
  • -
    license
    Not graded
    quality
    C
    maintenance
    Enables interaction with a MySQL database through MCP tools, resources, and prompts, supporting both read-only queries and safe write operations.
    -