MySQL MCP Server for Smithery (Python)
LocalAbout MySQL MCP Server for Smithery (Python)
A Python-based MySQL connector for Smithery, for users who need to inspect database structures and run queries through MCP. It limits SQL to read-only operations and rejects multi-statement queries.
Key features
- 01Connect to MySQL databases
- 02List databases and tables
- 03Inspect table schemas
- 04Run read-only SQL queries
- 05Validate and reject write operations
Use cases
- 01Browse accessible databases and tables
- 02Inspect a table's column structure
- 03Run SELECT or EXPLAIN queries
MCP support
The MCP server provides clients with tools for connecting to MySQL, listing databases and tables, inspecting schemas, and running read-only queries.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEMySQL MCP Server for Smithery (Python)
A MySQL connector for Smithery that allows you to connect to your MySQL database directly from Smithery, built with Python.
Features
- Connect to MySQL Databases: Configure and connect to MySQL databases
- List Databases: View all accessible databases
- List Tables: View all tables in a specified database
- Describe Tables: Get detailed schema information for tables
- Execute Queries: Run read-only SQL queries (SELECT, SHOW, DESCRIBE, EXPLAIN)
- Security: Built-in query validation ensures only read-only operations are allowed
Installation in Smithery
After adding the MCP server in Smithery, you'll be able to enter your MySQL database credentials:
- Host: Database server hostname (default: localhost)
- Port: Database server port (default: 3306)
- User: Your MySQL username
- Password: Your MySQL password
- Database: (Optional) The specific database to connect to
Manual Installation
- Clone this repository:
git clone https://github.com/aqaralife/mysql-mcp-python-server.git
- Install dependencies:
cd mysql-mcp-python-server
npm install
pip install -r requirements.txt
- Make the scripts executable (Unix/Linux/Mac):
chmod +x mcp_server.py run.js
Manual Usage
To start the server:
node run.js
Or, directly run the Python script:
python mcp_server.py
Available Tools
connect_db
Establishes a connection to a MySQL database.
Parameters:
- host: Database server hostname
- port: Database server port
- user: Database username
- password: Database password
- database: (Optional) Database name
list_databases
Lists all accessible databases.
Parameters: None
list_tables
Lists all tables in a database.
Parameters:
- database: (Optional) Database name, uses default if connected
describe_table
Shows the schema for a table.
Parameters:
- table: Table name
- database: (Optional) Database name, uses default if connected
execute_query
Executes a read-only SQL query.
Parameters:
- query: SQL query (only SELECT, SHOW, DESCRIBE, and EXPLAIN allowed)
- database: (Optional) Database name, uses default if connected
Security
The server includes built-in validation to ensure only read-only operations are permitted:
- Only SELECT, SHOW, DESCRIBE, and EXPLAIN queries are allowed
- Queries containing SQL commands like INSERT, UPDATE, DELETE, DROP, etc. are automatically rejected
- Multiple statements in a single query (separated by semicolons) are not allowed
Troubleshooting
If you encounter issues:
-
Python Not Found: The server will automatically detect
python3orpython. If neither works, ensure Python is installed and in your PATH. -
Missing Modules: The server will attempt to install required packages automatically. If this fails, manually run:
pip install mysql-connector-python>=8.0.0 -
Connection Issues: Verify your database credentials and ensure the MySQL server is running and accessible.
-
Smithery Connection Issues: Make sure the settings in Smithery are correctly configured with your database credentials.
-
Server Unresponsive: Check the log output in Smithery's console for errors.
License
MIT
Contact
If you have any questions, please create an issue.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.