Aroha
Get started
All documentation

DocsStart

Support Matrix

Owner: @projectmed99 · Measured: 2026-10-19 on branch fix/audit-remediation (after the support-gap work) · Review: every release, and in the same PR as any change to a row below.

What Aroha works with, and how sure we are. Every row says how it is verified — a claim with no test says so. Positioning context: What Aroha is (and is not).

MarkMeaning
✅Implemented and covered by automated tests that run in CI
🧪Implemented; no automated test in this repository
📄A documented integration path, not verified against that product from this repository
⚠️Partial — see the note
❌Not supported

Released 2026-10-19. Everything on this page is published: npm (tag npm-v2026.10.19, 32 packages) and PyPI aroha 2.0.0 (tag python-v2.0.0). Both tags were made in the private development repository; this public repository has no tags or releases yet. The Java SDK and Go module are not released (see SDKs).


At a glance

AreaSupported today
LanguagesTypeScript (reference) · Python (beta) · Go (partial) · Java (partial)
ProtocolsMCP 2026-07-28 (stdio and Streamable HTTP + OAuth) · A2A 1.0 · OpenTelemetry (OTLP) · SSF/CAEP security events
FrameworksLangChain · LangGraph · CrewAI · AutoGen · Google ADK · OpenAI and OpenAI Agents SDK (Python) · LangChain · Composio · OpenClaw · Hermes Agent / ZeroClaw (TypeScript) ✅
HarnessesAny stdio MCP client via mcp-guard (Claude Desktop, Claude Code, Cursor, Windsurf, Cline, Zed) · Aroha runtime (desktop) · remote MCP with enterprise sign-in (ID-JAG) and MCP Tasks ✅ — Remote-MCP hosts (ChatGPT, Codex, Meta Muse, Claude, Duet) 📄
ModelsModel-agnostic protocol. Runtime: Anthropic, OpenAI, Google Gemini, any OpenAI-compatible endpoint, and local Ollama / vLLM / LM Studio / custom URL ✅ (Gemini and custom endpoints tested against local stubs, not live services)
Coding agentsFour Agent Skills (SKILL.md), validated; llms.txt index

Integration paths — easiest first

The fastest way for an existing agent to adopt Aroha. The aroha-integrate Agent Skill walks a coding agent through choosing and applying one, then proving the refusals.

PathWho it is forEffortWhat you getStatus
A. Wrap an MCP server with mcp-guardAnyone using MCP tools in an assistantConfig change, no codeBlock / approval gate / per-session limits on every tool; audit log✅
B. Verify mandates in a handlerOwners of a tool server or API that agents call~10 linesRefuse anything outside the person's signed grant, offline; holder proof over MCP (_meta) or plain HTTP (Aroha-Mandate header)✅ (needs the 2.x release on npm)
C. Issue and present a mandateAgents acting on a person's behalf~15 linesA narrowing, use-limited, expiring grant carried with each call✅
D. Run the Aroha runtimeA person's own assistantInstallDeny-by-default tools, approvals with saved, revocable permissions, receipts, rooms✅
E. Remote MCP connectorHosted assistants that add remote MCP serversDeploy + OAuth providerAroha registry and mandate tools as a remote connector⚠️ server ✅, per-host registration 📄

Frameworks

