Skip to content

About

Python and TypeScript clients for MC-1 Trust and AATS readiness

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

3 Commits

Folders and files

Repository files navigation

MC-1 Trust SDK

Developer clients and an AATS readiness CLI for the MC-1 Trust API. This repository is the public source distribution. Registry package releases are identified separately in GitHub Releases; do not assume pip install mc1-trust or npm install @mc1/trust is available unless the release notes say so. AATS is a public working draft. A readiness result is not certification or independent assurance.

Python

python -m pip install -e ./python
mc1 trust init --output aats.json
mc1 trust check --file aats.json
mc1 trust scan --file aats.json --json
mc1 trust verify --agent-id tagn_x --action tool:read_invoices

MC1_TRUST_API_URL and MC1_TRUST_API_TOKEN are required for remote verification. HTTPS is required except for explicit loopback development URLs. mc1 trust monitor polls the trust state and exits nonzero when it leaves ACTIVE; mc1 trust certify explains the independent assessment requirement and does not issue certificates.

from mc1.trust import Agent, TrustClient

client = TrustClient.from_env()
agent = Agent(identity="agent_x", policy="enterprise", client=client)
state = agent.trust_state()
agent.require_authorized(action="tool:read_invoices")

TypeScript

import { Agent, TrustClient } from "@mc1/trust";
const client = new TrustClient({ baseUrl: process.env.MC1_TRUST_API_URL!, token: process.env.MC1_TRUST_API_TOKEN! });
const agent = new Agent({ identity: "agent_x", policy: "enterprise", client });
await agent.requireAuthorized("tool:read_invoices");

Remote requests use GET /v1/trust/agents/{agent_id} and POST /v1/trust/decisions. A decision must contain decision: "allow" and state: "ACTIVE"; missing fields, errors, redirects, inactive states, and malformed responses fail closed. Action strings must match the registered agent policy exactly. Clients do not independently validate certificate signatures; the reference repository includes pinned-key registry verification.

The local manifest checks a small, documented subset of AATS controls. It cannot discover cloud assets, prove isolation, or attest that configured policies are actually enforced. See examples/aats.json and the CLI report for its precise evidence scope.

schemas/readiness-manifest.schema.json describes the shared CLI and Action input. The checker validates its required fields and values and does not currently implement full JSON Schema validation.

Security

Clients fail closed on transport errors, malformed responses, or an authorization response other than authorized: true. Never place long-lived production tokens in a manifest or source-controlled environment file. See SECURITY.md for reporting instructions.

About

Python and TypeScript clients for MC-1 Trust and AATS readiness

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages