mcpField
D
Deedglass

Deedglass

ローカル
deedglass.comセキュリティ1今日更新

Deedglass について

DeedglassはAIエージェントと操作対象システムの間に入り、ポリシーでツール呼び出しを制御し、申告と実際の変更を照合します。書き込みを伴うエージェント運用向けに、署名付きの検証可能な記録とPostgresの行変更の取り消しを提供します。

主な機能

  1. 01ポリシーによる許可・拒否・承認要求
  2. 02申告と実際の変更の照合
  3. 03オフライン検証可能な署名付き記録
  4. 04変更されたPostgres行の取り消し
  5. 05接続を変更せずPostgresの変更を監視

活用シーン

  1. 01エージェントの書き込みを許可操作に限定
  2. 02Postgresの意図しない副作用を検出
  3. 03エージェントセッションのDB変更を確認
  4. 04変更行の取り消しを準備

MCP 対応

`deedglass mcp serve`でポリシー適用済みのMCPサーバーを提供し、`deedglass mcp wrap`でstdioのMCPサーバーをラップできます。MCPクライアントのツール呼び出しにポリシーを適用し、結果を検証します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"deedglass-deedglass": {
"command": "npx",
"args": [
"-y",
"deedglass"
],
"env": {
"DEEDGLASS_SERVER": "<DEEDGLASS_SERVER>",
"DEEDGLASS_API_KEY": "<DEEDGLASS_API_KEY>"
}
}
}
}
起動コマンドnpx -y deedglass
設定が必要な環境変数
DEEDGLASS_SERVERYour Deedglass server
DEEDGLASS_API_KEYシークレットAn agent key from deedglass init

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmdeedglass0.15.0

ツール

5

掲載時のツール一覧 · 今日に更新

パラメーター型必須説明
argsobjectいいえ関数の名前付き引数です。
functionenumはい許可リストにある関数です。public.ship_order

詳細

Deedglass

エージェントは1行を更新したと言いました。Postgresが変更したのは301行でした。

DeedglassはAIエージェントと、エージェントが変更するシステムの間に位置します。ルールによって各ツール呼び出しを判断し、チェックではシステムが実際に変更した内容とエージェントの報告を比較します(申告済み、確認済み、または証明済み。報告と一致、不一致、または確認不能)。各結果は、誰でもオフラインで検証できる署名付き記録として封印されます。アクションによって変更された行を元に戻すこともできます。

CI Release npm ライセンス:Apache-2.0、ee/ は FSL-1.1-ALv2 Go リファレンス 攻撃テストスイート

ブラウザーで試す · クイックスタート · ドキュメント · セキュリティ · deedglass.com

エージェントに、注文42を出荷済みにするよう依頼しました。エージェントは1つのUPDATEを実行し、ツールは1行と報告しました。しかし、レガシートリガーにより、同じトランザクション内でさらに300件の注文が出荷されました。以下は、2026-10-14にクイックスタートの最後の手順を実行した際の実際の出力です(…の箇所は短縮しています)。

$ npx -y deedglass init --trigger
…
✕ UPDATE order 42         Proven · Doesn't match · Postgres changed 301 rows in public.orders. The agent reported 1.
  expected   UPDATE 1 row in public.orders where id = 42 · sets status
  observed   UPDATE 301 rows in public.orders · 300 outside id = 42
…
✓ Trigger off             orders_ship_open_batch dropped
✓ Undo preview            Undo available · 301 rows in public.orders · 301 updates
    policy   undo-needs-approval · a person countersigns first

エージェントのログには1行と記録されています。Deedglassは、そのトランザクションに関するPostgres独自の変更ログを読み取り、301行を検出して、その差分を記録として封印しました。また、担当者が連署した後にのみ実行される、これらの行を元に戻す処理を計画しました。

実際の make demo-hero 実行を記録したターミナル映像。注文42を出荷:証明済み、一致、1行。レガシートリガーを有効にして同じ UPDATE を実行:証明済み、不一致、Postgres は public.orders の301行を変更、エージェントは1行と報告。行の差分も表示。その後、すべての記録をオフラインで検証。

make demo-heroの実際の実行(コミット 97a524c、2026-10-14)。各行は出力された時点の表示です。 出典:docs/assets/demo-hero.cast.json、描画:scripts/demo/cast2svg.mjs。

