easy-mysql-mcp
easy-mysql-mcp
Ein leichtgewichtiger Model Context Protocol (MCP)-Server, der es KI-Assistenten ermöglicht, eine MySQL-Datenbank über eine sichere, strukturierte Tool-Schnittstelle zu untersuchen und abzufragen.
Dieses Projekt verwendet Node.js, TypeScript, das offizielle MCP SDK und mysql2/promise. Es läuft über stdio und kann daher direkt von MCP-Clients wie Claude Desktop verwendet werden.
Funktionen
MySQL-Verbindungspooling basierend auf
mysql2/promiseSchreibgeschütztes Abfrage-Tool für den Datenabruf
Ausführungs-Tool für Datenänderungsanweisungen
Schema-Erkennungs-Tools für Tabellen, Views, Indizes und Trigger
Abfrageplan-Inspektion mit
EXPLAINÜberprüfung des aktuellen Benutzers und der Berechtigungen
stdout-Schutz, um zu verhindern, dass Nicht-MCP-Protokolle das stdio-Protokoll verunreinigen
Anforderungen
Node.js 18 oder neuer
npm
Eine erreichbare MySQL-kompatible Datenbank
Installation
Starten Sie den Server direkt mit npx:
npx -y easy-mysql-mcpFür die lokale Entwicklung nach dem Klonen des Repositorys:
cd easy-mysql-mcp
npm install
npm run buildKonfiguration
Konfigurieren Sie den Server mit Umgebungsvariablen. Sie können diese über Ihre MCP-Client-Konfiguration oder durch Erstellen einer lokalen .env-Datei bereitstellen.
Variable | Erforderlich | Standard | Beschreibung |
| Ja | - | MySQL-Hostname oder IP-Adresse |
| Nein |
| MySQL-Port |
| Ja | - | MySQL-Benutzername |
| Ja | - | MySQL-Passwort |
| Ja | - | Standard-Datenbank/Schema |
| Nein |
| Maximale Anzahl aktiver Pool-Verbindungen |
| Nein |
| Maximale Anzahl inaktiver Pool-Verbindungen |
| Nein |
| Timeout für inaktive Verbindungen in Millisekunden |
| Nein |
| Maximale Anzahl an Verbindungsanfragen in der Warteschlange, wobei |
| Nein |
| Ob der Pool wartet, wenn alle Verbindungen belegt sind |
| Nein |
| Ob TCP-Keep-Alive aktiviert ist |
| Nein |
| Anfängliche TCP-Keep-Alive-Verzögerung in Millisekunden |
Beispiel .env:
MYSQL_HOST=localhost
MYSQL_PORT=3306
MYSQL_USER=root
MYSQL_PASSWORD=your_password
MYSQL_DATABASE=your_databaseVerwendung
Konfigurieren Sie Ihren MCP-Client so, dass das Paket über npx gestartet wird.
Für die lokale Entwicklung erstellen Sie zuerst den TypeScript-Quellcode:
npm run buildStarten Sie den MCP-Server:
npm startDer Server kommuniziert über stdio und wird normalerweise von einem MCP-Client gestartet, anstatt manuell ausgeführt zu werden.
Claude Desktop Beispiel
Fügen Sie den Server zu Ihrer claude_desktop_config.json hinzu:
{
"mcpServers": {
"easy-mysql-mcp": {
"command": "npx",
"args": ["-y", "easy-mysql-mcp"],
"env": {
"MYSQL_HOST": "localhost",
"MYSQL_PORT": "3306",
"MYSQL_USER": "root",
"MYSQL_PASSWORD": "your_password",
"MYSQL_DATABASE": "your_database"
}
}
}
}Starten Sie Claude Desktop nach dem Aktualisieren der Konfiguration neu.
Verfügbare Tools
Tool | Beschreibung |
| Führt eine SQL-Abfrage zum Datenabruf aus, wie z. B. |
| Führt eine Datenänderungsanweisung aus, wie z. B. |
| Führt |
| Listet Basistabellen in der aktuellen Datenbank auf, einschließlich ungefährer Zeilenanzahl und Kommentare |
| Listet Views in der aktuellen Datenbank auf |
| Zeigt Spalteninformationen für eine oder mehrere Tabellen an |
| Zeigt Indizes für eine Tabelle an |
| Listet Trigger in der aktuellen Datenbank auf |
| Zeigt den aktuellen MySQL-Benutzer und dessen Berechtigungen an |
Sicherheitshinweise
Verwenden Sie einen dedizierten MySQL-Benutzer mit den minimalen Berechtigungen, die Ihr Assistent benötigt.
Bevorzugen Sie schreibgeschützte Datenbankanmeldeinformationen, wenn Sie nur Inspektionen und Berichte benötigen.
Seien Sie vorsichtig mit
mysql_execute, da dies Daten ändern kann.Committen Sie keine
.env-Dateien oder echte Datenbankanmeldeinformationen auf GitHub.Überprüfen Sie generiertes SQL, bevor Sie es auf Produktionsdaten ausführen.
Entwicklung
npm run devDies führt TypeScript im Watch-Modus aus.
Um einen Produktions-Build zu erstellen:
npm run buildProjektstruktur
src/
db.ts MySQL pool and query helpers
index.ts MCP server and tool registration
proxy.ts stdout protection for stdio-based MCP transportLizenz
ISC
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/chenkumi/easy-mysql-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server