Skip to main content
Glama

DynamoDB Read-Only MCP

by jjikky

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 anzeigen
    • describe-table : Detaillierte Informationen zu einer bestimmten Tabelle anzeigen
  • Datenabfragetools :
    • scan-table : Scannen Sie alle oder einen Teil der Daten einer Tabelle
    • query-table : Suche nach Daten, die bestimmten Bedingungen in einer Tabelle entsprechen
    • paginate-query-table : Daten über mehrere Seiten abrufen, die bestimmten Bedingungen entsprechen
    • get-item : Ruft ein Element mit einem bestimmten Schlüssel ab
    • count-items : Berechnen Sie die Anzahl der Elemente in einer Tabelle
  • Ressourcen :
    • dynamodb-tables-info : Eine Ressource, die Metadaten für alle Tabellen bereitstellt
    • dynamodb-table-schema : Eine Ressource, die Schemainformationen für eine bestimmte Tabelle bereitstellt
  • Eingabeaufforderungen :
    • dynamodb-query-help : Eine Hilfeaufforderung zum Schreiben von DynamoDB-Abfragen

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 :

npx -y @smithery/cli install @jjikky/dynamo-readonly-mcp --client claude

Installation

  1. Klonen Sie das Repository:
    git clone https://github.com/jjikky/dynamo-readonly-mcp.git cd dynamo-readonly-mcp
  2. Installieren Sie die erforderlichen Pakete:
    npm install
  3. Erstellen Sie eine .env Datei 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

npm run build npm start

Verbinden Sie sich mit Claude Desktop

Um diesen MCP-Server mit Claude Desktop zu verwenden, müssen Sie die Claude Desktop-Konfigurationsdatei ändern.

  1. Öffnen Sie die Claude Desktop-Konfigurationsdatei:
    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
  2. 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" } } } }
  3. Starten Sie Claude Desktop neu.

Ausführen mit NPX

Sie können diesen Server auch ohne globale Installation mit npx ausführen:

{ "mcpServers": { "dynamodb-readonly": { "command": "npx", "args": ["-y", "dynamo-readonly-mcp"], "env": { "AWS_ACCESS_KEY_ID": "your_access_key", "AWS_SECRET_ACCESS_KEY": "your_secret_key", "AWS_REGION": "your_region" } } } }

Anwendungsbeispiele

Sie können Claude Fragen stellen wie:

  1. „Können Sie mir sagen, welche Tabellen in DynamoDB sind?“
  2. „Erklären Sie die Struktur der Benutzertabelle“
  3. „Suchen Sie in der Tabelle ‚Benutzer‘ die Anzahl der Benutzer, deren Gruppen-ID ‚0lxp4paxk7‘ ist.“

Architektur

Dieser MCP-Server besteht aus der folgenden Schichtenstruktur:

  1. Client-Schnittstelle (Claude Desktop) - Interaktion zwischen Benutzer und LLM
  2. MCP-Protokollschicht - Bietet eine standardisierte Methode zum Nachrichtenaustausch
  3. DynamoDB-Server – Implementiert Funktionen, die mit DynamoDB interagieren
  4. AWS SDK – Kommuniziert mit dem AWS DynamoDB-Dienst

Wichtige Betriebsmechanismen

1. Initialisierung und Verbindung

Wenn der Server startet, läuft der folgende Prozess ab:

async function main() { const transport = new StdioServerTransport(); await server.connect(transport); console.error('DynamoDB read-only MCP server is running...'); }
  • StdioServerTransport richtet 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“:

  1. Claude analysiert diese Anfrage und ruft das list-tables -Tool auf.
  2. Diese Anfrage wird über das MCP-Protokoll an den Server gesendet.
  3. Der Server führt den entsprechenden Tool-Handler aus:
server.tool('list-tables', 'Gets a list of all DynamoDB tables', {}, async () => { try { const tables = await listTables(); return { content: [{ type: 'text', text: JSON.stringify(tables, null, 2) }], }; } catch (error) { return { isError: true, content: [{ type: 'text', text: `Error: ${error.message}` }] }; } });
  1. Das Ergebnis wird über das MCP-Protokoll an Claude zurückgegeben.
  2. 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“:

  1. Claude legt fest, dass für diese Anfrage das Tool describe-table verwendet werden soll.
  2. Claude konfiguriert den Parameter als { tableName: "Users" } .
  3. Diese Informationen werden an den MCP-Server gesendet:
