MCP サーバー
Model Context Protocol (MCP) は、AI エージェントが 外部のツールやデータソースと対話できるようにするオープンな標準です。DynoTable は MCP サーバーとして動作できます — そのため、ターミナルやエディタで動くエージェント(Claude Code、Cursor、Codex など)が、スキーマや結果をチャットにコピー&ペーストで往復させること なく、あなたの DynamoDB テーブルを直接扱えます。
接続すると、エージェントは組み込みアシスタントが使うのと同じゲート付き ツールキットを得ます — スキーマの読み取り、クエリと単一アイテム読み取りの実行、確認用の変更 のステージング、ビューを開く操作、エクスポート — をすべて、ローカルのループバック専用 HTTP endpoint 経由で行います。エージェントはあなたのテーブルを発見し、クエリし、編集を提案 しますが、あなたの AWS 認証情報を保持することは決してありません。
これはデフォルトでオフです。オンにすること、そして個々の接続はすべて、明示的にあなたの 管理下にあります — 下記のセキュリティを参照してください。
サーバーを有効にする
設定 → MCP サーバーを開いてオンにします。DynoTable は 127.0.0.1 にバインドした
サーバー(ループバック専用 — 他のマシンから到達できません)を起動し、その接続コマンドを
表示します。

プロファイルを公開する
サーバーはオンになっていますが、プロファイルを公開するまで、どのエージェントも接続
できません。設定でプロファイルの MCP セクションを開き、MCP 経由で公開をオンに
します。公開された各プロファイルは独自の接続コマンドを得ます — そのため、プロファイル
ごとに 1 つの接続を構成できます(例えば dynotable-dev と dynotable-prod)。それぞれ
そのプロファイルの認証情報とリージョンに厳密に隔離されます。接続は、紐づけられたプロファイル
のデータしか見ることがありません。
AWS バックエンドのプロファイルもローカル(DynamoDB-Local)のプロファイルも公開 できます。ローカルプロファイルを公開すると、エージェントが MCP 経由であなたのローカルの シード済みテーブルを操作できます — 開発に便利です。(同じポート上の 2 つのローカル プロファイルは同じローカルデータベースを共有するため、同じテーブルを見ます。)

クライアントを接続する
DynoTable は streamable HTTP で MCP を話すため、MCP 対応のエージェントなら何でも
接続できます。公開された各プロファイルは、その MCP セクションに独自の接続コマンドを
表示します — そこからコピーしてください。コマンドは
http://127.0.0.1:<port>/mcp?profile=<slug> を指します。?profile=<slug> は、どの
プロファイルを使いたいかを DynoTable に伝え、承認プロンプトで事前選択します(あくまで
ヒントであり — それでもあなたが確認します)。サーバー名にプロファイルのスラッグを使う
(例えば dynotable-prod)ことで、2 つのプロファイルの接続を区別できます。
下記の例ではスラッグとして prod を使っています。あなたのプロファイルのスラッグと、設定に
表示される実際のポートに置き換えてください。
プロジェクト内でこれを実行します — プロファイルの MCP セクションに表示される正確なコマンドです:
claude mcp add --transport http dynotable-prod "http://127.0.0.1:<port>/mcp?profile=prod".cursor/mcp.json(プロジェクト)または ~/.cursor/mcp.json(グローバル)にサーバーを
追加します:
{
"mcpServers": {
"dynotable-prod": {
"url": "http://127.0.0.1:<port>/mcp?profile=prod"
}
}
}.vscode/mcp.json(Copilot エージェントモード)に追加します:
{
"servers": {
"dynotable-prod": {
"type": "http",
"url": "http://127.0.0.1:<port>/mcp?profile=prod"
}
}
}~/.codex/config.toml に追加します:
[mcp_servers.dynotable-prod]
url = "http://127.0.0.1:<port>/mcp?profile=prod"opencode.json の mcp の下に追加します:
{
"mcp": {
"dynotable-prod": {
"type": "remote",
"url": "http://127.0.0.1:<port>/mcp?profile=prod",
"enabled": true
}
}
}2 つ目のプロファイルを接続するには、そのプロファイルのコマンド(独自のスラッグ)で繰り返し ます。接続したら、クライアントを再起動またはリロードして新しいサーバーを取り込ませます。
接続を承認する
クライアントが初めて接続すると、DynoTable はアプリ内に同意プロンプトを表示します。
接続してくるクライアントの名前を示し、その接続が紐づくプロファイルを選ばせ
(?profile= ヒントから事前選択され、公開済みのプロファイルに限定されます)、スコープ
の付与 — または拒否 — を求めます。あなたが承認するまで、何も公開されません。

スコープ
スコープは、その接続がどのツールを見て使えるかを決めます。スコープは累積的で、各段階は 前の段階を含みます:
- 読み取り専用 — スキーマの読み取り、クエリの実行、アイテムの読み取り。変更はなし。
- 読み取り&ステージング — 読み取り専用のすべて、加えてあなたが確認してコミットする ための変更のステージング(エージェントが DynamoDB に直接書き込むことはなく、 ステージングを経由します)。
- フルアクセス — 上記のすべて、加えてビューを開く、フィルターを設定する、結果を エクスポートする。書き込みはやはりステージングを経由します — フル アクセスでも、エージェントは DynamoDB に直接書き込めません。
接続は、あなたがプロンプトで承認したプロファイルに紐づきます — その認証情報とリージョン は接続の存続期間を通じて固定されるため、ちょうどそのプロファイルのデータを読み取り(書き込み をステージング)します。プロンプトに表示されるクライアント名は、接続してくるエージェントの 自己申告なので、本当のゲートは名前ではなく、あなたが承認するプロファイルとスコープです。
承認したプロファイルが MFA を使う場合、エージェントはワンタイムコードを自身のセッション 内で直接尋ねられます — DynoTable に戻る必要はありません。(SSO 経由でサインインする プロファイルは、引き続き DynoTable でそのサインインを完了します。)
接続を管理する
承認したクライアントはすべて設定 → MCP サーバーに一覧表示されます。いつでもどれでも 取り消せます — 取り消されたクライアントは次のリクエストで遮断されます。プロファイルの公開 を解除すると、その接続も即座に取り消されます。 サーバーをオフにすると、完全に停止します。
セキュリティ
- ループバック専用。 サーバーは
127.0.0.1にバインドします。マシンの外からは何も 到達できません。 - デフォルトでオフ、接続ごとに承認。 サーバーを有効化し、かつあなたが選んだスコープで その接続を承認するまで、どのエージェントもアクセスできません。
- 認証情報はローカルに留まる。 接続はこのマシン上の既存の AWS プロファイル (AWS に接続)を使います。認証情報がエージェントに送られることは ありません。
- 接続ごとに 1 つのプロファイル。 各接続は、あなたが承認した単一のプロファイルに固定 されます — 他のプロファイルのテーブルや認証情報に到達することは決してありません。
- 書き込みは確認を経る。 フルアクセスでも、変更はあなたがコミットするために ステージングされます — エージェントが独力で DynamoDB に書き込むことは できません。
- 取り消し可能。 いつでもクライアントを取り消すか、サーバーをオフにできます。








