Governance MCP proxy for coding agents -- interposes Kevros verify/attest on every tool call.
This project has been archived.
The maintainers of this project have marked this project as archived. No new releases are expected.
Project description
kevros-code
Governance MCP proxy for coding agents. Interposes Kevros verify and attest calls on every tool invocation, so every action a coding agent takes is cryptographically authorized before it executes and cryptographically recorded after.
Why
Coding agents have root-equivalent blast radius on their target machine — they write files, run shell commands, install packages, push commits. A single untrusted action can exfiltrate secrets, corrupt source, or open a backdoor. Permission-before-power requires that every tool call be gated by a policy evaluation and recorded in an independently-verifiable audit chain. kevros-code is the thin proxy that sits between the agent and its tool layer to enforce that contract without changing the agent's code.
Installation
pip install kevros-code
Quick Start
from kevros_code import GovernedMCPProxy
# Zero config — uses KEVROS_API_KEY env var or auto-signs up for the
# free tier (1,000 calls/month) on first use
proxy = GovernedMCPProxy(agent_id="coding-agent-001")
# Wrap a tool-call function. The proxy intercepts, verifies, and attests.
@proxy.governed_tool
def edit_file(path: str, content: str) -> dict:
# Original tool implementation unchanged
with open(path, "w") as f:
f.write(content)
return {"status": "ok", "path": path}
# Under the hood, every call to edit_file() now:
# 1. Calls verify() with {action: "edit_file", payload: {path, content}}
# 2. If the decision is ALLOW → executes the real tool, records attest()
# 3. If the decision is CONSTRAIN → clamps the payload and records attest()
# 4. If the decision is DENY → raises ToolBlockedByGovernance
How it interposes
kevros-code is a passthrough proxy, not a replacement. The agent's tool code is unchanged; only the wrapper around it changes. The proxy:
- Normalizes the tool call into a canonical request shape (action_type, payload, agent_id, context)
- Calls Kevros
verifyto get a signed ALLOW / CONSTRAIN / DENY verdict - On ALLOW, forwards the call to the real tool and captures the result
- On CONSTRAIN, clamps the payload (bounded fields only) and forwards
- On DENY, raises
ToolBlockedByGovernance— the agent sees a structured refusal, not a silent failure - Records
attest()with the full context + decision + result for every call, producing a hash-chained provenance entry
The resulting audit trail can be verified independently by any auditor with the Kevros public key — no trust in the agent operator is required.
MCP-native mode
If you're running the agent through an MCP (Model Context Protocol) transport, kevros-code can inject as an MCP middleware layer:
from kevros_code.mcp_proxy import install_mcp_proxy
# Wraps every MCP tool call that passes through this server
install_mcp_proxy(
server_name="my-coding-server",
agent_id="coding-agent-001",
policy_id="coding-agents-prod",
)
See examples/mcp_proxy_example.py in the source repo for a full working example.
What you get
- Cryptographic authorization on every action — no action executes without a signed release token
- Hash-chained provenance — every action is recorded in an append-only, tamper-evident ledger
- Dual post-quantum signatures on attestation records (ML-DSA-87 FIPS 204 + SLH-DSA FIPS 205) so the audit trail remains verifiable against quantum-capable adversaries
- Fail-closed — if the governance layer is unreachable, the agent is blocked from acting; it never "defaults to allow"
- Zero code change in the agent itself beyond wrapping the tool calls
Pricing
- Free: 1,000 governance calls per month, no credit card, auto-signup on first use
- Starter ($29/mo): 5,000 calls/month for individual developers
- Professional ($149/mo): 50,000 calls/month with priority support
- Enterprise ($499/mo): 500,000 calls/month with SLA and dedicated support
Higher-tier plans and Azure/AWS Marketplace Managed Application deployments are available at https://marketplace.microsoft.com/en-us/marketplace/apps/taskhawk.kevros-ai-governance-gateway.
Documentation
- API reference: https://governance.taskhawktech.com/api
- Protocol spec:
docs/specs/in the source repo - Platform: https://www.taskhawktech.com/platform
License
BSL-1.1 (Business Source License 1.1). Commercial use requires a license agreement with TaskHawk Systems, LLC. Contact sales@taskhawktech.com.
Support
- GitHub Issues: https://github.com/taskhawk-systems/kevros/issues (private; request access)
- Email: support@taskhawktech.com
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file kevros_code-0.3.14.tar.gz.
File metadata
- Download URL: kevros_code-0.3.14.tar.gz
- Upload date:
- Size: 15.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dfd3acd736e44f7bf43bf65c32e871082e4202d42564c889ad16d6735f480f6d
|
|
| MD5 |
dbaf52076c9b311b1b2f7463fdc66e6b
|
|
| BLAKE2b-256 |
fd5eb4a1fb403ee7141b4d8a8c1e7aef1cf38fa45bb9b42092ce297226e413c3
|
File details
Details for the file kevros_code-0.3.14-py3-none-any.whl.
File metadata
- Download URL: kevros_code-0.3.14-py3-none-any.whl
- Upload date:
- Size: 10.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ddd5acf023bbada460484b3904eb9be337908b95f246e764815bf68dd7961769
|
|
| MD5 |
20a299476a89df6a78797559005df792
|
|
| BLAKE2b-256 |
fa45b94847014d6a652c154b5cb83d8e1646cc292f808602f7e331cb0813bcb8
|