server.tool( 'describe-table', 'Gets detailed information about a DynamoDB table', { tableName: z.string().describe('Name of the table to get detailed information for'), }, async ({ tableName }) => { // Query table information using the tableName parameter const tableInfo = await describeTable(tableName); // Return results } );

Hier verwendet z.string() die Zod-Bibliothek zur Validierung von Parametern.

4. Ressourcenverwaltung

Ressourcen sind eine weitere MCP-Funktion, die schreibgeschützte Daten bereitstellt:

server.resource('dynamodb-tables-info', 'DynamoDB table information', async () => { // Create and return resource data const tables = await listTables(); const tablesInfo = await Promise.all(/* Query table information */); return { contents: [ { uri: 'dynamodb://tables-info', text: JSON.stringify(tablesInfo, null, 2), mimeType: 'application/json', }, ], }; });

Claude greift auf Ressourcen zu und verwendet sie als Kontextinformationen.

5. Schnelle Bearbeitung

Der MCP-Server kann Eingabeaufforderungsvorlagen für bestimmte Aufgaben bereitstellen:

server.prompt( 'dynamodb-query-help', 'A prompt that helps write DynamoDB queries', { tableName: z.string().describe('Table name to query'), queryType: z.enum(['basic', 'advanced']).default('basic'), }, async ({ tableName, queryType }) => { // Generate prompt content return { messages: [ { role: 'user', content: { type: 'text', text: helpContent }, }, ], }; } );

Diese Eingabeaufforderung wird verwendet, wenn ein Benutzer anfordert: „Zeigen Sie mir, wie ich Abfragen für die Benutzertabelle schreibe.“

Datenflusszusammenfassung

  1. Der Benutzer stellt eine Anfrage an Claude in natürlicher Sprache
  2. Claude analysiert die Anfrage und wählt das entsprechende MCP-Tool/die entsprechende Ressource/Eingabeaufforderung aus
  3. Der MCP-Client sendet die Anfrage in einem standardisierten Format an den Server
  4. Der Server verarbeitet die Anfrage und ruft die AWS DynamoDB-API auf
  5. DynamoDB gibt Ergebnisse zurück
  6. Der Server konvertiert die Ergebnisse in das MCP-Format und sendet sie an den Client
  7. 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.

Install Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Ein Server, der es LLMs wie Claude ermöglicht, AWS DynamoDB-Datenbanken über Anfragen in natürlicher Sprache abzufragen und so Tabellenverwaltung, Datenabfragen und Schemaanalysen zu unterstützen.

  1. Merkmale
    1. Installation und Ausführung
      1. Installation über Smithery
      2. Installation
      3. Erstellen und Ausführen
    2. Verbinden Sie sich mit Claude Desktop
      1. Ausführen mit NPX
        1. Anwendungsbeispiele
          1. Architektur
            1. Wichtige Betriebsmechanismen
              1. 1. Initialisierung und Verbindung
              2. 2. Bearbeitung von Werkzeuganfragen
              3. 3. Spezifische Parameterbehandlung
              4. 4. Ressourcenverwaltung
              5. 5. Schnelle Bearbeitung
            2. Datenflusszusammenfassung
              1. Lizenz

                Related MCP Servers

                • A
                  security
                  A
                  license
                  A
                  quality
                  Enables management of DynamoDB resources through the Model Context Protocol, supporting table and index creation, capacity management, and data operations without delete functionality to prevent accidental data loss.
                  Last updated -
                  12
                  4
                  JavaScript
                  MIT License
                • -
                  security
                  F
                  license
                  -
                  quality
                  A protocol server that enables LLMs like Claude to interact with MongoDB databases, providing tools for schema exploration, aggregation queries, and data analysis through natural language in Cursor.
                  Last updated -
                  11
                  5
                  TypeScript
                  • Linux
                  • Apple
                • A
                  security
                  A
                  license
                  A
                  quality
                  A Model Context Protocol server implementation that enables Claude to perform AWS operations on S3 and DynamoDB services through natural language commands.
                  Last updated -
                  23
                  92
                  Python
                  MIT License
                  • Apple
                • -
                  security
                  A
                  license
                  -
                  quality
                  A server that enables LLMs like Claude to interact with Azure Cosmos DB databases through natural language queries, acting as a translator between AI assistants and database systems.
                  Last updated -
                  JavaScript
                  MIT License

                View all related MCP servers

                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/jjikky/dynamo-readonly-mcp'

                If you have feedback or need assistance with the MCP directory API, please join our Discord server