DynamoDB

by imankamyabi

12 stars
361 downloads
Not rated
GitHub

About

Integrates with Amazon DynamoDB to enable natural language-based table management, capacity adjustment, and data operations while maintaining safeguards against accidental deletions.

Details

Author
imankamyabi
Repository
imankamyabi/dynamodb-mcp-server
GitHub stars
12
Downloads
361
License
MIT License
Categories
Productivity, Design, Developer Tools, AI, Project Management, Database, Automation

- Create, list, and describe DynamoDB tables
- Create and manage Global Secondary Indexes (GSI) and Local Secondary Indexes (LSI)
- Update provisioned read/write capacity for tables and GSIs
- Insert, retrieve, and update items in tables
- Query tables with key conditions and scan with filters
- Delete operations are intentionally not supported to prevent accidental data loss

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name DynamoDB
    Command (node, npx, python, etc.) docker
    Arguments
    • Argument 1 run
    • Argument 2 -i
    • Argument 3 --rm
    • Argument 4 -e
    • Argument 5 AWS_ACCESS_KEY_ID
    • Argument 6 -e
    • Argument 7 AWS_SECRET_ACCESS_KEY
    • Argument 8 -e
    • Argument 9 AWS_REGION
    • Argument 10 -e
    • Argument 11 AWS_SESSION_TOKEN
    • Argument 12 mcp/dynamodb-mcp-server
    Environment
    • AWS_REGION your_region
    • AWS_ACCESS_KEY_ID your_access_key
    • AWS_SESSION_TOKEN your_session_token
    • AWS_SECRET_ACCESS_KEY your_secret_key

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

1. Install dependencies:

npm install

2. Configure AWS credentials as environment variables:

export AWS_ACCESS_KEY_ID="your_access_key"
export AWS_SECRET_ACCESS_KEY="your_secret_key"
export AWS_REGION="your_region"

3. Build the server:

npm run build

4. Start the server:

npm start

create_table

Creates a new DynamoDB table with specified configuration. Parameters: tableName (string), partitionKey (string), partitionKeyType (string), sortKey (optional string), sortKeyType (optional string), readCapacity (number), writeCapacity (number)

list_tables

Lists all DynamoDB tables in the account. Parameters: limit (optional number), exclusiveStartTableName (optional string)

describe_table

Gets detailed information about a DynamoDB table. Parameters: tableName (string)

create_gsi

Creates a global secondary index on a table. Parameters: tableName (string), indexName (string), partitionKey (string), partitionKeyType (string), sortKey (optional string), sortKeyType (optional string), projectionType (string), nonKeyAttributes (optional array), readCapacity (number), writeCapacity (number)

update_gsi

Updates the provisioned capacity of a global secondary index. Parameters: tableName (string), indexName (string), readCapacity (number), writeCapacity (number)

create_lsi

Creates a local secondary index on a table (must be done during table creation). Parameters: tableName (string), indexName (string), partitionKey (string), partitionKeyType (string), sortKey (string), sortKeyType (string), projectionType (string), nonKeyAttributes (optional array), readCapacity (optional number), writeCapacity (optional number)

update_capacity

Updates the provisioned capacity of a table. Parameters: tableName (string), readCapacity (number), writeCapacity (number)

put_item

Inserts or replaces an item in a table. Parameters: tableName (string), item (JSON object)

get_item

Retrieves an item from a table by its primary key. Parameters: tableName (string), key (JSON object)

update_item

Updates specific attributes of an item in a table. Parameters: tableName (string), key (JSON object), updateExpression (string), expressionAttributeNames (JSON object), expressionAttributeValues (JSON object), conditionExpression (optional string), returnValues (optional string)

query_table

Queries a table using key conditions and optional filters. Parameters: tableName (string), keyConditionExpression (string), expressionAttributeValues (JSON object), expressionAttributeNames (optional JSON object), filterExpression (optional string), limit (optional number)

