Skip to main content
Glama
YaangHailong

Local MySQL Read-only MCP Server

by YaangHailong

Local MySQL Read-only MCP Server

This project provides a small stdio MCP server for reading local MySQL data. It is designed to run with:

D:\anaconda\envs\torch\python.exe

The server implements a minimal MCP JSON-RPC stdio layer directly because the official Python MCP SDK requires a newer Python than the current torch environment.

Install Dependency

Recommended:

conda install -n torch -c conda-forge pymysql

Fallback:

D:\anaconda\envs\torch\python.exe -m pip install PyMySQL -i https://pypi.tuna.tsinghua.edu.cn/simple

If both commands fail because of local SSL or proxy settings, install PyMySQL manually into the torch conda environment and then run the tests below.

Related MCP server: MySQL MCP Server

Configure MySQL

Copy the example file and fill in local credentials:

Copy-Item mysql_mcp_config.example.json mysql_mcp_config.json

mysql_mcp_config.json is ignored by git. You can also point to another config file with:

$env:MYSQL_MCP_CONFIG = "D:\path\to\mysql_mcp_config.json"

Use a MySQL user with read-only permissions whenever possible. The MCP server only exposes read tools, but database permissions should still enforce the same rule.

MCP Client Configuration

Example stdio configuration:

{
  "mcpServers": {
    "local-mysql-readonly": {
      "command": "D:\\anaconda\\envs\\torch\\python.exe",
      "args": ["D:\\桌面\\aienglish\\server.py"],
      "env": {
        "MYSQL_MCP_CONFIG": "D:\\桌面\\aienglish\\mysql_mcp_config.json"
      }
    }
  }
}

Tools

  • list_databases: list visible databases, excluding system schemas by default.

  • list_tables: list tables and views in one database.

  • describe_table: return column and index metadata.

  • read_rows: read rows using structured filters, ordering, limit, and offset.

read_rows does not accept raw SQL. Database, table, and column names are validated against MySQL metadata, and values are sent as query parameters.

Allowed filter operators:

=, !=, <, <=, >, >=, LIKE, IN, IS NULL, IS NOT NULL

Test

D:\anaconda\envs\torch\python.exe -m unittest

After mysql_mcp_config.json is configured and PyMySQL is installed, validate manually with your MCP client by calling:

  1. list_databases

  2. list_tables

  3. describe_table

  4. read_rows with limit set to 5

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables MySQL database operations through MCP, including executing SQL queries, listing databases and tables, and describing table structures.
    317 npm
    5
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables safe querying and optional writing to MySQL databases via MCP tools, with support for schema inspection, connection management, and read-only mode.
    16 npm
    3
    MIT
  • F
    license
    A
    quality
    D
    maintenance
    Provides read-only access to a local MySQL database, enabling SQL queries, database and table listings, and table schema descriptions.
    4
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides read-only access to MySQL databases, enabling schema exploration, table inspection, and safe SELECT query execution via MCP.
    1
    -