mcp-registry/mysql_mcp_server

    ==================
      
       /// MCP ///
      /// MYS ///
        
    ==================
        
    [server:online]
    [protocol:ready]

mysql_mcp_server

by designcomputer

Python implementation of a Model Context Protocol (MCP) server that safely exposes MySQL databases to AI clients.

698
162
Open Source

01

List available MySQL tables as resources

Return a list of MySQL tables that can be accessed through the server

02

Read table contents

Retrieve and return the rows of a specified MySQL table

03

Execute SQL queries with proper error handling

Run arbitrary SQL statements against the connected MySQL database while handling errors safely

04

Secure database access through environment variables

Manage database connection credentials via environment variables for secure access

05

Comprehensive logging

Generate detailed logs for all database operations and server activities

Installation

1. Clone the repository
git clone https://github.com/designcomputer/mysql_mcp_server.git cd mysql_mcp_server
2. Create and activate a virtual environment (recommended)
python -m venv .venv source .venv/bin/activate # Windows: .venv\Scripts\activate
3. Install Python dependencies
pip install --upgrade pip pip install -r requirements.txt # or, when a Poetry lockfile is present poetry install --no-root
4. Configure connection credentials (environment variables)
export MCP_SERVER_HOST=0.0.0.0 export MCP_SERVER_PORT=8000 export MYSQL_HOST=localhost export MYSQL_PORT=3306 export MYSQL_USER=myuser export MYSQL_PASSWORD=mypass export MYSQL_DATABASE=mydb # Optional security key for MCP tokens export MCP_SECRET_KEY=change-me Alternatively, create a .env file with the same keys.
5. (Optional) Spin up MySQL locally via Docker
docker run -d --name mcp-mysql -e MYSQL_ROOT_PASSWORD=mypass -e MYSQL_DATABASE=mydb -p 3306:3306 mysql:8
6. Run database migrations (if supplied)
alembic upgrade head # or invoke provided scripts in ./migrations
7. Start the MCP server
uvicorn mcp_server.app:app --host $MCP_SERVER_HOST --port $MCP_SERVER_PORT --reload
8. Verify it’s alive
-----------------------
curl http://localhost:8000/health Docker-Compose shortcut docker compose up -d # brings up both the server and MySQL The service will now listen (default) on http://localhost:8000.

Documentation

License: MIT License
Updated 7/15/2025