Skip to main content
Glama

DynamoDB Read-Only MCP

by jjikky

DynamoDB MCP только для чтения

Сервер, который использует Model Context Protocol (MCP) для запроса баз данных AWS DynamoDB. Этот сервер позволяет LLM, таким как Клод, запрашивать данные DynamoDB с помощью запросов на естественном языке.

Функции

Этот сервер MCP предоставляет следующие возможности:

  • Инструменты управления таблицами :
    • list-tables : Просмотр списка всех таблиц DynamoDB
    • describe-table : Просмотр подробной информации о конкретной таблице
  • Инструменты запроса данных :
    • scan-table : Сканирование всех или части данных таблицы
    • query-table : Поиск данных, соответствующих определенным условиям в таблице
    • paginate-query-table : Извлечение данных с нескольких страниц, соответствующих определенным условиям
    • get-item : Получить элемент с определенным ключом
    • count-items : Подсчитать количество элементов в таблице
  • Ресурсы :
    • dynamodb-tables-info : Ресурс, предоставляющий метаданные для всех таблиц
    • dynamodb-table-schema : Ресурс, предоставляющий информацию о схеме для определенной таблицы.
  • Подсказки :
    • dynamodb-query-help : Справочная подсказка по написанию запросов DynamoDB

Установка и исполнение

Вы можете запустить его без установки, используя метод Run with NPX ниже.

Установка через Smithery

Чтобы автоматически установить DynamoDB Read-Only Server для Claude Desktop через Smithery :

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

Установка

  1. Клонируйте репозиторий:
    git clone https://github.com/jjikky/dynamo-readonly-mcp.git cd dynamo-readonly-mcp
  2. Установите необходимые пакеты:
    npm install
  3. Создайте файл .env и настройте свои учетные данные AWS:
    AWS_ACCESS_KEY_ID=your_access_key AWS_SECRET_ACCESS_KEY=your_secret_key AWS_REGION=your_region

Построить и запустить

npm run build npm start

Подключиться к Claude Desktop

Чтобы использовать этот MCP-сервер с Claude Desktop, вам необходимо изменить файл конфигурации Claude Desktop.

  1. Откройте файл конфигурации Claude Desktop:
    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
  2. Добавьте конфигурацию сервера следующим образом:
    { "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. Перезагрузите Claude Desktop.

Запуск с NPX

Вы также можете запустить этот сервер с помощью npx без глобальной установки:

{ "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" } } } }

Примеры использования

Вы можете задать Клоду такие вопросы:

  1. «Можете ли вы сказать мне, какие таблицы есть в DynamoDB?»
  2. «Объясните структуру таблицы «Пользователи»»
  3. «Найдите количество пользователей в таблице «Пользователи», где groupId равен «0lxp4paxk7»»

Архитектура

Данный сервер MCP состоит из следующей многоуровневой структуры:

  1. Клиентский интерфейс (Claude Desktop) — взаимодействие между пользователем и LLM
  2. Уровень протокола MCP — обеспечивает стандартизированный метод обмена сообщениями.
  3. Сервер DynamoDB — реализует функции, взаимодействующие с DynamoDB.
  4. AWS SDK — взаимодействует с сервисом AWS DynamoDB

Ключевые механизмы работы

1. Инициализация и подключение

При запуске сервера происходит следующий процесс:

async function main() { const transport = new StdioServerTransport(); await server.connect(transport); console.error('DynamoDB read-only MCP server is running...'); }
  • StdioServerTransport устанавливает канал связи через стандартный ввод/вывод.
  • server.connect(transport) подключается к Claude Desktop через протокол MCP.
  • Во время подключения сервер отправляет клиенту информацию о поддерживаемых инструментах, ресурсах и подсказках.

2. Обработка запроса на инструмент

Когда пользователь спрашивает Клода что-то вроде «Покажи мне список таблиц DynamoDB»:

  1. Клод анализирует этот запрос и вызывает инструмент list-tables .
  2. Этот запрос отправляется на сервер по протоколу MCP.
  3. Сервер выполняет соответствующий обработчик инструмента:
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. Результат возвращается Клоду через протокол MCP.
  2. Клод переводит этот результат в естественный язык и представляет его пользователю.

3. Обработка специальных параметров

Когда пользователь запрашивает «Расскажите мне структуру таблицы «Пользователи»»:

  1. Клод определяет, что в этом запросе следует использовать инструмент describe-table .
  2. Клод настраивает параметр как { tableName: "Users" } .
  3. Эта информация отправляется на сервер MCP:
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 } );

Здесь z.string() использует библиотеку Zod для проверки параметров.

4. Обработка ресурсов

Ресурсы — еще одна функция MCP, предоставляющая данные только для чтения:

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', }, ], }; });

Клод получает доступ к ресурсам и использует их в качестве контекстной информации.

5. Быстрое обслуживание

Сервер MCP может предоставлять шаблоны подсказок для определенных задач:

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 }, }, ], }; } );

Этот запрос используется, когда пользователь запрашивает «Покажите мне, как писать запросы для таблицы «Пользователи»».

Сводка потока данных

  1. Пользователь делает запрос Клоду на естественном языке
  2. Клод анализирует запрос и выбирает соответствующий инструмент/ресурс/подсказку MCP
  3. Клиент MCP отправляет запрос на сервер в стандартизированном формате.
  4. Сервер обрабатывает запрос и вызывает API AWS DynamoDB
  5. DynamoDB возвращает результаты
  6. Сервер преобразует результаты в формат MCP и отправляет их клиенту
  7. Клод переводит результаты в естественный язык и представляет их пользователю.

Лицензия

Данный проект лицензирован по лицензии MIT — подробности см. в файле LICENSE.

You must be authenticated.

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.

Сервер, который позволяет специалистам LLM, таким как Клод, запрашивать базы данных AWS DynamoDB с помощью запросов на естественном языке, поддерживая управление таблицами, запросы данных и анализ схем.

  1. Функции
    1. Установка и исполнение
      1. Установка через Smithery
      2. Установка
      3. Построить и запустить
    2. Подключиться к Claude Desktop
      1. Запуск с NPX
        1. Примеры использования
          1. Архитектура
            1. Ключевые механизмы работы
              1. Инициализация и подключение
              2. Обработка запроса на инструмент
              3. Обработка специальных параметров
              4. Обработка ресурсов
              5. Быстрое обслуживание
            2. Сводка потока данных
              1. Лицензия

                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