Tooling
You develop against production because local DynamoDB feels optional, then an MCP
agent or a mistyped PartiQL DELETE touches real production rows. Awkward tooling
pushes you toward shortcuts that skip review.
DynamoDB's console is thin and the CLI is JSON-heavy. A sane workflow uses a local emulator for development, a desktop GUI for browse/edit/export, and guarded agent access when AI drives queries. This section maps that stack: Local and LocalStack, client comparison, data movement, TypeScript codegen, and MCP integrations with read-only clamps when your license is not paid.
What this section teaches you to do
- Spin up DynamoDB Local or LocalStack and point DynoTable at it with a dedicated profile.
- Browse, filter, export, and stage edits in a GUI without hand-writing attribute JSON.
- Copy table data across accounts/regions and export to CSV with scoped reads.
- Connect MCP agents with license-aware scopes so read-only mode denies staging.
Reading order
- DynamoDB Local: run it in Docker, persist data, and what differs from AWS.
- Connect to DynamoDB Local and LocalStack: endpoints, dummy credentials, and the errors a GUI or CLI hits on both.
- Best GUI clients: what to compare when you pick a desktop tool, with head-to-heads against Dynomate, DataGrip and TablePlus.
- Books: curated references; not a substitute for access-pattern practice.
- View and edit data: which API call each browse, filter, edit and delete runs, and what it costs.
- Copy a table: no native copy-table command; export, then load with a script, S3 import, Backup restore or global tables.
- Export to CSV: scoped exports and format choices.
- TypeScript types from DynamoDB: codegen from inferred schema samples.
- Query with AI: agent-driven filters and SQL with your own Bedrock models.
- MCP server: the agent access surface, its scopes and per-client setup.
- MCP + Claude Code: wiring for Claude Code sessions.
- MCP + Cursor: wiring for Cursor agents.
- MCP + Codex: wiring for Codex sessions.
- ExtendDB adapter: AWS's open-source adapter that serves the DynamoDB API from your own database.
A DynoTable profile is one Region. To work across Regions, add a profile per Region with the same AWS credentials and switch with ⌘1–⌘9 or ⌘P. What an MCP agent may do depends on your plan: see pricing and the MCP docs.
Open DynoTable
Download DynoTable and create an Offline profile on port 8000 (with
DynamoDB Local started with -sharedDb). Free read-only access (signed-in) covers
queries, PartiQL SELECT, the filter builder, exports, Workbench editor with
autocomplete, and saved queries. A paid plan or the 30-day trial unlocks staging,
commits, Smart Table runs, Workbench execution, and the AI agent.
Stage edits in the item editor and review the diff before commit, the default write path. Connect MCP only after you understand which scopes your license allows. Treat delete-and-commit (⌘⇧⌫), save-and-commit and a bulk-edit Direct Run as direct writes: they skip the review step even in paid mode.
Free tools for the same workflow
Several browser tools mirror tasks you would otherwise script against Local or cloud tables:
| Task | Tool |
|---|---|
Marshal fixture JSON before BatchWriteItem | DynamoDB JSON converter |
| Prototype key conditions and update expressions | Expression builder |
| Emit a paginated Query/Scan program | Query builder |
| Estimate Local-vs-cloud cost before deploy | Pricing calculator |
A 2 KB item read 500 times per second costs about 250 read request units per second on on-demand (each read rounds up to 4 KB, 0.5 unit eventually consistent). Local reports those units but never bills or throttles them, so price the pattern in the calculators before you promote a Local-tested access pattern to AWS.
Start with DynamoDB Local, then connect a GUI to it.