MySQL MCP Server

MySQL MCP Server

Mirror of

MCP-Mirror

Developer Tools
Visit Server

README

MySQL MCP Server

This is a Model Context Protocol (MCP) server that provides access to a MySQL database. It allows agent to execute SQL queries against a MySQL database.

Features

  • Execute SQL queries against a MySQL database:
    • Read data (SELECT statements)
    • Create tables (CREATE TABLE statements)
    • Insert data (INSERT INTO statements)
    • Update data (UPDATE statements)
    • Delete data (DELETE FROM statements)
  • Returns query results in JSON format
  • Configurable database connection settings
  • Transaction logging with unique IDs

Prerequisites

  • Node.js (v14 or higher)
  • MySQL server
  • MCP SDK

Installation

  1. Clone or download this repository
  2. Install dependencies:
cd mysql-mcp-server
npm install
  1. Build the server:
npm run build

Configuration

The MySQL MCP server uses the following environment variables for configuration:

  • MYSQL_HOST: MySQL server hostname (default: 'localhost')
  • MYSQL_PORT: MySQL server port (default: 3306)
  • MYSQL_USER: MySQL username (default: 'mcp101')
  • MYSQL_PASSWORD: MySQL password (default: '123qwe')
  • MYSQL_DATABASE: MySQL database name (default: 'mcpdb')

Database Setup

  1. Create a MySQL database:
CREATE DATABASE mcpdb;
  1. Create a MySQL user with access to the database:
CREATE USER 'mcp101'@'localhost' IDENTIFIED BY '123qwe';
GRANT ALL PRIVILEGES ON mcpdb.* TO 'mcp101'@'localhost';
FLUSH PRIVILEGES;
  1. Create a test table with sample data:
USE mcpdb;
CREATE TABLE test_users (
  id INT AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(100),
  email VARCHAR(100),
  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

INSERT INTO test_users (name, email) VALUES
  ('John Doe', 'john@example.com'),
  ('Jane Smith', 'jane@example.com'),
  ('Bob Johnson', 'bob@example.com');

MCP Configuration

Add the MySQL MCP server to your MCP settings file:

VSCode (Claude Extension)

File: ~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json

Change the args according your MySQL configuruation

{
  "mcpServers": {
    "mysql-mcp-server": {
      "autoApprove": [],
      "disabled": false,
      "timeout": 60,
      "command": "node",
      "args": [
        "/path/to/mysql-mcp-server/build/index.js"
      ],
      "env": {
        "MYSQL_HOST": "localhost",
        "MYSQL_PORT": "3306",
        "MYSQL_USER": "mcp101",
        "MYSQL_PASSWORD": "123qwe",
        "MYSQL_DATABASE": "mcpdb"
      },
      "transportType": "stdio"
    }
  }
}

Claude Desktop App

File: ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "mysql-mcp-server": {
      "autoApprove": [],
      "disabled": false,
      "timeout": 60,
      "command": "node",
      "args": [
        "/path/to/mysql-mcp-server/build/index.js"
      ],
      "env": {
        "MYSQL_HOST": "localhost",
        "MYSQL_PORT": "3306",
        "MYSQL_USER": "mcp101",
        "MYSQL_PASSWORD": "123qwe",
        "MYSQL_DATABASE": "mcpdb"
      },
      "transportType": "stdio"
    }
  }
}

Usage

Once configured, you can use the MySQL MCP server in your conversations with Claude. For example:

"Can you show me all the users in the test_users table?"

Claude will use the run_sql_query tool to execute:

SELECT * FROM test_users

Available Tools

run_sql_query

Executes a read-only SQL query (SELECT statements only) against the MySQL database.

Parameters:

  • query: The SQL SELECT query to execute.

Example:

{
  "query": "SELECT * FROM test_users"
}

create_table

Creates a new table in the MySQL database.

Parameters:

  • query: The SQL CREATE TABLE query to execute.

Example:

{
  "query": "CREATE TABLE products (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100), price DECIMAL(10,2))"
}

insert_data

Inserts data into a table in the MySQL database.

Parameters:

  • query: The SQL INSERT INTO query to execute.

Example:

{
  "query": "INSERT INTO products (name, price) VALUES ('Laptop', 999.99), ('Smartphone', 499.99)"
}

update_data

Updates data in a table in the MySQL database.

Parameters:

  • query: The SQL UPDATE query to execute.

Example:

{
  "query": "UPDATE products SET price = 899.99 WHERE name = 'Laptop'"
}

delete_data

Deletes data from a table in the MySQL database.

Parameters:

  • query: The SQL DELETE FROM query to execute.

Example:

{
  "query": "DELETE FROM products WHERE name = 'Smartphone'"
}

Security Considerations

  • Use a dedicated MySQL user with appropriate privileges for the MCP server
  • Consider using read-only privileges if you only need to query data
  • Store sensitive information like database credentials securely
  • All operations are logged with unique transaction IDs for auditing

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
MCP Package Docs Server

MCP Package Docs Server

Facilitates LLMs to efficiently access and fetch structured documentation for packages in Go, Python, and NPM, enhancing software development with multi-language support and performance optimization.

Featured
Local
TypeScript
Claude Code MCP

Claude Code MCP

An implementation of Claude Code as a Model Context Protocol server that enables using Claude's software engineering capabilities (code generation, editing, reviewing, and file operations) through the standardized MCP interface.

Featured
Local
JavaScript
@kazuph/mcp-taskmanager

@kazuph/mcp-taskmanager

Model Context Protocol server for Task Management. This allows Claude Desktop (or any MCP client) to manage and execute tasks in a queue-based system.

Featured
Local
JavaScript
Linear MCP Server

Linear MCP Server

Enables interaction with Linear's API for managing issues, teams, and projects programmatically through the Model Context Protocol.

Featured
JavaScript
mermaid-mcp-server

mermaid-mcp-server

A Model Context Protocol (MCP) server that converts Mermaid diagrams to PNG images.

Featured
JavaScript
Jira-Context-MCP

Jira-Context-MCP

MCP server to provide Jira Tickets information to AI coding agents like Cursor

Featured
TypeScript
Linear MCP Server

Linear MCP Server

A Model Context Protocol server that integrates with Linear's issue tracking system, allowing LLMs to create, update, search, and comment on Linear issues through natural language interactions.

Featured
JavaScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

This server facilitates structured problem-solving by breaking down complex issues into sequential steps, supporting revisions, and enabling multiple solution paths through full MCP integration.

Featured
Python