mcpField
D
dynamodb

dynamodb

ローカル
github.com/pulsemcpデータベース818 週間前に更新

dynamodb について

DynamoDB MCP サーバーは、AWS DynamoDB 向けの MCP サーバーで、ツール単位のきめ細かな制御と設定可能なアクセスレベルを備えます。アシスタントやエージェントに DynamoDB データを扱わせつつ、操作範囲を明確に制限したいチーム向けです。AWS 認証情報チェーンや、DynamoDB Local、LocalStack などのカスタムエンドポイントに対応します。

主な機能

  1. 01テーブル、アイテム、クエリ、スキャン、一括操作
  2. 02グループ単位または個別のツール有効化と無効化
  3. 03指定したテーブルへの操作制限
  4. 04AWS 認証情報チェーンとカスタムエンドポイントへの対応

活用シーン

  1. 01MCP クライアントからの DynamoDB テーブルデータの照会
  2. 02読み取り専用モードでのエージェントによるデータ確認
  3. 03DynamoDB Local や LocalStack を使った開発とテスト

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"com-pulsemcp-dynamodb": {
"command": "npx",
"args": [
"-y",
"aws-dynamodb-mcp-server"
],
"env": {
"AWS_REGION": "<AWS_REGION>",
"AWS_ACCESS_KEY_ID": "<AWS_ACCESS_KEY_ID>",
"AWS_SECRET_ACCESS_KEY": "<AWS_SECRET_ACCESS_KEY>",
"DYNAMODB_ENDPOINT": "<DYNAMODB_ENDPOINT>",
"DYNAMODB_ENABLED_TOOL_GROUPS": "<DYNAMODB_ENABLED_TOOL_GROUPS>",
"DYNAMODB_ENABLED_TOOLS": "<DYNAMODB_ENABLED_TOOLS>",
"DYNAMODB_DISABLED_TOOLS": "<DYNAMODB_DISABLED_TOOLS>",
"DYNAMODB_ALLOWED_TABLES": "<DYNAMODB_ALLOWED_TABLES>",
"SKIP_HEALTH_CHECKS": "<SKIP_HEALTH_CHECKS>"
}
}
}
}
起動コマンドnpx -y aws-dynamodb-mcp-server
設定が必要な環境変数
AWS_REGIONAWS region for DynamoDB (or use AWS_DEFAULT_REGION).
AWS_ACCESS_KEY_IDシークレットAWS access key ID (uses AWS credential chain if not set).
AWS_SECRET_ACCESS_KEYシークレットAWS secret access key (uses AWS credential chain if not set).
DYNAMODB_ENDPOINTCustom endpoint for local DynamoDB or LocalStack.
DYNAMODB_ENABLED_TOOL_GROUPSComma-separated tool groups to enable (readonly, readwrite, admin).
DYNAMODB_ENABLED_TOOLSComma-separated whitelist of specific tools to enable.
DYNAMODB_DISABLED_TOOLSComma-separated blacklist of specific tools to disable.
DYNAMODB_ALLOWED_TABLESRestrict operations to specific tables (comma-separated); all tables accessible if not set.
SKIP_HEALTH_CHECKSSkip startup health checks.

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmaws-dynamodb-mcp-server0.2.7

ツール

13

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
limitnumberいいえ返すテーブルの最大数(1~100)。デフォルト:100
exclusiveStartTableNamestringいいえ前回のリクエストで最後に評価されたテーブル名。ページネーションに使用します。

詳細

DynamoDB MCP サーバー

きめ細かなツール制御が可能な AWS DynamoDB 用 MCP サーバーです。設定可能なアクセスレベルで、包括的な DynamoDB 操作を提供します。

特長

  • DynamoDB のすべての操作:テーブル、項目、クエリ、スキャン、バッチ操作
  • きめ細かなアクセス制御:グループ単位または個別にツールを有効化/無効化
  • テーブル単位のアクセス制御:操作対象を特定のテーブルに制限
  • AWS 認証情報のサポート:明示的な認証情報または AWS 認証情報チェーンに対応
  • カスタムエンドポイント:ローカルの DynamoDB または LocalStack に対応

利用可能なツール

MCP クライアントは通常、サーバー名をツール名の前に付けるため(例:dynamodb:list_tables)、ツール名は短くしています。

読み取り専用ツール(グループ:readonly)
ツール説明
list_tablesページネーションを使用してすべての DynamoDB テーブルを一覧表示します
describe_tableテーブルのメタデータ、スキーマ、インデックスを取得します
get_itemプライマリキーを指定して単一の項目を取得します
query_itemsキー条件を使用して項目をクエリします
scan_tableオプションのフィルターを指定してテーブルをスキャンします
batch_get_items複数のテーブルから複数の項目を取得します
読み書きツール(グループ:readwrite)
ツール説明
put_item項目を作成または置換します
update_item特定の属性を更新します
delete_itemプライマリキーを指定して項目を削除します
batch_write_items項目の一括追加/削除を実行します
管理ツール(グループ:admin)
ツール説明
create_table新しいテーブルを作成します
delete_tableテーブルとすべてのデータを削除します
update_tableテーブルの設定を更新します