## 4 つの方法
コマンド必要なものマシンから外部に送信されるもの
ブラウザーでdeedglass.com/playブラウザーのタブ。Postgres はページ内で実行され、「said 1, changed 301」のシーンが開きます。なし
ターミナルでnpx deedglass playNode と、npm から取得した deedglass 0.1.1 以降。Docker は不要です。ルールは各呼び出しをリアルタイムで判定し、レコードはマシン上で封印・確認されます。Postgres の行は記録済みの実行結果から再生され、その旨が明記されます。なし
セットアップをスキャンnpx deedglass scanNode。MCP の設定と、指定した場合はデータベースのカタログを読み取り専用で読み込みます。エージェントが変更できる内容を A から F で評価します。指定したデータベースへの読み取り専用カタログクエリを除き、なし
監視モードdeedglass observe run --connector pg-demo -- ./agent.shobserve が有効な Postgres コネクター。再設定は不要です。すでに使用しているゲートと並行して、Postgres の変更ログを読み取ります。なし

スキャンで、エージェントが書き込み可能なテーブル上のトリガーまたはカスケードが見つかると、その旨を示して 301 のシーンを案内します。監視モードについては以下をご覧ください。

クイックスタート

Docker が起動していて、ディスクに約 2 GiB の空きがあり、Node 18 以降と macOS または Linux(Windows では WSL 2)が必要です。次に、(テスト済みのクイックスタート)から以下を実行します。

mkdir acme-agents && cd acme-agents
npx -y deedglass init --yes
npx -y deedglass doctor
npx -y deedglass init --trigger

deedglass init は Docker で Postgres 18.6 のコンテナーを 2 つ(Deedglass 自身のデータベースとデモ用データベース)起動し、127.0.0.1:8080 で deedglass serve を実行します。また、組織、エージェント、postgres-safe ポリシーを作成し、DROP TABLE をブロックし、Proven で確認された UPDATE を実行して終了します。deedglass doctor は、修正方法も含めて 16 個の読み取り専用チェックを実行します。deedglass init --trigger はデモ用データベースのレガシートリガーを有効にし、同じ 1 行の UPDATE を実行して、前述の 301 行の不一致と取り消しプレビューを表示して終了します。

監視モード:再設定不要

deedglass observe run --connector pg-demo -- ./agent.sh   # open a watched session, run the agent, close it
deedglass observe show obs_01k… --undo-sql                # the undo as SQL you review and run (free)
deedglass observe run --connector dev --undo-sql ~/deedglass-undo -- claude   # watch a Claude Code session, shell included

コネクターの設定で witness.observe.enabled: true にすると有効になります。監視モードは、deedglass connector postgres init が作成するロールとレプリケーションスロットを介して、Postgres の変更ログのみを読み取ります。そのため、すでに使用しているゲートと並行して、またはゲートがなくても動作します。 セッションが開いている間に監視対象テーブルでコミットされたすべての行を表示し、セッションをレコードとして封印します。どのプログラムが行を書き込んだかは判別できないため、セッションに「一致」または「不一致」の判定は付きません。行イメージは 30 日間保持されます。TRUNCATE はレコードから取り消せません。取り消し用 SQL は無料です。Deedglass によるワンステップの取り消しは Pro で利用できます。詳細は docs/OBSERVE.md をご覧ください。

動作の仕組み

flowchart LR
  A["AI agents<br/>Claude · OpenAI · Cursor · any MCP client"] -->|tool call + agent key| G
  subgraph D["Deedglass · one binary + Postgres"]
    I[Identity] --> P[Policies] --> G[Rules]
    G --> W[Check] --> S[Records] --> L[Ledger] --> N[Insights]
  end
  G -->|credentials from the vault| T["Tools<br/>Postgres · GitHub · Slack · Stripe · MCP servers"]
  T -->|what actually happened| W
  H[People] -->|approve · stop| G

すべてのツール呼び出しは、エージェントのキーを使って Deedglass を経由します。ルール(ポリシー)が allow、deny、require_approval のいずれかを判定します。Deedglass はエージェントに渡されない認証情報を使って呼び出しを実行し、確認処理で実際に起きたことと要求された内容を比較します。結果は組織のチェーン内のレコードとして封印されます。

各確認の確実性

レベル確認する内容確認できない内容
Claimedツール独自の応答を、スキーマおよび事後条件と照合します応答が真実かどうか
Checked対象(GitHub、Slack、Stripe、Notion、REST、Postgres の行)から読み戻して確認します読み戻しで確認できない副作用
ProvenPostgres の変更ログ(論理デコード)を使い、トランザクションでコミットされたすべての行を確認しますDDL、シーケンス、非ログテーブル、およびそのデータベースの WAL 外のすべて

各レコードには、1 つのレベルと 1 つの結果が記録されます。「一致」、「不一致」、「確認不能」のいずれかです。ツールが実行されたかどうかを Deedglass が判別できない場合、結果は「確認不能」となり、「一致」にはなりません。API では短縮名(L0/L1/L2、VERIFIED/MISMATCH/UNVERIFIABLE)が使われます。対応関係は用語集をご覧ください。