FrameworkLanguagePackageWhat it doesStatusEvidence
MCP (Model Context Protocol, 2026-07-28)TS@aroha-sdk/mcp-bridgeMCP tools ↔ Aroha capabilities; wrapMcp(); mandate carriage in _meta["aroha/mandate"] with holder proof✅5 test files
MCP — guardTS@aroha-sdk/mcp-guardFirewall in front of any stdio MCP server✅2 test files
MCP — serverTS@aroha-sdk/mcp-serverAroha registry and mandate tools as an MCP server: stdio and remote (Streamable HTTP + OAuth, CIMD, RFC 9728)✅4 test files; verified scope
A2A 1.0 (Linux Foundation)TS@aroha-sdk/a2a-bridgeMessage mapping, JSON-RPC client and server, signed agent cards, mandate carriage, GetTask / CancelTask✅61 tests, including CI interop in both directions with the official @a2a-js/sdk 1.3.0
LangChain / OpenAI function toolsTS@aroha-sdk/langchain-bridgeAroha capabilities as LangChain tools, and as OpenAI function tools (any framework that accepts them)✅25 tests, including an end-to-end run through the official openai client
ComposioTS@aroha-sdk/composio-bridgeAroha capabilities as Composio actions✅1 test file
OpenClawTS@aroha-sdk/openclaw-bridgeAroha capabilities as OpenClaw skills and back✅1 test file
Hermes Agent / ZeroClawTS@aroha-sdk/hermes-bridgeAroha agents as MCP stdio servers✅1 test file
LangChain / LangGraphPythonaroha.bridges.langchain_bridge, langchain_v1Capabilities as LangChain tools; wrap a chain or graph as /v1/run✅Tested against the real framework (langchain-core 1.6, langgraph 1.2) with stubbed models, plus framework-free tests that always run
CrewAIPythonaroha.bridges.crewai_bridge, crewai_v1Capabilities as CrewAI tools; wrap a Crew as /v1/run✅Tested against the real framework (crewai 1.15) with stubbed models, plus framework-free tests that always run
AutoGenPythonaroha.bridges.autogen_bridgeCapabilities as AutoGen FunctionTools✅Tested against the real framework (autogen-core / agentchat 0.7 (0.4+; legacy pyautogen 0.2 not supported)) with stubbed models, plus framework-free tests that always run
Google ADKPythonaroha.bridges.google_adkWrap an ADK Runner as /v1/run✅Tested against the real framework (google-adk 2.12) with stubbed models, plus framework-free tests that always run
OpenAI client / Agents SDKPythonaroha.bridges.openai_v1Wrap an OpenAI client or Agents SDK agent as /v1/run✅Tested against the real framework (openai 2.54, openai-agents 0.20) with stubbed models, plus framework-free tests that always run
Converters (A2A, Agntcy, LangChain, MCP)CLI@aroha-sdk/cli aroha convert --from …Generate an Aroha wrapper for an existing agent✅CLI template tests

Harnesses (where an agent runs)

HarnessHow Aroha attachesStatusNotes
Aroha runtime (desktop app, Windows / macOS / Linux)Built in✅Deny-by-default tools, standing permissions, receipts, rooms, kill switch
Claude Desktopmcp-guard or mcp-server (stdio)✅ path · 📄 productInstall steps documented; the MCP stdio protocol is tested, not the Claude Desktop build
Claude Codemcp-guard / mcp-server (stdio); Agent Skills load directly✅ path · 📄 productSame: protocol tested, product not driven from CI
Cursor, Windsurf, Cline, Zedmcp-guard (stdio)✅ path · 📄 productAny stdio MCP client; each product not individually tested
ChatGPT, Codex, OpenAI "dots"Remote MCP connector (plugin / Developer Mode)📄Documented; not tested against ChatGPT
Meta MuseRemote MCP connector (custom connector)📄Documented; not tested against Muse
Claude (custom connectors), DuetRemote MCP connector (custom connector)📄Documented; not tested against Claude; Duet access is by waitlist
Agent-to-agent hosts (A2A)a2a-bridge server and client✅CI interop with the official A2A SDK in both directions
Enterprise-managed MCP auth (ID-JAG / Cross App Access)mcp-server resource-server side✅ path · 📄 production IdPsTested end to end with the MCP SDK's Cross App Access provider against a reference IdP and authorization server; not yet against Okta, Entra or Keycloak. Details
MCP Tasks extension (io.modelcontextprotocol/tasks)mcp-server (aroha_call)✅Per-user scoped, bounded, cancellable; polling (no task notifications); in-memory per process

Agents

AgentWhat it isStatusPublished
GitHub, JiraProvider agents over the real APIs (issues, PRs, transitions)✅ 2 test files eachnpm @aroha-sdk/github-agent, @aroha-sdk/jira-agent 1.0.0; source not in this repository
Salesforce, Stripe, ZendeskProxy agents over the real APIs✅ 2 test files eachnpm @aroha-sdk/salesforce-agent, @aroha-sdk/stripe-agent, @aroha-sdk/zendesk-agent 1.0.0; source not in this repository
Gmail MCP serverSearch, read, label, draft over the ordinary Gmail API✅npm @aroha-sdk/gmail-mcp
Personal agentReference orchestrator✅No — reference
Mock provider, sandbox agents (flight, hotel, weather, web search, summarizer)Mock data, for demos and tests✅Examples

Models

The protocol never calls a model: mandates, verification and receipts are model-agnostic and work with any model behind any framework above. The table is the Aroha runtime's own inference support.

