Proto OS
Generates an Obsidian vault of wikilinked notes representing the system's object graph, including principals, budgets, mandates, receipts, tasks, and approvals, with integrity checking via unresolved link detection.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Proto OS delegate a price comparison task with a $150 budget"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ProtoOS v0.2.0 — Unified Autonomous Protocols Operating System
Reference implementation of a policy-governed control plane that composes existing agent protocols — MCP, A2A, AP2 mandates, x402, MPP, UCP/ACP-style commerce, AG-UI, ANP/DID-style identity — into one environment where agents are built, discovered, coordinated, authorized, paid, and audited.
Pure Python 3.12 standard library (+ optional cryptography for Ed25519, with OS-verified HMAC fallback). Zero network required.
Related: OpenMesha · rui · server-os
Surfaces
Surface | Entry |
CLI |
|
SDK |
|
MCP Server |
|
HTTP/JSON-RPC + SSE |
|
Multi-agent workflows | discovery + budgeted |
Skills |
|
Constellation + Vault |
|
CI |
|
AGENTS.md | Coding-agent contract at repo root |
Requirement audit |
|
Related MCP server: Enterprise MCP Gateway and Tool Registry
New in 0.2.0 — Constellation & Obsidian vault
The world is now a first-class graph, at parity with the web console's Constellation tab.
protoos.graph.build_graph(os)derives the live object graph — principals, budgets, MCP servers/tools, AP2 mandate chains, receipts, tasks, pending approvals — with the same node-type/edge-kind vocabulary as the browser build (parity-checked: MATCH).protoos.graph.layout(graph, seed=…)is a deterministic force layout. Exports:to_json,to_dot,to_svg.protoos.vault.write_vault[_zip](os, dest)writes an Obsidian vault of wikilinked notes;unresolved_links()proves integrity.Hardening:
AuditLog.appenddeep-copies payloads;TraditionalRailretains receipts.
python3 -m protoos.graph out/ # constellation.{json,dot,svg}
python3 -m protoos.vault vault.zip # Obsidian vault
python3 demo.py # also writes both artifacts
python3 -m protoos.cli statusQuickstart
python3 -m unittest discover -s tests # 95 tests
python3 demo.py # end-to-end scenario
python3 -m protoos.verify # traceability audit + live smoke
pip install -e ".[crypto]" # optional Ed25519
protoos statusfrom protoos import ProtoOS, Catalog
from protoos.sdk import ProtoOSClient
os_ = ProtoOS()
os_.engine.add_rule("user", "allow", ["payment.settle"], "amount <= 200")
os_.engine.add_rule("org", "require_approval", ["payment.settle"], "amount > 50")
casey = os_.create_user("casey")
shop = os_.create_merchant("shop")
budget = os_.wallet.create_budget(casey.did, 500.0, window=(300.0, 86400))
catalog = Catalog(shop.did, "shop")
catalog.add("bk1", "Distributed Systems 101", 10.00, "USD", "digital")
receipt = os_.purchase(casey.did, catalog, [{"sku": "bk1", "qty": 2}],
intent_text="buy two intro ebooks", max_amount=100,
budget_id=budget.id, categories=["digital"])
# Intent Mandate -> checkout -> Cart Mandate -> Payment Mandate
# -> policy + budget -> x402 settle -> hash-chained auditSpec → module map
Spec box | Module |
Policy Engine + Mandate Store |
|
Orchestrator / Task Graph |
|
Identity & Credential Service |
|
Discovery & Registry |
|
Observability & Audit |
|
Wallet / Spending Controller |
|
MCP adapter (+OpenAPI→MCP, federation, cache) |
|
A2A adapter + AG-UI event bus |
|
UCP/ACP-style commerce |
|
HTTP/JSON-RPC + SSE transport |
|
Control-plane facade ( |
|
CLI |
|
SDK |
|
Constellation graph |
|
Obsidian vault export |
|
Kubernetes CRDs + Deployment |
|
Skills |
|
Requirement audit |
|
What "reference implementation" means here
Every protocol surface named by the spec is working and tested in-process:
JSON-RPC MCP with paid tools, the A2A task lifecycle, the full AP2
Intent→Cart→Payment mandate chain, x402 challenge/settle with an in-process
facilitator, MPP prepaid sessions, AG-UI event streams over SSE, DID
documents and well-known publication. This sandbox has no network egress,
no Kubernetes cluster, and no external SDKs, so anything that requires the
open internet is implemented against local/loopback equivalents and explicitly
marked partial or deferred in traceability.json — nothing is silently
omitted.
Production hardening path
Rust control plane (X1): module boundaries here mirror the intended services; the Python build is the executable specification.
Storage (X3): in-memory + JSONL → etcd/Postgres / object storage / vector DB.
Rails (M1/X6): official x402/MPP/AP2 SDKs slot into the existing rail seams.
Transports (X4/X5): add gRPC/QUIC beside
httpapi.py.Sandboxing (G4): replace
SandboxedExecutorwith container/microVM isolation.
Design principles
Compose, don't replace
Policy-first autonomy (every sensitive action gated)
Cryptographic mandates + hash-chained audit
Human-in-the-loop as a first-class primitive
Multi-rail everything (tools, messaging, payments, identity)
Offline-first reference with honest partial/deferred markers
License
Apache-2.0. Governance charter draft: GOVERNANCE.md.
Available Tools
5 toolsechoA
Return the message plus the Proto-OS name to confirm the MCP session is alive.
Use as a liveness probe before mux_mount. Read-only, no network, no payment.
Inputs: message. Returns: object
list_mounted_serversA
List MCP servers currently mounted on the in-process mux.
Use after mux_mount. Read-only.
Inputs: no named parameters. Returns: object
list_protocolsA
List protocol families this kernel can govern.
Inventory only. Mounted servers are list_mounted_servers. Read-only.
Inputs: no named parameters. Returns: object
mux_mountA
Register an empty named MCP server on the in-process mux.
Idempotent upsert. No child process, no URL. Local write only.
Inputs: name (required), prefix (required). Returns: object
openapi_stubA
Return a stub MCP server derived from a caller-supplied OpenAPI title.
Offline scaffold only. Does not fetch a spec URL. Not mux_mount.
Inputs: title (required). Returns: object
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 5 tools
Each tool has a clearly distinct target: liveness, protocol inventory, mounted-server inventory, mounting, and OpenAPI stub generation. The descriptions explicitly cross-reference differences (e.g., list_protocols points to list_mounted_servers, openapi_stub says 'Not mux_mount'), so an agent should not confuse them.
Only list_protocols and list_mounted_servers follow a clear verb_noun pattern. echo is a bare verb, mux_mount is an object-first compound, and openapi_stub is a noun phrase with no verb. The names are readable but do not form a predictable naming convention across the set.
Five tools is a well-scoped size for this focused MCP mux/kernel utility. Each tool earns its place and none feel redundant.
The set covers liveness, inventory, mounting, and stub scaffolding, but lacks an unmount/remove operation and offers no way to mount or apply the OpenAPI stub through the mounted-server lifecycle. This leaves a notable create/list-without-delete gap that could cause agent dead ends.
Maintenance
Related MCP Connectors
MCP server for your apps' tools and custom tools, plus hosted AI agents and approval-gated workflows
Hosted AgentLux MCP server for marketplace, identity, creator, services, and social flows.
MCP server exposing the Backtest360 engine API as tools for AI agents.
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA production-grade MCP server designed for multi-tenant, authenticated, and observable AI agent systems, enabling secure tool execution across heterogeneous data sources.67MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to discover and execute tools via a secure MCP server with JWT authentication, RBAC, rate limiting, and audit logging.1MIT
- AlicenseNot gradedqualityDmaintenanceMCP server for the Junction41 platform, providing 125 tools for agent lifecycle, jobs, workspace, payments, bounties, and more, enabling LLMs to interact with Junction41.7 npmMIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to discover and invoke backend tools over MCP JSON-RPC while enforcing 3-legged OAuth 2.0 identity propagation, role-based access control, and protocol transcoding to REST APIs.1Apache 2.0