DynamoDB schreibgeschütztes MCP
Ein Server, der das Model Context Protocol (MCP) zur Abfrage von AWS DynamoDB-Datenbanken nutzt. Dieser Server ermöglicht LLMs wie Claude die Abfrage von DynamoDB-Daten über natürlichsprachliche Anfragen.
Merkmale
Dieser MCP-Server bietet die folgenden Funktionen:
Tools zur Tabellenverwaltung :
list-tables: Eine Liste aller DynamoDB-Tabellen anzeigendescribe-table: Detaillierte Informationen zu einer bestimmten Tabelle anzeigen
Datenabfragetools :
scan-table: Scannen Sie alle oder einen Teil der Daten einer Tabellequery-table: Suche nach Daten, die bestimmten Bedingungen in einer Tabelle entsprechenpaginate-query-table: Daten über mehrere Seiten abrufen, die bestimmten Bedingungen entsprechenget-item: Ruft ein Element mit einem bestimmten Schlüssel abcount-items: Berechnen Sie die Anzahl der Elemente in einer Tabelle
Ressourcen :
dynamodb-tables-info: Eine Ressource, die Metadaten für alle Tabellen bereitstelltdynamodb-table-schema: Eine Ressource, die Schemainformationen für eine bestimmte Tabelle bereitstellt
Eingabeaufforderungen :
dynamodb-query-help: Eine Hilfeaufforderung zum Schreiben von DynamoDB-Abfragen
Related MCP server: dbt Semantic Layer MCP Server
Installation und Ausführung
Sie können es ohne Installation ausführen, indem Sie die unten stehende Methode Run with NPX verwenden.
Installation über Smithery
So installieren Sie den DynamoDB Read-Only Server für Claude Desktop automatisch über Smithery :
Installation
Klonen Sie das Repository:
git clone https://github.com/jjikky/dynamo-readonly-mcp.git cd dynamo-readonly-mcpInstallieren Sie die erforderlichen Pakete:
npm installErstellen Sie eine
.envDatei und richten Sie Ihre AWS-Anmeldeinformationen ein:AWS_ACCESS_KEY_ID=your_access_key AWS_SECRET_ACCESS_KEY=your_secret_key AWS_REGION=your_region
Erstellen und Ausführen
Verbinden Sie sich mit Claude Desktop
Um diesen MCP-Server mit Claude Desktop zu verwenden, müssen Sie die Claude Desktop-Konfigurationsdatei ändern.
Öffnen Sie die Claude Desktop-Konfigurationsdatei:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
Fügen Sie die Serverkonfiguration wie folgt hinzu:
{ "mcpServers": { "dynamodb-readonly": { "command": "node", "args": ["/absolute-path/dynamo-readonly-mcp/dist/index.js"], "env": { "AWS_ACCESS_KEY_ID": "your_access_key", "AWS_SECRET_ACCESS_KEY": "your_secret_key", "AWS_REGION": "your_region" } } } }Starten Sie Claude Desktop neu.
Ausführen mit NPX
Sie können diesen Server auch ohne globale Installation mit npx ausführen:
Anwendungsbeispiele
Sie können Claude Fragen stellen wie:
„Können Sie mir sagen, welche Tabellen in DynamoDB sind?“
„Erklären Sie die Struktur der Benutzertabelle“
„Suchen Sie in der Tabelle ‚Benutzer‘ die Anzahl der Benutzer, deren Gruppen-ID ‚0lxp4paxk7‘ ist.“
Architektur
Dieser MCP-Server besteht aus der folgenden Schichtenstruktur:
Client-Schnittstelle (Claude Desktop) - Interaktion zwischen Benutzer und LLM
MCP-Protokollschicht - Bietet eine standardisierte Methode zum Nachrichtenaustausch
DynamoDB-Server – Implementiert Funktionen, die mit DynamoDB interagieren
AWS SDK – Kommuniziert mit dem AWS DynamoDB-Dienst
Wichtige Betriebsmechanismen
1. Initialisierung und Verbindung
Wenn der Server startet, läuft der folgende Prozess ab:
StdioServerTransportrichtet einen Kommunikationskanal über die Standardeingabe/-ausgabe ein.server.connect(transport)stellt über das MCP-Protokoll eine Verbindung zu Claude Desktop her.Während der Verbindung sendet der Server Informationen zu unterstützten Tools, Ressourcen und Eingabeaufforderungen an den Client.
2. Bearbeitung von Werkzeuganfragen
Wenn ein Benutzer Claude etwas fragt wie „Zeigen Sie mir die Liste der DynamoDB-Tabellen“:
Claude analysiert diese Anfrage und ruft das
list-tables-Tool auf.Diese Anfrage wird über das MCP-Protokoll an den Server gesendet.
Der Server führt den entsprechenden Tool-Handler aus:
Das Ergebnis wird über das MCP-Protokoll an Claude zurückgegeben.
Claude verarbeitet dieses Ergebnis in natürlicher Sprache und präsentiert es dem Benutzer.
3. Spezifische Parameterbehandlung
Wenn ein Benutzer anfordert: „Sagen Sie mir die Struktur der Benutzertabelle“:
Claude legt fest, dass für diese Anfrage das Tool
describe-tableverwendet werden soll.Claude konfiguriert den Parameter als
{ tableName: "Users" }.Diese Informationen werden an den MCP-Server gesendet:
Hier verwendet z.string() die Zod-Bibliothek zur Validierung von Parametern.
4. Ressourcenverwaltung
Ressourcen sind eine weitere MCP-Funktion, die schreibgeschützte Daten bereitstellt:
Claude greift auf Ressourcen zu und verwendet sie als Kontextinformationen.
5. Schnelle Bearbeitung
Der MCP-Server kann Eingabeaufforderungsvorlagen für bestimmte Aufgaben bereitstellen:
Diese Eingabeaufforderung wird verwendet, wenn ein Benutzer anfordert: „Zeigen Sie mir, wie ich Abfragen für die Benutzertabelle schreibe.“
Datenflusszusammenfassung
Der Benutzer stellt eine Anfrage an Claude in natürlicher Sprache
Claude analysiert die Anfrage und wählt das entsprechende MCP-Tool/die entsprechende Ressource/Eingabeaufforderung aus
Der MCP-Client sendet die Anfrage in einem standardisierten Format an den Server
Der Server verarbeitet die Anfrage und ruft die AWS DynamoDB-API auf
DynamoDB gibt Ergebnisse zurück
Der Server konvertiert die Ergebnisse in das MCP-Format und sendet sie an den Client
Claude verarbeitet die Ergebnisse in natürlicher Sprache und präsentiert sie dem Benutzer
Lizenz
Dieses Projekt ist unter der MIT-Lizenz lizenziert – Einzelheiten finden Sie in der Datei LICENSE.