mcpField
M
MySQL MCP Server for Smithery (Python)

MySQL MCP Server for Smithery (Python)

Local
github.com/aqaranewbizDatabases0Updated 79w ago

About 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

  1. 01Connect to MySQL databases
  2. 02List databases and tables
  3. 03Inspect table schemas
  4. 04Run read-only SQL queries
  5. 05Validate and reject write operations

Use cases

  1. 01Browse accessible databases and tables
  2. 02Inspect a table's column structure
  3. 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.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

MySQL 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

  1. Clone this repository:
git clone https://github.com/aqaralife/mysql-mcp-python-server.git
  1. Install dependencies:
cd mysql-mcp-python-server
npm install
pip install -r requirements.txt
  1. 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:

  1. Python Not Found: The server will automatically detect python3 or python. If neither works, ensure Python is installed and in your PATH.

  2. Missing Modules: The server will attempt to install required packages automatically. If this fails, manually run:

    pip install mysql-connector-python>=8.0.0
    
  3. Connection Issues: Verify your database credentials and ensure the MySQL server is running and accessible.

  4. Smithery Connection Issues: Make sure the settings in Smithery are correctly configured with your database credentials.

  5. 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

Markdown supported

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.