Skip to main content
Glama
daedalus

mcp-mysql-connector

by daedalus

mcp-mysql-connector

MCP-Server, der MySQL-Datenbankfunktionen als Werkzeuge für LLM-Agenten bereitstellt.

mcp-name: io.github.daedalus/mcp-mysql-connector

PyPI Python Coverage Ruff

Überblick

mcp-mysql-connector ist ein Model Context Protocol (MCP)-Server, der MySQL-Datenbankoperationen als Werkzeuge für LLM-Agenten bereitstellt. Er ermöglicht KI-Assistenten, über ein standardisiertes Protokoll mit MySQL-Datenbanken zu interagieren. Unterstützte Funktionen:

  • Datenbank- und Tabellenverwaltung

  • Abfrageausführung

  • Benutzerauthentifizierung und Berechtigungsverwaltung

  • Schema-Introspektion

  • Transaktionssteuerung

Related MCP server: MCP Server MySQL

Installation

pip install mcp-mysql-connector

Schnellstart

Den Server starten

# Run with stdio transport (default)
mcp-mysql-connector

# Or run programmatically
python -c "from mcp_mysql import mcp; mcp.run()"

Konfiguration

Stellen Sie mit dem Tool connect eine Verbindung zu MySQL her:

{
  "host": "localhost",
  "port": 3306,
  "user": "root",
  "password": "your_password",
  "database": "your_database"
}

MCP-Werkzeuge

Verbindungsverwaltung

Werkzeug

Beschreibung

connect

Stellt eine Verbindung zu einer MySQL-Datenbank her

disconnect

Trennt die Verbindung zu MySQL

is_connected

Prüft den Verbindungsstatus

commit

Führt ein Commit der aktuellen Transaktion aus

rollback

Führt ein Rollback der aktuellen Transaktion aus

Abfrageausführung

Werkzeug

Beschreibung

execute_query

Führt eine SQL-Rohabfrage aus und gibt die Ergebnisse zurück

Datenbankoperationen

Werkzeug

Beschreibung

list_databases

Listet alle Datenbanken auf dem Server auf

create_database

Erstellt eine neue Datenbank

drop_database

Löscht eine Datenbank

database_exists

Prüft, ob eine Datenbank existiert

Tabellenoperationen

Werkzeug

Beschreibung

list_tables

Listet Tabellen in einer Datenbank auf

describe_table

Ruft das Tabellenschema ab

create_table

Erstellt eine neue Tabelle

drop_table

Löscht eine Tabelle

table_exists

Prüft, ob eine Tabelle existiert

Spalten- und Indexoperationen

Werkzeug

Beschreibung

show_columns

Zeigt Spaltendetails an

show_indexes

Zeigt Indexdetails an

create_index

Erstellt einen Index

drop_index

Löscht einen Index

Benutzerverwaltung

Werkzeug

Beschreibung

create_user

Erstellt einen MySQL-Benutzer

drop_user

Löscht einen MySQL-Benutzer

grant_privileges

Erteilt einem Benutzer Berechtigungen

revoke_privileges

Entzieht einem Benutzer Berechtigungen

show_privileges

Zeigt die Berechtigungen eines Benutzers an

Serverinformationen

Werkzeug

Beschreibung

server_status

Ruft den Status des MySQL-Servers ab

MCP-Ressourcen

Der Server stellt dynamische Ressourcen für Datenbank- und Tabellenmetadaten bereit:

  • database://{name} - Datenbankmetadaten inklusive Tabellenliste

  • table://{db}/{table} - Tabellenmetadaten inklusive Schema, Spalten und Indizes

Anwendungsbeispiele

Verbinden und abfragen

# First, connect to database
connect(host="localhost", user="root", password="secret", database="mydb")

# Execute a query
execute_query(sql="SELECT * FROM users WHERE active = true")

# List all tables
list_tables(database="mydb")

Datenbank und Tabelle erstellen

# Create a database
create_database(name="newapp")

# Create a table
create_table(name="users", schema="id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(255), email VARCHAR(255) UNIQUE")

Benutzerverwaltung

# Create a new user with password
create_user(username="app_user", host="localhost", password="secure_password")

# Grant privileges
grant_privileges(privileges="SELECT,INSERT,UPDATE,DELETE", on="newapp.*", username="app_user", host="localhost")

Transaktionssteuerung

# Start transaction
execute_query(sql="BEGIN")

# Execute operations
execute_query(sql="INSERT INTO accounts (balance) VALUES (100)")

# Commit or rollback
commit()  # or rollback()

Umgebungsvariablen

Der Server unterstützt die Konfiguration über folgende Umgebungsvariablen:

export MYSQL_HOST=localhost
export MYSQL_PORT=3306
export MYSQL_USER=root
export MYSQL_PASSWORD=secret
export MYSQL_DATABASE=mydb

Entwicklung

# Clone repository
git clone https://github.com/daedalus/mcp-mysql-connector.git
cd mcp-mysql-connector

# Create virtual environment
python -m venv venv
source venv/bin/activate

# Install dependencies
pip install -e ".[test]"

# Run tests
pytest

# Format code
ruff format src/ tests/

# Lint
ruff check src/ tests/

# Type check
mypy src/

Architektur

mcp-mysql-connector/
├── src/mcp_mysql/
│   ├── core/models.py       # Data models (QueryResult, TableSchema, etc.)
│   ├── adapters/mysql.py    # MySQL connection & pooling
│   ├── services/connection.py  # Connection manager
│   ├── tools/mysql_tools.py   # MCP tool implementations
│   └── mcp.py              # FastMCP server setup
└── tests/                   # Test suite

Voraussetzungen

  • Python 3.11+

  • fastmcp >= 2.0.0

  • pymysql >= 1.1.0

  • sqlparse >= 0.4.0

Lizenz

MIT-Lizenz - siehe LICENSE für Details.

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    Enables AI models to perform MySQL database operations through a standardized interface, supporting secure connections, query execution, and comprehensive schema management.
    7
    218 npm
    33
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Enables LLMs to interact with MySQL databases through standardized protocol, supporting database management, table operations, data queries, and modifications with configurable permission controls.
    15
    39 npm
    1
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables AI agents to safely interact with MySQL/MariaDB databases, supporting read-only queries by default with optional write operations and access control.
    8
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to interact with a MySQL database using natural language, automating SQL tasks like querying, inserting, updating, and deleting data.
    1
    -