対応していないこと

  • 検証済みのチェックは Postgres のみを対象としており、監視対象のテーブルでは wal_level=logical と REPLICA IDENTITY FULL が必要です。
  • 有効なキーを持ち、ポリシーの範囲内の操作を行う乗っ取られたエージェントは許可されます。ポリシー、予算、承認によって範囲は狭まりますが、この問題を解消するものではありません。
  • Deedglass は Postgres サーバー、そのスーパーユーザー、実行環境のホスト、シールキーを信頼します。ホストが侵害された場合は保護できません。
  • レコードにはペイロードではなくダイジェストが保存されます。1つのインスタンス上のすべての組織で、同じシールキーがレコードに署名します。
  • 最小権限のデータベースロールに代わるものではありません。両方を使ってください。ロールはエージェントが実行できることを制限し、Deedglass は実際に行ったことをそのロールに照らしてチェックします。

回避策を含む全項目については、docs/LIMITATIONS.md と KNOWN_ISSUES.md をご覧ください。

代替手段

Deedglass が不要な場合や、以下のいずれかと併用したい場合もあるでしょう。それぞれの詳細ページには、出典と確認日が記載されています。deedglass.com/compare をご覧ください。

必要なもの使うものDeedglass の役割
読み取り専用のエージェントSELECT 以外の権限を持たない Postgres ロール。エージェントがどんな指示を送ってもデータを変更できず、インストールも不要です。不要です。書き込みが必要なエージェント向けのツールです。 (比較)
エージェントが変更を試せる場所データベースブランチ:Neon のブランチはデータのコピーオンライトクローンであり、Supabase のブランチはデフォルトで本番データなしで作成されます。本番環境に反映しなければならない書き込みに対し、まずルールを適用し、その後チェックと記録を行います。 (比較)
多数の MCP サーバーのルーティング、分離、認証情報管理Docker のものなどの MCP ゲートウェイ。各サーバーを分離されたコンテナで実行し、認証情報を注入します。ゲートウェイの背後で、Postgres に書き込むサーバーを対象にします。 (比較)
各ステップのトレースと評価Langfuse または LangSmith。これらと併用します。トレースはエージェント側から見た記録であり、チェックでは Postgres がコミットした内容を読み取ります。 (比較)
Postgres、Kubernetes、HTTP の通信レベルでのルール解析済みのトラフィックに対するルールで各操作を制御する Claw Patrol。こちらも最初に判断します。さらに、Postgres がコミットした内容のチェック、オフラインで誰でも検証できる記録、取り消し機能を追加します。 (比較)
エージェントの送信内容とツールからの応答のスキャン双方向の MCP トラフィックをスキャンするエージェントファイアウォール、Pipelock。各呼び出し後に Postgres がコミットした内容をチェックし、行を取り消す機能を追加します。 (比較)

インストール

方法コマンド
npx(インストール不要)npx -y deedglass help
インストールスクリプト(macOS、Linux)curl -fsSL https://raw.githubusercontent.com/deedglass/deedglass/main/scripts/install.sh | sh
バイナリ最新リリースにある macOS、Linux、Windows 用アーカイブ。checksums.txt 付きです
Gogo install github.com/deedglass/deedglass/cmd/deedglass@latest(CLI のみ。Console は含まれません)
Dockerチェックアウトしたソースからイメージをビルドします:make web-build docker(タグは deedglass:dev。Node 24 で Console をビルドします)

インストールスクリプトは、お使いのプラットフォーム用のリリースアーカイブをダウンロードし、sha256 をリリースの checksums.txt と照合してから、deedglass を ~/.local/bin にコピーします。実行前に内容をご確認ください: scripts/install.sh。公開コンテナイメージは近日公開予定です。公開されるまでは、上記の方法でローカルにイメージをビルドしてください。チェックサム、署名、SBOM については、docs/INSTALL.md をご覧ください。

エージェントクライアントに追加する

Cursor に追加 VS Code にインストール · LM Studio · Goose · Claude Desktop · すべてのクライアント

claude mcp add deedglass -- npx -y deedglass mcp serve

キーを含むリンクはありません。まず npx deedglass init を実行してください。各クライアントは、Deedglass に対して、書き込まれたキーを問い合わせます。

このリポジトリ独自のマーケットプレイスから利用できる Claude Code プラグイン(MCP サーバー、/deedglass:scan、/deedglass:wrap、/deedglass:watch コマンド、スキャン結果の読み取りと、エージェントに Postgres への安全なアクセスを許可するスキル):

/plugin marketplace add deedglass/deedglass
/plugin install deedglass@deedglass