Provider / engineHowStatusNotes
Anthropic (Claude)Hosted API key✅Streaming and tool calls
OpenAI (GPT)Hosted API key✅Streaming and tool calls
OllamaLocal, detected at 127.0.0.1:11434✅Any model Ollama serves; tool use needs a tool-calling model
vLLMLocal, detected at 127.0.0.1:8000 (OpenAI-compatible)✅Same
LM StudioLocal, detected at 127.0.0.1:1234 (OpenAI-compatible)✅Same
Google GeminiHosted API key✅Streaming and tool calls; tested against a local stub of the Gemini API, not the live service
Any OpenAI-compatible endpoint (Together, Groq, OpenRouter, a company gateway…)openaiCompatibleBaseUrl + key✅Bearer auth only (Azure's api-key header is not supported); https, or http to loopback
Custom local engine URLengineUrl✅Probed before the default ports

SDKs

Full detail: SDK feature matrix.

TypeScriptPythonGoJava
MaturityReferenceBetaPartialPartial
Envelope sign / verify✅✅✅✅
Spending mandates + chain verification (v2)✅✅✅✅
Task mandates✅✅✅✅
Rotatable DIDs + Key Event Log✅✅✅✅
Conversation profile (rooms, consent, turns) verification✅✅✅✅
Registry client✅✅✅✅
Durable stores: nonces, enrollment, spending ledger (Postgres, Redis; one shared layout)✅ (unreleased)✅ (unreleased)❌❌
Publishednpm 2.0.0PyPI 2.0.0Not releasedNot released (no Maven Central credentials)

Published versions

Published on 2026-10-19 (release tags npm-v2026.10.19 and python-v2.0.0, made in the private development repository); verified by installing from the public registries.

PackagePublished versionRegistryStability
@aroha-sdk/core2.0.0npmStable
@aroha-sdk/credentials2.0.0npmStable
@aroha-sdk/run2.0.0npmStable
@aroha-sdk/cli1.3.0npmStable
create-aroha-agent1.3.0npmStable
@aroha-sdk/mcp-bridge3.0.0npmStable
@aroha-sdk/mcp-guard0.2.1npmBeta
@aroha-sdk/mcp-server2.0.0npmExperimental
@aroha-sdk/policy1.3.1npmBeta
@aroha-sdk/delegation0.3.0npmExperimental
@aroha-sdk/a2a-bridge2.0.0npmExperimental
@aroha-sdk/langchain-bridge2.0.0npmBeta
@aroha-sdk/composio-bridge1.2.3npmExperimental
@aroha-sdk/openclaw-bridge2.0.0npmExperimental
@aroha-sdk/hermes-bridge1.2.5npmBeta
@aroha-sdk/telemetry1.2.3npmBeta
aroha (Python)2.0.0PyPIBeta

Stability tiers: COMPATIBILITY.md.

Health metrics

Each figure is from a run on the date given; re-run before quoting. Commit hashes and run numbers refer to the private development repository; the public history starts at 14f09c6.

MetricValueMeasuredHow to reproduce
CI on the branch headPassing2026-10-19, run 39269362862GitHub Actions ci.yml
Workspace tests (TypeScript)4,461 passed; 1 needs a local modelCommit 84003ae (last full workspace run)npm test
Runtime tests2,027 passed of 2,031; 1 needs a local model, 2 timing-sensitive under full-suite load (pass alone), 1 skipped2026-10-19, b63aef34npm test -w apps/aroha-runtime in the private development repository (the runtime is not in this repository)
Conformance suite123 / 1232026-10-19, b63aef34npx vitest run --config vitest.conformance.config.ts
Python SDK tests476 passed (framework suites skip unless installed)2026-10-19pytest in sdks/aroha-py
Java SDK tests174 passed (TypeScript interop included)2026-10-19mvn test in sdks/java
Go SDK tests244 passed, go vet clean2026-10-19go test ./... in sdks/go
Mandate chain verification (2 links, offline)3.6 ms p50 · 4.4 ms p952026-10-19, developer laptop — indicativenpm run benchmark:b6
Agent Skills valid (agentskills validate)4 / 42026-10-19see skills/README.md
Independent implementations0——
Security auditNot yet—review scope

Gaps we know about

  • Hosted assistants (ChatGPT, Codex, Muse, Claude, Duet) and individual MCP clients are documented paths, not tested products — they need accounts on those products.
  • Gemini and custom OpenAI-compatible endpoints are tested against local stubs, not the live services; Azure OpenAI's api-key header is not supported.
  • Enterprise sign-in (ID-JAG) is tested against a reference IdP, not a production one.
  • MCP Tasks are polling-only and held in memory per process (several instances must route on Mcp-Name).
  • Multi-hop task-chain verification and task receipts are TypeScript-only.
  • Pre-built provider agents are published to npm (1.0.0, 2026-06-23), but their source and tests are not in this repository.

This page is the repository file docs/support-matrix.md, copied October 28, 2026.