mysql-mcp-server

yukihito-jokyu/mysql-mcp-server

3.1

If you are the rightful owner of mysql-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.

The MySQL MCP Server is a specialized server designed to facilitate communication and data exchange using the Model Context Protocol (MCP) with MySQL databases.

MySQL MCP Server

A Model Context Protocol (MCP) server for MySQL databases that provides read-only access to database schema information and sample data.

Background

While existing MySQL MCP servers (such as designcomputer/mysql_mcp_server) allow LLMs to generate and execute arbitrary SQL queries—including INSERT, UPDATE, and DELETE operations—this approach poses risks when working on backend implementations.

This MCP server takes a different, safer approach:

  • Read-only operations: Retrieves table lists, schema information, and sample data
  • No write operations: Cannot modify, add, or delete data
  • 🎯 Backend development focused: Provides exactly what's needed for backend implementation without the risk of data corruption

When developing backend applications, you typically only need to understand the database structure. This server provides:

  1. Table List: Get all tables in the database
  2. Schema Information: Retrieve detailed schema for specific tables
  3. Sample Data: Fetch the first 5 rows from any table for validation

Features

  • 🔒 Safe by design: Read-only operations prevent accidental data modification
  • 🚀 Simple setup: Easy configuration via CLI arguments
  • 📊 Three essential tools:
    • list_tables: Get a list of all tables in the database
    • get_table_schema: Retrieve schema information for a specific table
    • get_table_data: Fetch up to 5 sample rows from a table

Installation

npm install @yukihito/mysql-mcp-server

or

pnpm add @yukihito/mysql-mcp-server

Usage

As an MCP Server

Configure your MCP client (e.g., Claude Desktop, Cline) to use this server:

{
  "mcpServers": {
    "mysql-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "@yukihito/mysql-mcp-server@latest",
        "--host", "localhost",
        "--port", "3306",
        "--name", "your_username",
        "--password", "your_password",
        "--database", "your_database"
      ]
    }
  }
}

CLI Options

OptionDescriptionDefault
--hostMySQL hostlocalhost
--portMySQL port8080
--nameDatabase usernameadmin
--passwordDatabase passwordroot
--databaseDatabase namedatabase

Example Configuration for Claude Desktop

Edit your Claude Desktop configuration file:

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

Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "mysql-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "@yukihito/mysql-mcp-server@latest",
        "--host", "localhost",
        "--port", "3306",
        "--name", "myuser",
        "--password", "mypassword",
        "--database", "mydb"
      ]
    }
  }
}

Available Tools

1. list_tables

Retrieves a list of all tables in the connected database.

Input: None

Output: JSON array of table names

Example:

["users", "products", "orders", "categories"]

2. get_table_schema

Gets detailed schema information for a specific table.

Input:

  • tableName (string): Name of the table

Output: JSON array containing column information (name, type, nullable, key, default, extra)

Example:

[
  {
    "Field": "id",
    "Type": "int",
    "Null": "NO",
    "Key": "PRI",
    "Default": null,
    "Extra": "auto_increment"
  },
  {
    "Field": "name",
    "Type": "varchar(255)",
    "Null": "NO",
    "Key": "",
    "Default": null,
    "Extra": ""
  }
]

3. get_table_data

Retrieves up to 5 rows from a specific table for validation purposes.

Input:

  • tableName (string): Name of the table

Output: JSON array of row objects (limited to 5 rows)

Example:

[
  {"id": 1, "name": "John Doe", "email": "john@example.com"},
  {"id": 2, "name": "Jane Smith", "email": "jane@example.com"}
]

Development

For development environment setup and contribution guidelines, see .

License

MIT

Author

Yukihito

Related Projects