Skip to main content

MCP server for querying MySQL databases — let AI agents explore schemas, run queries, and manage data via Model Context Protocol.

Project description

MCP MySQL Server

A Model Context Protocol (MCP) server that connects AI agents (Cursor, Claude Desktop, etc.) to MySQL databases — enabling schema exploration, data querying, and SQL execution through natural language.

Features

Tool Description
list_tables List all tables in the database
describe_table View table schema with column types and comments
query Execute read-only queries (SELECT / SHOW / DESCRIBE / EXPLAIN)
execute_sql Execute write operations (INSERT / UPDATE / DELETE / DDL)
get_table_indexes Show all indexes of a table
get_create_table Get the CREATE TABLE statement
get_database_info Get database overview (version, size, table count)

Installation

pip install mcp-mysql-explorer

Usage in Cursor

Open Cursor Settings → MCP, add a new server. Three ways to configure the database connection:

Option 1: Command-line arguments (recommended)

{
  "mcpServers": {
    "mysql": {
      "command": "mcp-mysql-server",
      "args": [
        "--host", "your-mysql-host",
        "--port", "3306",
        "--user", "your-user",
        "--password", "your-password",
        "--database", "your-database"
      ]
    }
  }
}

Option 2: Environment variables

{
  "mcpServers": {
    "mysql": {
      "command": "mcp-mysql-server",
      "env": {
        "MYSQL_HOST": "your-mysql-host",
        "MYSQL_PORT": "3306",
        "MYSQL_USER": "your-user",
        "MYSQL_PASSWORD": "your-password",
        "MYSQL_DATABASE": "your-database"
      }
    }
  }
}

Option 3: .env file

Create a .env file in the working directory:

MYSQL_HOST=your-mysql-host
MYSQL_PORT=3306
MYSQL_USER=your-user
MYSQL_PASSWORD=your-password
MYSQL_DATABASE=your-database

Then simply:

{
  "mcpServers": {
    "mysql": {
      "command": "mcp-mysql-server"
    }
  }
}

Priority: command-line args > environment variables > .env file

Usage in Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "mysql": {
      "command": "mcp-mysql-server",
      "args": [
        "--host", "your-mysql-host",
        "--user", "your-user",
        "--password", "your-password",
        "--database", "your-database"
      ]
    }
  }
}

Run Manually

# With command-line arguments
mcp-mysql-server --host localhost --user root --password secret --database mydb

# With .env file
mcp-mysql-server

# As a Python module
python -m mcp_mysql_explorer --host localhost --database mydb

Security Notes

  • The query tool only allows SELECT / SHOW / DESCRIBE / EXPLAIN statements.
  • The execute_sql tool can run write operations — use with caution.
  • Query results are capped at 1000 rows by default.
  • Table/column identifiers are backtick-wrapped to prevent SQL injection.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcp_mysql_explorer-0.1.1.tar.gz (6.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcp_mysql_explorer-0.1.1-py3-none-any.whl (6.4 kB view details)

Uploaded Python 3

File details

Details for the file mcp_mysql_explorer-0.1.1.tar.gz.

File metadata

  • Download URL: mcp_mysql_explorer-0.1.1.tar.gz
  • Upload date:
  • Size: 6.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for mcp_mysql_explorer-0.1.1.tar.gz
Algorithm Hash digest
SHA256 c631bace753187005602f1dc36879497503d3362892c598b5ce0a5b79df6fed8
MD5 a40aec5a34f15b4b5e3a34296cdf350a
BLAKE2b-256 e0c91649d8f45c107006fb00190726c684edaa8f73d1c208f0fbbfe7e971481a

See more details on using hashes here.

File details

Details for the file mcp_mysql_explorer-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for mcp_mysql_explorer-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 098cd04318a2e96add79703bf4385ada7045bf0f589e6ff27d3f93e58c9786b0
MD5 18d73440a406f8389c0518d4be2eef54
BLAKE2b-256 a07102e31f4168a597e7e12dd461fad8c0322dc5f3083fbce81beea073c855d1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page