ソース付きのすべての形式:docs/INSTALL_CLIENTS.md。

SDK とクライアント

  • TypeScript: @deedglass/sdk。AI SDK、OpenAI Agents SDK、LangChain、Claude Agent SDK 用のアダプターを提供します。
  • Python: pip install deedglass。LangChain と Claude Agent SDK 用のアダプターを提供します。
  • Go: github.com/deedglass/deedglass/pkg/deedglass。
  • MCP: deedglass mcp wrap は任意の stdio MCP サーバーを制御し、deedglass mcp serve は Claude Desktop、Claude Code、Cursor、VS Code、Windsurf 向けのリモートサーバーを制御します。

コネクター

Postgres(Proven)、REST、GitHub、Slack、Stripe(テストモードのみ)、Gmail の下書き、Notion、リモート MCP サーバーに対応しています。認証情報は暗号化された保管庫に保存され、すべての外部への呼び出しは単一の出口を通ります。docs/CONNECTORS.md を参照してください。

数値

項目測定値目標
Gate · 証人なしで許可p50 5.81 ms · p99 19.4 msp50 < 5 ms · p99 < 25 ms(p50 は未達)
Policy · 50 ルールp99 148 µsp99 < 1 ms
Witness · 100 writes/s で L2p50 118 ms · p99 317 msp50 < 1 s
Verify · 100,000 件の記録1.53 s · 80.9 MiB< 5 s · < 256 MiB
Stop · 2 インスタンス間20 回の試行で最大 23.5 ms< 2 s

測定方法と未達項目については、docs/BENCHMARKS.md を参照してください。

セキュリティ

攻撃テストスイートは、各リリース候補で実サーバーと実際の Postgres に対して 82 件のケースを実行します。 82 件が一致し、差異は 0 件です(attack/results/latest.json、docs/ATTACK_SUITE.md)。 脆弱性は非公開で報告してください:SECURITY.md。

無料機能から deedglass.com にデータが送信されることはありません。無料スキャンはマシン上のファイルを読み取り、--postgres-dsn-env を指定した場合は、指定したデータベースにのみ接続します。Pro ライセンスは Dodo Payments と deedglass.com を使って確認されます。deedglass serve は起動時とその後は毎日確認し、Pro コマンドは実行時に確認します。最後に成功した確認から 1 日経過している場合、時計が最後の確認時刻または確認された最新時刻より 5 分を超えて遅れている場合、あるいは licence.clock が存在しない、読み取れない、または変更されている場合は、リクエストが送信されます。deedglass licence activate、refresh、deactivate は常に外部に接続します。DEEDGLASS_NO_NETWORK=1 はライセンス確認の呼び出しのみをすべて停止します。deedglass version --check と deedglass policy install および policy packs の --latest オプションは、使用時に GitHub に接続します。 デフォルトではヘッドのタイムスタンプは無効です。deedglass.yaml に TSA または透明性サービスを指定すると、deedglass deeds timestamp と各エクスポートは、それらのサービスにのみ接続します。 ネットワークを無効にした場合、Pro は最後に成功した確認から最大 14 日間、キャッシュ済みのトークンで動作します。各リクエストに含まれる内容については、docs/LICENSING.md を参照してください。

貢献

CONTRIBUTING.mdをお読みください。make dev、make ci、変更に必要なテスト、DCO の署名(git commit -s)について説明しています。質問は Discussions(SUPPORT.md)へお寄せください。意思決定の方法についてはGOVERNANCE.mdをご覧ください。

Deedglass によってログからは分からなかったことが見えたなら、GitHub でスターを付けていただくと、ほかの人にも見つけてもらいやすくなります。

ライセンス

コア、SDK、CLI は Apache-2.0 です。ee/の Pro 機能は FSL-1.1-ALv2 でライセンスされており、リリースから 2 年後に Apache-2.0 になります。リリースバイナリ、@deedglass/cli-* npm パッケージ、コンテナイメージにはee/が含まれるため、それらのライセンスはApache-2.0 AND FSL-1.1-ALv2です。

FSL-1.1-ALv2 では、競合する製品の提供を除き、ee/を自由に閲覧、実行、変更できます(ee/LICENSE)。Deedglass が安全性のために行うすべてのことは無料で、ee/の対象外です(docs/LICENSING.md)。その他のライセンスはLICENSEをご覧ください。サードパーティに関する通知はNOTICEに記載されています。

記録仕様(spec/:deed 形式とエクスポートバンドル)と、意図と実際の効果に関するコーパス(corpus/)は CC-BY-4.0 のもとで公開されているため、クレジットを表示すれば、誰でも実装、複製、改変できます。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。