Skip to main content
Glama
imankamyabi

DynamoDB MCP Server

by imankamyabi

create_table

Design and configure new DynamoDB tables by specifying table name, partition key, sort key, and provisioned read/write capacity units through the DynamoDB MCP Server.

Instructions

Creates a new DynamoDB table with specified configuration

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
partitionKeyYesName of the partition key
partitionKeyTypeYesType of partition key (S=String, N=Number, B=Binary)
readCapacityYesProvisioned read capacity units
sortKeyNoName of the sort key (optional)
sortKeyTypeNoType of sort key (optional)
tableNameYesName of the table to create
writeCapacityYesProvisioned write capacity units

Implementation Reference

  • Executes the create_table tool by constructing a DynamoDB CreateTableCommand based on input parameters (table name, keys, capacity) and sending it to the client, returning success/error response.
    async function createTable(params: any) {
      try {
        const command = new CreateTableCommand({
          TableName: params.tableName,
          AttributeDefinitions: [
            { AttributeName: params.partitionKey, AttributeType: params.partitionKeyType },
            ...(params.sortKey ? [{ AttributeName: params.sortKey, AttributeType: params.sortKeyType }] : []),
          ],
          KeySchema: [
            { AttributeName: params.partitionKey, KeyType: "HASH" as const },
            ...(params.sortKey ? [{ AttributeName: params.sortKey, KeyType: "RANGE" as const }] : []),
          ],
          ProvisionedThroughput: {
            ReadCapacityUnits: params.readCapacity,
            WriteCapacityUnits: params.writeCapacity,
          },
        });
        
        const response = await dynamoClient.send(command);
        return {
          success: true,
          message: `Table ${params.tableName} created successfully`,
          details: response.TableDescription,
        };
      } catch (error) {
        console.error("Error creating table:", error);
        return {
          success: false,
          message: `Failed to create table: ${error}`,
        };
      }
    }
  • Input schema definition for the create_table tool, validating parameters such as tableName, partitionKey, capacities, and optional sortKey.
    inputSchema: {
      type: "object",
      properties: {
        tableName: { type: "string", description: "Name of the table to create" },
        partitionKey: { type: "string", description: "Name of the partition key" },
        partitionKeyType: { type: "string", enum: ["S", "N", "B"], description: "Type of partition key (S=String, N=Number, B=Binary)" },
        sortKey: { type: "string", description: "Name of the sort key (optional)" },
        sortKeyType: { type: "string", enum: ["S", "N", "B"], description: "Type of sort key (optional)" },
        readCapacity: { type: "number", description: "Provisioned read capacity units" },
        writeCapacity: { type: "number", description: "Provisioned write capacity units" },
      },
      required: ["tableName", "partitionKey", "partitionKeyType", "readCapacity", "writeCapacity"],
    },
  • src/index.ts:598-600 (registration)
    Registers the create_table tool (as CREATE_TABLE_TOOL) among the list of available tools served in response to ListToolsRequestSchema.
    server.setRequestHandler(ListToolsRequestSchema, async () => ({
      tools: [CREATE_TABLE_TOOL, UPDATE_CAPACITY_TOOL, PUT_ITEM_TOOL, GET_ITEM_TOOL, QUERY_TABLE_TOOL, SCAN_TABLE_TOOL, DESCRIBE_TABLE_TOOL, LIST_TABLES_TOOL, CREATE_GSI_TOOL, UPDATE_GSI_TOOL, CREATE_LSI_TOOL, UPDATE_ITEM_TOOL],
    }));
  • src/index.ts:608-610 (registration)
    Registers the handler dispatch for create_table tool calls within the CallToolRequestSchema switch statement.
    case "create_table":
      result = await createTable(args);
      break;
Install Server

Other Tools

Related Tools

Latest Blog Posts

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/imankamyabi/dynamodb-mcp-server'

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