設定

環境変数
変数必須説明
AWS_REGIONはいAWS リージョン(または AWS_DEFAULT_REGION)
AWS_ACCESS_KEY_IDいいえAWS アクセスキー(未設定の場合は認証情報チェーンを使用)
AWS_SECRET_ACCESS_KEYいいえAWS シークレットキー(未設定の場合は認証情報チェーンを使用)
DYNAMODB_ENDPOINTいいえカスタムエンドポイント(ローカル DynamoDB 用)
DYNAMODB_ENABLED_TOOL_GROUPSいいえカンマ区切りのグループ:readonly、readwrite、admin
DYNAMODB_ENABLED_TOOLSいいえ特定のツールを許可リストに登録
DYNAMODB_DISABLED_TOOLSいいえ特定のツールをブロックリストに登録
DYNAMODB_ALLOWED_TABLESいいえ操作対象を特定のテーブルに制限(カンマ区切り)
ツールのアクセス制御

次の3つの方法で、利用可能なツールを制御します。

1. ツールグループ(ほとんどの場合に推奨):

# Read-only access
DYNAMODB_ENABLED_TOOL_GROUPS="readonly"

# Read and write, no table management
DYNAMODB_ENABLED_TOOL_GROUPS="readonly,readwrite"

# All operations (default)
DYNAMODB_ENABLED_TOOL_GROUPS="readonly,readwrite,admin"

2. 特定のツールを許可リストに登録:

# Only allow specific operations
DYNAMODB_ENABLED_TOOLS="get_item,query_items,scan_table"

3. 特定のツールをブロックリストに登録:

# Enable all except dangerous operations
DYNAMODB_DISABLED_TOOLS="delete_table,create_table"

優先順位:DYNAMODB_ENABLED_TOOLS > DYNAMODB_DISABLED_TOOLS > DYNAMODB_ENABLED_TOOL_GROUPS

テーブルレベルのアクセス制御

すべての操作を特定のテーブルのみに制限します。

# Only allow access to Users and Orders tables
DYNAMODB_ALLOWED_TABLES="Users,Orders"

DYNAMODB_ALLOWED_TABLES が設定されている場合:

  • list_tables は許可リスト内のテーブルのみを返します
  • 許可されていないテーブルに対する操作は「Access denied」エラーを返します
  • リクエスト内に許可されていないテーブルが1つでも含まれている場合、バッチ操作は失敗します
  • テーブル名は大文字と小文字を区別して照合されます(DynamoDB のテーブル名では大文字と小文字が区別されます)
  • list_tables でページネーションを使用する場合、フィルタリングの前に limit が適用されます

注記: 設定されていない場合、または空の文字列に設定されている場合は、すべてのテーブルにアクセスできます(フィルタリングなし)。

これは次のような場合に役立ちます。

  • 各クライアントが自分のテーブルにのみアクセスできるようにするマルチテナント環境
  • 本番テーブルを保護したい開発環境
  • AI エージェントの影響範囲を特定のテーブルに限定する場合

Claude Desktop の設定

claude_desktop_config.json に追加します。

macOS:~/Library/Application Support/Claude/claude_desktop_config.json Windows:%APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "dynamodb": {
      "command": "npx",
      "args": ["-y", "aws-dynamodb-mcp-server"],
      "env": {
        "AWS_REGION": "us-east-1",
        "AWS_ACCESS_KEY_ID": "your-access-key",
        "AWS_SECRET_ACCESS_KEY": "your-secret-key",
        "DYNAMODB_ENABLED_TOOL_GROUPS": "readonly,readwrite"
      }
    }
  }
}
ローカルの DynamoDB を使用する

ローカルの DynamoDB または LocalStack を使用した開発の場合:

{
  "mcpServers": {
    "dynamodb-local": {
      "command": "npx",
      "args": ["-y", "aws-dynamodb-mcp-server"],
      "env": {
        "AWS_REGION": "us-east-1",
        "AWS_ACCESS_KEY_ID": "local",
        "AWS_SECRET_ACCESS_KEY": "local",
        "DYNAMODB_ENDPOINT": "http://localhost:8000"
      }
    }
  }
}

例

アイテムをクエリする
Query all orders for customer "C123" from the last 30 days:
- Table: Orders
- Key condition: customerId = :cid AND orderDate > :date
- Values: {":cid": "C123", ":date": "2025-01-01"}
テーブルを作成する
Create a Users table with:
- Partition key: userId (String)
- Billing: Pay per request
バッチ操作
Get user profiles for IDs: user1, user2, user3 from the Users table

開発

セットアップ
cd experimental/dynamodb
npm run install-all
npm run build
テスト
# Unit tests
npm run test:run

# Integration tests
npm run test:integration

# Manual tests (requires AWS credentials)
npm run test:manual

リソース

リソース説明
dynamodb://configサーバーの設定とツールグループのマッピング

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。