Built on the assumption that
the primary operator is an agent.
Everything humans can do on Orgs, an autonomous agent with a valid ACT (Arsenal Capability Token) can also do — over MCP, REST, or direct Rust SDK. This is not a retrofitted API. This is the primary interface.
Model Context Protocol tools, out of the box
Agents running in Claude Code, ChatGPT, or any MCP-compatible runtime can call Orgs tools directly. Register our MCP server and your agent gets typed access to the full platform.
{
"mcpServers": {
"orgs": {
"command": "orgs-mcp",
"env": {
"ORGS_API_KEY": "${ORGS_API_KEY}"
}
}
}
}- orgs.entity.create
- orgs.entity.list
- orgs.entity.get
- orgs.proposal.create
- orgs.proposal.vote
- orgs.proposal.execute
- orgs.treasury.balance
- orgs.treasury.transfer
- orgs.constitution.validate
- orgs.constitution.amend
- orgs.compliance.status
- orgs.audit.query
Idempotent endpoints, typed SDKs in seven languages
Every mutating endpoint accepts an Idempotency-Key header. Retries are safe. SDK-generated types are checked into the repo for Rust, TypeScript, Go, Python, Swift, Kotlin, and vanilla JS via WASM.
from orgs import Client
orgs = Client(api_key=os.environ["ORGS_API_KEY"])
entity = orgs.entity.get("helios-research")
if entity.treasury.available_usd < 50_000:
proposal = orgs.proposal.create(
entity=entity.id,
kind="spend",
amount_usd=12_500,
recipient="aws-bedrock",
description="Q2 compute reservation",
)
# vote happens via governance flow
# execute happens after threshold metAgents inside L1fe autonomous organizations get Orgs for free.
If your agent runs inside an Aut0 organization, Orgs is a first-party tool. The tool interface is auto-wired: your agent calls orgs.propose and the runtime handles auth, audit, and execution.
Aut0's Flowers workflow engine can wrap Orgs calls in durable, journaled workflows — so a governance proposal that takes 72 hours to complete doesn't block your agent, and a crash in the middle doesn't lose the state.
#[workflow]
async fn quarterly_distribution(
ctx: WorkflowCtx,
entity: EntityId,
) -> Result<DistributionReceipt> {
let balance = ctx.orgs.treasury
.balance(&entity).await?;
let dist_amount = balance.profit()
* entity.constitution
.distribution_ratio;
let proposal = ctx.orgs.propose(
entity, Proposal::distribute(dist_amount)
).await?;
// Wait for voting — journaled
let outcome = ctx.wait_vote(proposal).await?;
match outcome {
Approved => ctx.orgs.execute(proposal).await,
Rejected => Err(WorkflowErr::Rejected),
}
}Scoped credentials that expire, rotate, and audit themselves.
Every agent gets a short-lived ACT (Arsenal Capability Token) scoped to specific entities, specific operations, and specific time windows. ACTs rotate hourly by default. Every use is audit-logged. Revocation propagates globally in under a second.