OpenSearch MCP server
DynoTable runs a local MCP server that gives Claude Code, Cursor, VS Code, Codex or OpenCode access to your Amazon OpenSearch indices. An agent can read an index's mapping, search it, query it with SQL next to your DynamoDB tables, and stage document changes. Nothing it stages reaches an index until you commit it in DynoTable.
The server runs inside the desktop app on a loopback port and uses your own AWS credentials. The agent never holds them.
Connect an agent
Setup is the same as for tables: turn the server on, expose a profile, and add that profile's connect command to your client. The MCP server page has the steps and the command for each client.
The profile you expose needs OpenSearch turned on under Engines (see OpenSearch GUI and client). A connection sees only the engines its profile uses: on a DynamoDB-only profile, the agent gets no index capabilities at all.
What an agent can do with an index
What a connection may do depends on the scope you approve when it first connects.
Read only:
- List the domains, collections and indices the profile reaches, and read an index's fields and their types.
- Search an index with a Lucene query or the query DSL, read a document by its
_id, and sample the values a field holds. - Run a vector search on a
knn_vectorfield. - Run SQL that joins a table to an index or aggregates over an index.
Read & stage adds:
- Staging a new document, an update or a delete. This needs the DynoTable window open on that profile.
- Staging a bulk edit or bulk delete of up to 10,000 documents, chosen by a query
or a list of
_idvalues. This works without the window.
Full access adds opening an index tab with a query, replacing the query on an open index tab, and exporting from an open tab to a file or the clipboard. These act in the DynoTable window.
A self-hosted endpoint set on the profile is reachable too, the same as in the app.
Nothing is written until you commit
No scope can write to an index. Every change an agent makes waits in Pending changes, and you commit it in DynoTable:
- No commit. An agent can stage, but only you commit.
- No direct runs. A bulk edit from an agent always stages.
- No index management. An agent can't create, change or delete an index.
MCP asks no question per call: the scope you approve when the client connects is the permission. A connection at Read & stage can stage changes without asking you first, so read the diff before you commit.
On a managed domain, a staged update or delete carries the document version the agent read, so a change someone makes before your commit surfaces as a conflict you rebase. On a Serverless collection, the commit is last-write-wins.
Plans
The license rules match the app. On the free read-only plan, every connection is clamped to Read only and the SQL capabilities are hidden. Staging and SQL need a Trialing or Active license.
The AI assistant in the app
The AI assistant inside DynoTable has the same index capabilities. It also reads the active index tab, its query, and the index's AI context note. In the chat, gated actions follow your permission mode instead of a connection scope.
In an index tab's Query mode, the AI autocomplete suggests the rest of a query, and ⌘⇧K rewrites the selection from an instruction. Both read the index mapping, so they use your real field names. Turn the autocomplete on or off for OpenSearch under Settings → AI.