DynamoDB MCP サーバー
Amazon DynamoDB リソースを管理するためのモデルコンテキストプロトコルサーバー。このサーバーは、テーブル管理、キャパシティ管理、データ操作のためのツールを提供します。
著者
イマン・カミヤビ ( ikmyb@icloud.com )
特徴
テーブル管理
- カスタマイズ可能な設定で新しい DynamoDB テーブルを作成する
- 既存のテーブルを一覧表示する
- 詳細なテーブル情報を取得する
- テーブル設定を構成する
インデックス管理
- グローバルセカンダリインデックス(GSI)の作成と管理
- GSIの容量を更新
- ローカルセカンダリインデックス(LSI)を作成する
キャパシティ管理
- プロビジョニングされた読み取り/書き込み容量ユニットを更新する
- テーブルスループット設定を管理する
データ操作
- 表内の項目を挿入または置換する
- 主キーでアイテムを取得する
- 特定のアイテム属性を更新する
- 条件付きでテーブルをクエリする
- フィルターを使用してテーブルをスキャンする
注意: 誤ってデータが失われるのを防ぐため、削除操作はサポートされていません。
設定
- 依存関係をインストールします:
- AWS 認証情報を環境変数として設定します。
- サーバーを構築します。
- サーバーを起動します。
ツール
テーブル作成
指定された設定で新しい DynamoDB テーブルを作成します。
パラメータ:
tableName
: 作成するテーブルの名前partitionKey
: パーティションキーの名前partitionKeyType
: パーティションキーのタイプ (S=文字列、N=数値、B=バイナリ)sortKey
: (オプション) ソートキーの名前sortKeyType
: (オプション) ソートキーの種類readCapacity
: プロビジョニングされた読み取り容量単位writeCapacity
: プロビジョニングされた書き込み容量単位
例:
リストテーブル
アカウント内のすべての DynamoDB テーブルを一覧表示します。
パラメータ:
limit
: (オプション) 返されるテーブルの最大数exclusiveStartTableName
: (オプション) ページ区切りの開始テーブルの名前
例:
テーブルの説明
DynamoDB テーブルに関する詳細情報を取得します。
パラメータ:
tableName
: 記述するテーブルの名前
例:
作成_gsi
テーブルにグローバルセカンダリインデックスを作成します。
パラメータ:
tableName
: テーブルの名前indexName
: 新しいインデックスの名前partitionKey
: インデックスのパーティションキーpartitionKeyType
: パーティションキーの種類sortKey
: (オプション) インデックスのソートキーsortKeyType
: (オプション) ソートキーの種類projectionType
: 投影の種類 (ALL、KEYS_ONLY、INCLUDE)nonKeyAttributes
: (オプション) プロジェクトにキー以外の属性を追加するreadCapacity
: プロビジョニングされた読み取り容量単位writeCapacity
: プロビジョニングされた書き込み容量単位
例:
更新_gsi
グローバルセカンダリインデックスのプロビジョニングされた容量を更新します。
パラメータ:
tableName
: テーブルの名前indexName
: 更新するインデックスの名前readCapacity
: 新しい読み取り容量単位writeCapacity
: 新しい書き込み容量単位
例:
作成_lsi
テーブルにローカルセカンダリインデックスを作成します (テーブルの作成中に実行する必要があります)。
パラメータ:
tableName
: テーブルの名前indexName
: 新しいインデックスの名前partitionKey
: テーブルのパーティションキーpartitionKeyType
: パーティションキーの種類sortKey
: インデックスのソートキーsortKeyType
: ソートキーの種類projectionType
: 投影の種類 (ALL、KEYS_ONLY、INCLUDE)nonKeyAttributes
: (オプション) プロジェクトにキー以外の属性を追加するreadCapacity
: (オプション) プロビジョニングされた読み取り容量単位writeCapacity
: (オプション) プロビジョニングされた書き込み容量単位
例:
更新容量
テーブルのプロビジョニングされた容量を更新します。
パラメータ:
tableName
: テーブルの名前readCapacity
: 新しい読み取り容量単位writeCapacity
: 新しい書き込み容量単位
例:
アイテムを置く
テーブル内の項目を挿入または置き換えます。
パラメータ:
tableName
: テーブルの名前item
: テーブルに入れるアイテム(JSONオブジェクトとして)
例:
アイテムを取得
主キーによってテーブルから項目を取得します。
パラメータ:
tableName
: テーブルの名前key
: 取得するアイテムの主キー
例:
アイテムの更新
テーブル内の項目の特定の属性を更新します。
パラメータ:
tableName
: テーブルの名前key
: 更新するアイテムの主キーupdateExpression
: 更新式expressionAttributeNames
: 属性名のマッピングexpressionAttributeValues
: 更新式の値conditionExpression
: (オプション) 更新の条件returnValues
: (オプション) 返される値
例:
クエリテーブル
キー条件とオプションのフィルターを使用してテーブルをクエリします。
パラメータ:
tableName
: テーブルの名前keyConditionExpression
: キー条件式expressionAttributeValues
: キー条件式の値expressionAttributeNames
: (オプション) 属性名のマッピングfilterExpression
: (オプション) 結果のフィルター式limit
: (オプション) 返されるアイテムの最大数
例:
スキャンテーブル
オプションのフィルターを使用してテーブル全体をスキャンします。
パラメータ:
tableName
: テーブルの名前filterExpression
: (オプション) フィルター式expressionAttributeValues
: (オプション) フィルタ式の値expressionAttributeNames
: (オプション) 属性名のマッピングlimit
: (オプション) 返されるアイテムの最大数
例:
サンプル質問
この DynamoDB MCP サーバーを使用するときに Claude に尋ねることができる質問の例を次に示します。
テーブル管理
- 「パーティションキー「productId」(文字列)とソートキー「timestamp」(数値)を持つ「Products」という新しい DynamoDB テーブルを作成します。」
- 「アカウント内のすべての DynamoDB テーブルを一覧表示する」
- 「Users テーブルの現在の構成は何ですか?」
- 「Usersテーブルのメールフィールドにグローバルセカンダリインデックスを追加する」
キャパシティ管理
- 「Usersテーブルの容量を20読み取り単位と15書き込み単位に更新します」
- 「Users テーブルの EmailIndex GSI 容量を拡大する」
- 「Orders テーブルに現在プロビジョニングされている容量はどれくらいですか?」
データ操作
- 「ID '123'、名前 'John Doe'、メールアドレス ' john@example.com ' の新しいユーザーを挿入します。」
- 「ID '123' のユーザーを取得する」
- 「ユーザー '123' のメールアドレスを ' john.doe@example.com ' に更新します」
- 「ユーザー '123' が行ったすべての注文を検索する」
- 「21歳以上のユーザーをすべてリストする」
- 「EmailIndex をクエリして、メールアドレス ' john@example.com ' を持つユーザーを検索します」
構成
AWS認証情報の設定
- AWS マネジメントコンソールから AWS アクセスキー ID、シークレットアクセスキー、リージョンを取得します。
- 一時的な認証情報 (IAM ロールなど) を使用する場合は、セッション トークンも取得します。
- これらの認証情報に DynamoDB 操作のための適切な権限があることを確認します。
Claude Desktopでの使用
これをclaude_desktop_config.json
に追加します:
Docker(推奨)
建物
ドッカー:
発達
自動リロード付きの開発モードで実行するには:
ライセンス
このMCPサーバーはMITライセンスに基づいてライセンスされています。つまり、MITライセンスの条件に従って、ソフトウェアを自由に使用、改変、配布することができます。詳細については、プロジェクトリポジトリのLICENSEファイルをご覧ください。
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.
Tools
モデルコンテキストプロトコルを通じて DynamoDB リソースの管理を可能にし、テーブルとインデックスの作成、容量管理、削除機能のないデータ操作をサポートして、偶発的なデータ損失を防止します。
Related Resources
Related MCP Servers
- AsecurityAlicenseAqualityFacilitates interaction with Elasticsearch clusters by allowing users to perform index operations, document searches, and cluster management via a Model Context Protocol server and natural language commands.Last updated -6178PythonApache 2.0
- -securityFlicense-qualityProvides a scalable, containerized infrastructure for deploying and managing Model Context Protocol servers with monitoring, high availability, and secure configurations.Last updated -
- -securityFlicense-qualityA Model Context Protocol server that enables SQL query execution, database management, and business intelligence capabilities through MySQL connections.Last updated -JavaScript
- -securityAlicense-qualityAn implementation of the Model Context Protocol that enables interaction with ArangoDB databases, allowing users to perform queries, list databases and collections through natural language.Last updated -04JavaScriptMIT License