Dynoxide MCP
A DynamoDB emulator in Rust on SQLite that starts in milliseconds and runs as an HTTP server or an MCP server for agents.
- 110 ★ on the repository
- Last commit
- Apache-2.0
Minimal access
Why this level
- Works with a local SQLite database and does not touch real AWS
- The MCP HTTP transport is protected by a Bearer token and should be disabled only on a loopback address
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add mcp/dynoxideDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewMinimal accessThe tool runs nothing and makes no network calls.
- Works with a local SQLite database and does not touch real AWS
- The MCP HTTP transport is protected by a Bearer token and should be disabled only on a loopback address
This is third-party code. Review the repository files before installing.
What it does
Dynoxide replaces DynamoDB Local with a single static binary of about 3 MB with no JVM. It runs as an HTTP server with `npx dynoxide --port 8000` or the `ghcr.io/nubo-db/dynoxide` container, after which any AWS SDK just needs pointing at `http://localhost:8000`. For Rust projects there is an embedded `Database::memory()` mode: each test gets an isolated in-memory database with no network layer. Builds also exist for WebAssembly and iOS. The `dynoxide mcp` command turns DynamoDB operations into tools for Claude Code, Cursor and other agents: over stdio or Streamable HTTP (`dynoxide mcp --http --port 19280`). The HTTP transport requires a Bearer token that the server generates itself on first run on a loopback address and saves to the user config. A public conformance suite checks parity with real AWS.
Who it is for. Developers of DynamoDB apps who need a fast local database for tests, CI and agent work.
Good fit when
- Integration tests wait for Docker and a JVM because of DynamoDB Local.
- Each Rust test needs an isolated in-memory database.
- An agent should create tables and check DynamoDB queries without AWS access.
- A CI image should be small and start fast.
Not a fit when
- A check against real AWS limits and pricing is needed: the emulator does not replace them.
- The project uses DynamoDB features absent from the conformance suite.
- The agent must not see a token in the user config.
Example request
Start dynoxide, create an orders table keyed by customer, add test items and show a query on the index.MCP
- Transport
- stdio, http
- Authentication
- key is optional
Environment variables
DYNOXIDE_MCP_AUTH_TOKENsecret- Bearer token for the MCP HTTP transport. If unset, the server creates and saves one itself on a loopback address.
Limitations
This is an emulator: behaviour is close to AWS and verified by a conformance suite, but real latencies, quotas and behaviour under heavy load differ. The product version (binary, npm, images) is counted separately from the crate version on crates.io, and a bug report should quote the number from `dynoxide --version`. The MCP HTTP transport needs a token and on non-local addresses it must be set explicitly. Data is stored in SQLite with the path set by `--db-path`. The repository was last updated on 5 November 2026 and uses the Apache-2.0 licence.
How to disable. Remove the `dynoxide` entry from the MCP client configuration and stop the process or container. Delete the SQLite database file named in `--db-path` separately.
FAQ
How does it differ from DynamoDB Local?
It is a single static binary with no JVM: millisecond startup, low memory use and an embedded mode for Rust.
How to connect to an MCP client?
Add a server with the `dynoxide` command and the `mcp` argument to the config. Over HTTP run `dynoxide mcp --http --port 19280` and pass a Bearer token.
Is authentication needed?
For the MCP HTTP transport yes: the token is created on first run on a loopback address and set explicitly on others. `--no-auth` is only for loopback.
How is compatibility verified?
By a public test suite that compares responses with real AWS. The conformance badge in the README shows results.
How to run in Docker?
With `docker run --rm -p 8000:8000 ghcr.io/nubo-db/dynoxide`: the image is meant as a replacement for `amazon/dynamodb-local`.
Discussion
No questions or reviews yet.
Related
MCP serversFirenook replaces the Firebase emulator with a fast native engine and gives agents MCP access to Firestore, Auth and Storage.
An MCP server and plugin for agents that generate web APIs from OpenAPI, AsyncAPI, GraphQL, gRPC and SQL specs on a Rust core.
A single Go binary turns a SQL database into a REST API with roles and an MCP server for Claude Code, Cursor and VS Code
Apollo's MCP server: turns chosen GraphQL operations into tools the agent uses to work with your API
A dev-only Rails engine that plugs an agent into the running app: eight MCP tools plus skills matched to the gems in your Gemfile.
A skill plugin that builds Rust web apps by Rails conventions, from the skeleton and resources to checks and deployment.
README in short
The README compares startup, memory and speed with DynamoDB Local and LocalStack, then lists the modes: HTTP server, MCP, embeddable library and browser via WebAssembly.