scan_table

Scans an entire table with optional filters. Parameters: tableName (string), filterExpression (optional string), expressionAttributeValues (optional JSON object), expressionAttributeNames (optional JSON object), limit (optional number)

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "dynamodb": {
            "env": {
                "AWS_REGION": "your_region",
                "AWS_ACCESS_KEY_ID": "your_access_key",
                "AWS_SESSION_TOKEN": "your_session_token",
                "AWS_SECRET_ACCESS_KEY": "your_secret_key"
            },
            "args": [
                "run",
                "-i",
                "--rm",
                "-e",
                "AWS_ACCESS_KEY_ID",
                "-e",
                "AWS_SECRET_ACCESS_KEY",
                "-e",
                "AWS_REGION",
                "-e",
                "AWS_SESSION_TOKEN",
                "mcp/dynamodb-mcp-server"
            ],
            "command": "docker"
        }
    }
}

Linux

{
    "env": {
        "AWS_REGION": "your_region",
        "AWS_ACCESS_KEY_ID": "your_access_key",
        "AWS_SESSION_TOKEN": "your_session_token",
        "AWS_SECRET_ACCESS_KEY": "your_secret_key"
    },
    "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "AWS_ACCESS_KEY_ID",
        "-e",
        "AWS_SECRET_ACCESS_KEY",
        "-e",
        "AWS_REGION",
        "-e",
        "AWS_SESSION_TOKEN",
        "mcp/dynamodb-mcp-server"
    ],
    "command": "docker"
}

Macos

{
    "env": {
        "AWS_REGION": "your_region",
        "AWS_ACCESS_KEY_ID": "your_access_key",
        "AWS_SESSION_TOKEN": "your_session_token",
        "AWS_SECRET_ACCESS_KEY": "your_secret_key"
    },
    "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "AWS_ACCESS_KEY_ID",
        "-e",
        "AWS_SECRET_ACCESS_KEY",
        "-e",
        "AWS_REGION",
        "-e",
        "AWS_SESSION_TOKEN",
        "mcp/dynamodb-mcp-server"
    ],
    "command": "docker"
}

Windows

{
    "env": {
        "AWS_REGION": "your_region",
        "AWS_ACCESS_KEY_ID": "your_access_key",
        "AWS_SESSION_TOKEN": "your_session_token",
        "AWS_SECRET_ACCESS_KEY": "your_secret_key"
    },
    "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "AWS_ACCESS_KEY_ID",
        "-e",
        "AWS_SECRET_ACCESS_KEY",
        "-e",
        "AWS_REGION",
        "-e",
        "AWS_SESSION_TOKEN",
        "mcp/dynamodb-mcp-server"
    ],
    "command": "docker"
}

DynamoDB MCP Server

A Model Context Protocol server for managing Amazon DynamoDB resources. This server provides tools for table management, capacity management, and data operations.

Author

Iman Kamyabi (ikmyb@icloud.com)

Features

Table Management

- Create new DynamoDB tables with customizable configurations - List existing tables - Get detailed table information - Configure table settings

Index Management

- Create and manage Global Secondary Indexes (GSI) - Update GSI capacity - Create Local Secondary Indexes (LSI)

Capacity Management

- Update provisioned read/write capacity units - Manage table throughput settings

Data Operations

- Insert or replace items in tables - Retrieve items by primary key - Update specific item attributes - Query tables with conditions - Scan tables with filters

> Note: Delete operations are not supported to prevent accidental data loss.

Setup

1. Install dependencies:

npm install

2. Configure AWS credentials as environment variables:

export AWS_ACCESS_KEY_ID="your_access_key"
export AWS_SECRET_ACCESS_KEY="your_secret_key"
export AWS_REGION="your_region"

3. Build the server:

npm run build

4. Start the server:

npm start

Tools

create_table

Creates a new DynamoDB table with specified configuration.
No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.