Skip to main content

ActGate

ci Python License: MIT

Local IntentLedger and MCP stdio proxy: propose a tool action, approve or deny in an append-only hash-chained ledger, then let an identical tools/call reach one upstream MCP server.

This is not a SaaS. The ledger path stays on disk. dry-run and approve record decisions only; they do not execute tools. The MCP proxy is what executes, and only after approve.

Install

pip install -e .[dev]

CLI quickstart

actgate init
actgate propose --tool shell.exec --args '{"cmd":"ls"}' --blast-tags fs.read
actgate dry-run <intent_id>
actgate approve <intent_id>
actgate verify
actgate list

MCP proxy

Point your MCP client at ActGate instead of the upstream server:

actgate init
actgate mcp --upstream python -m some_mcp_server

Flow:

  1. Client tools/list is forwarded to upstream. Only tools/call is gated; other methods are forwarded.
  2. First tools/call for a tool+args writes a propose event and returns ACTGATE_PENDING intent_id=... (upstream is not called).
  3. Human: actgate approve <intent_id> (or actgate deny <intent_id>).
  4. Identical subsequent tools/call (same tool and args) runs upstream once and appends an execute event. A third call returns already-executed.
  5. Denied intents never hit upstream.

Bare verify checks hash-chain integrity only. Set ACTGATE_SEAL_KEY for optional HMAC seals, or pass verify --require-seal.

Exit codes

Code Meaning
0 ok (propose, approve, verify clean, show/list)
1 deny recorded, or verify found a broken chain / bad seal
2 setup error (missing ledger, bad path, invalid args)

Intent shape

{
  "tool": "shell.exec",
  "args": {"cmd": "ls"},
  "args_hash": null,
  "blast_tags": ["fs.read"],
  "requested_mode": "execute",
  "created_at": "2026-09-06T00:00:00+00:00"
}

What this is not

  • Not a hosted approval product
  • Not a policy DSL
  • No network calls in the ledger core path (the MCP proxy talks to a local upstream process)

Development

pip install -e .[dev]
pytest

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

actgate-0.2.0.tar.gz (14.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

actgate-0.2.0-py3-none-any.whl (13.9 kB view details)

Uploaded Python 3

File details

Details for the file actgate-0.2.0.tar.gz.

File metadata

  • Download URL: actgate-0.2.0.tar.gz
  • Upload date:
  • Size: 14.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for actgate-0.2.0.tar.gz
Algorithm Hash digest
SHA256 9ccd913be6252d9715a2cf137f62b14c77c67e4d9ed817167d9f24f34b0826ad
MD5 e7994812f0c273f420d131d2095da557
BLAKE2b-256 e69ebe416018501d9717b411a6276d32a5670d52327f7b77b8e2e4b8ac199805

See more details on using hashes here.

Provenance

The following attestation bundles were made for actgate-0.2.0.tar.gz:

Publisher: publish.yml on kartsan03/actgate

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file actgate-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: actgate-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 13.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for actgate-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 584e9d3c0d5381bfa572a9868f5738238235d703ebf48cc1bfabb171b80ca7d6
MD5 8d168a3a582799cad29d1b74027302c9
BLAKE2b-256 2b70223b0b4285c1a84d6b3b72b2648079b839e107a21dab8871fb070341ceed

See more details on using hashes here.

Provenance

The following attestation bundles were made for actgate-0.2.0-py3-none-any.whl:

Publisher: publish.yml on kartsan03/actgate

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page