# Atmosphere/atmosphere

Portable AI agent runtime for the JVM. One @Agent class runs on Spring AI, LangChain4j, Anthropic, or 9 more behind one SPI. Token streaming, tool calls, human approvals, and governance over WebSocket, SSE, gRPC, or WebTransport/HTTP3. Speaks MCP, A2A, and AG-UI.

Repository: https://github.com/Atmosphere/atmosphere
Canonical: https://ross.abutalabs.com/products/atmosphere-atmosphere
Homepage: https://async-io.live
Language: Java
License: Apache-2.0
License Family: permissive
Topics: java, websocket, spring-boot, event-driven, quarkus, mcp, sse, agentic-ai, acp, embabel, koog, langchain4j, multiagent, spring-ai, a2a, ai-agents, anthropic, crewai, llm, rag
Last push: 2026-08-26T00:00:29+00:00

## Health v2 (maintenance only)
Score: 95/100 (v2, computed 2026-09-03T02:39:23.370411+00:00)
- activity 99, release rhythm 87, longevity 100
- inputs: {"age_days": 5908, "days_push": 8, "days_rel": 10, "gap_med": 1.0, "n_releases_24m": 63}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 3796, forks 761 (observed 2026-08-28T04:08:19.957525+00:00)

## What it is
Atmosphere is a portable AI agent runtime for the JVM that lets a single @Agent class run across twelve AI runtimes (Spring AI, LangChain4j, Anthropic, and more) behind one SPI. It provides token streaming, tool calls, human approvals, and governance over WebSocket, SSE, long-polling, gRPC, or WebTransport/HTTP3, and speaks MCP, A2A, and AG-UI protocols.

## Use cases
- stream LLM tokens to browsers over WebSocket or SSE from a Java backend
- build production AI agents on the JVM with tool calls and human approval gates
- swap AI frameworks like Spring AI or LangChain4j without rewriting agent endpoints
- add governance, policy admission, and cost ceilings to AI agent execution
- run durable, resumable agent sessions that survive JVM restarts
- orchestrate multi-agent fleets with live observability
- connect Java agents to MCP, A2A, or AG-UI clients

## When to choose
- you are building AI agents in Java/Kotlin on the JVM and need production-grade transports
- you need framework portability across multiple AI runtimes behind one API
- you require human-in-the-loop approvals, governance policies, or durable resumable runs
- you want real-time streaming (WebSocket/SSE/gRPC) plus MCP/A2A/AG-UI protocol support out of the box

## When to avoid
- you are building agents in Python, JavaScript, or another non-JVM ecosystem
- you need a simple prototype where a direct SDK call to one LLM provider suffices
- you want a fully managed cloud agent platform rather than a self-hosted framework
- your stack has no JVM dependency and adding one is not justified

## Facets
- artifact type: framework
- maturity: active
- function: agent-framework, websocket, rpc, middleware, llm-inference, rag, mcp, chatbot, authorization, streaming
- domain: large-language-models, backend, developer-tools, web-development
- platform: jvm, cross-platform
- tags: ai-agents, agent-runtime, mcp, a2a, ag-ui, human-in-the-loop, token-streaming, sse, grpc, webtransport, governance, durable-sessions, multi-agent, spring-ai, langchain4j, real-time, spring, quarkus

## Member repositories
- Atmosphere/atmosphere (main) score 95

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:08:19.957525+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T18:26:56.000327+00:00, confidence not recorded.
  - readme: https://github.com/Atmosphere/atmosphere (fetched 2026-08-28T04:08:19.957525+00:00, sha a624ce372c4c)
  - homepage: https://async-io.live (fetched 2026-08-29T09:21:47.712237+00:00, sha ddd3faf484b2)
- Data as of 2026-08-30T08:39:29.467469+00:00.
