freshcrate
Skin:/
Home > MCP Servers > atmosphere

atmosphere

Real-time transport layer for Java AI agents. Build once with @Agent โ€” deliver over WebSocket, SSE, gRPC, and WebTransport/HTTP3. Talk MCP, A2A and AG-UI.

Why this rank:Strong adoptionRecent releaseHealthy release cadence

Description

Real-time transport layer for Java AI agents. Build once with @Agent โ€” deliver over WebSocket, SSE, gRPC, and WebTransport/HTTP3. Talk MCP, A2A and AG-UI.

README

Atmosphere

Atmosphere

A framework for building streaming AI agents on the JVM. Atmosphere owns the transport layer โ€” tokens flow from the LLM runtime to the client through a broadcaster you can filter, gate, and observe. @Agent declares the behavior; the framework handles streaming, tool calling, memory, reconnect, authorization, and cost accounting.

Maven Central npm CI: Core CI: E2E CI: atmosphere.js


A @Agent class runs on any of seven AI runtimes (built-in OpenAI, Spring AI, LangChain4j, Google ADK, Embabel, JetBrains Koog, Microsoft Semantic Kernel) and is served over any of five transports (WebTransport/HTTP3, WebSocket, SSE, long-polling, gRPC) plus three agent protocols (MCP, A2A, AG-UI) and six channels (web, Slack, Telegram, Discord, WhatsApp, Messenger). Runtime and transport are swapped by changing a Maven dependency.

Atmosphere owns the broadcaster, which enables capabilities a pure orchestration library cannot provide: per-token PII rewriting in flight, per-tenant cost ceilings that block dispatch at the gateway, durable reconnect that replays mid-stream events after a client drop, triple-gate authorization on the admin control plane.

Quick Start

brew install Atmosphere/tap/atmosphere

# or

curl -fsSL https://raw.githubusercontent.com/Atmosphere/atmosphere/main/cli/install.sh | sh

# Run a built-in agent sample
atmosphere run spring-boot-multi-agent-startup-team

# Or scaffold your own project from a sample
atmosphere new my-agent --template ai-chat

# Import a skill from an allowed skills repo
atmosphere import https://github.com/anthropics/skills/blob/main/skills/frontend-design/SKILL.md
cd frontend-design && LLM_API_KEY=your-key ./mvnw spring-boot:run

@Agent

One annotation. The framework wires everything based on what's in the class and what's on the classpath.

// Registers this class as an agent โ€” auto-discovered at startup.
// Endpoints are created based on which modules are on the classpath:
// WebSocket, MCP, A2A, AG-UI, Slack, Telegram, etc.
@Agent(name = "my-agent", description = "What this agent does")
public class MyAgent {

    // Handles user messages. The message is forwarded to whichever AI runtime
    // is on the classpath (Spring AI, LangChain4j, ADK, etc.) and the LLM
    // response is streamed back token-by-token through the session.
    @Prompt
    public void onMessage(String message, StreamingSession session) {
        session.stream(message);
    }

    // Slash command โ€” executed directly, no LLM call.
    // Auto-listed in /help. Works on every channel (web, Slack, Telegramโ€ฆ).
    @Command(value = "/status", description = "Show status")
    public String status() {
        return "All systems operational";
    }

    // confirm = "..." enables human-in-the-loop: the client must approve
    // before the method body runs. The virtual thread parks until approval.
    @Command(value = "/reset", description = "Reset data",
             confirm = "This will delete all data. Are you sure?")
    public String reset() {
        return dataService.resetAll();
    }

    // Registered as a tool the LLM can invoke during inference.
    // Also exposed as an MCP tool if atmosphere-mcp is on the classpath.
    @AiTool(name = "lookup", description = "Look up data")
    public String lookup(@Param("query") String query) {
        return dataService.find(query);
    }
}

What this registers depends on which modules are on the classpath:

Module on classpath What gets registered
atmosphere-agent (required) WebSocket endpoint at /atmosphere/agent/my-agent with streaming AI, conversation memory, /help auto-generation
atmosphere-mcp MCP endpoint at /atmosphere/agent/my-agent/mcp
atmosphere-a2a A2A endpoint at /atmosphere/agent/my-agent/a2a with Agent Card discovery
atmosphere-agui AG-UI endpoint at /atmosphere/agent/my-agent/agui
atmosphere-channels + bot token Same agent responds on Slack, Telegram, Discord, WhatsApp, Messenger
atmosphere-admin Admin dashboard at /atmosphere/admin/ with live event stream
(built-in) Console UI at /atmosphere/console/

Modules

Capability Module Key types
Streaming transports atmosphere-runtime WebTransport/HTTP3, WebSocket, SSE, long-polling, gRPC โ€” negotiated via AsyncSupport; Jetty 12 QUIC native or Reactor Netty HTTP/3 sidecar
Agent declaration atmosphere-agent @Agent, @Prompt, @Command, @AiTool, @RequiresApproval
AI runtimes atmosphere-ai + atmosphere-{spring-ai,langchain4j,adk,koog,embabel,semantic-kernel} AgentRuntime SPI; capability matrix pinned in AbstractAgentRuntimeContractTest
Multi-agent coordination atmosphere-coordinator @Coordinator, @Fleet, @AgentRef; parallel / sequential / conditional routing; coordination journal
Agent protocols atmosphere-mcp, atmosphere-a2a, atmosphere-agui auto-registered endpoints per @Agent
Channels atmosphere-channels Slack, Telegram, Discord, WhatsApp, Messenger dispatch from one @Command
Memory atmosphere-ai sliding window, LLM summarization; durable via atmosphere-durable-sessions (SQLite / Redis)
Checkpoints atmosphere-checkpoint CheckpointStore โ€” parent-chained snapshots, fork, resume by REST
Reconnect & replay atmosphere-durable-sessions + RunRegistry in atmosphere-ai clients reconnect with X-Atmosphere-Run-Id; AiEndpointHandler replays the mid-stream buffer to the new resource
Sandbox atmosphere-sandbox Sandbox / SandboxProvider; Docker default (--network none, argv-form exec, strict mount); ServiceLoader for Firecracker / Kata / E2B / Modal
Authentication atmosphere-runtime TokenValidator, TokenRefresher, AuthInterceptor โ€” rejects at WebSocket / HTTP upgrade
Admin control plane atmosphere-admin /atmosphere/admin/ UI, /api/admin/* REST, MCP tools; triple-gate (feature flag โ†’ Principal โ†’ ControlAuthorizer)
Flow viewer atmosphere-admin GET /api/admin/flow โ€” JSON graph keyed by coordinationId (nodes, edges, success / failure / avg duration)
Grounded facts atmosphere-ai FactResolver SPI, per-turn; values escaped before prompt injection
Business tags atmosphere-ai BusinessMetadata โ†’ SLF4J MDC (tenant, customer, session, event kind)
Guardrails atmosphere-ai PiiRedactionGuardrail, OutputLengthZScoreGuardrail (tenant-partitioned), CostCeilingGuardrail
Stream-level PII rewrite atmosphere-ai PiiRedactionFilter โ€” BroadcasterFilter auto-installed on every present and future broadcaster when enabled; rewrites tokens before bytes flush to the client
Cost enforcement atmosphere-ai CostCeilingAccountant bridges TokenUsage โ†’ CostCeilingGuardrail.addCost keyed by business.tenant.id; outbound @Prompt blocks once the tenant hits budget
Observability atmosphere-runtime, atmosphere-ai OpenTelemetry spans, Micrometer metrics, token usage; BusinessMdcBenchmark pins the MDC hot-path cost
Permission modes atmosphere-ai PermissionMode.DEFAULT / PLAN / ACCEPT_EDITS / BYPASS / DENY_ALL โ€” runtime config, not redeploy
Evaluation atmosphere-ai-test LlmJudge (meetsIntent, isGroundedIn, hasQuality); AbstractAgentRuntimeContractTest pins the capability matrix per runtime
Skill files atmosphere-agent Markdown system prompts with tool / guardrail / channel sections; classpath-discovered

The AI-runtime capability matrix โ€” which runtimes ship tool calling, structured output, multi-modal input, prompt caching, embeddings, retry โ€” lives in modules/ai/README.md and is enforced by AbstractAgentRuntimeContractTest.expectedCapabilities(), so the matrix and the runtime code cannot drift.

Client โ€” atmosphere.js

npm install atmosphere.js
import { useStreaming } from 'atmosphere.js/react';

function Chat() {
  const { fullText, isStreaming, send } = useStreaming({
    request: {
      url: '/atmosphere/agent/my-agent',
      transport: 'webtransport',         // HTTP/3 over QUIC
      fallbackTransport: 'websocket',    // auto-fallback
    },
  });
  return <p>{fullText}</p>;
}

React, Vue, Svelte, and React Native bindings available. For Java/Kotlin clients, see wAsync โ€” async WebSocket, SSE, long-polling, and gRPC client, shipped in-tree.

Samples

Sample Description
startup team @Coordinator with 4 A2A specialist agents
dentist agent Commands, tools, skill file, Slack + Telegram
ai-tools Framework-agnostic tool calling + approval gates
orchestration-demo Agent handoffs and approval gates
chat Room protocol, presence, WebTransport/HTTP3
ai-chat AI chat with auth, WebTransport, caching
mcp-server MCP tools, resources, prompts
rag-chat RAG with knowledge base search tools
a2a-agent A2A assistant with weather/time tools
agui-chat AG-UI framework integration
durable-sessions SQLite/Redis session persistence
checkpoint-agent Durable HITL workflow โ€” @Coordinator + CheckpointStore + REST approval
ai-classroom Multi-room collaborative AI
channels-chat Slack, Telegram, WhatsApp, Messenger
personal-assistant @Coordinator + AgentFleet over InMemoryProtocolBridge, @AiTool โ†’ crew dispatch, OpenClaw workspace
coding-agent Docker Sandbox provider โ€” clone, read, stream real file bytes to the client

All samples ยท atmosphere install for interactive picker ยท atmosphere compose to scaffold multi-agent projects ยท CLI reference

Getting Started

<!-- Spring Boot 4.0 starter -->
<dependency>
    <groupId>org.atmosphere</groupId>
    <artifactId>atmosphere-spring-boot-starter</artifactId>
    <version>${atmosphere.version}</version>
</dependency>

<!-- Agent module (required for @Agent, @Coordinator) -->
<dependency>
    <groupId>org.atmosphere</groupId>
    <artifactId>atmosphere-agent</artifactId>
    <version>${atmosphere.version}</version>
</dependency>

Optional: atmosphere-ai, atmosphere-spring-ai, atmosphere-langchain4j, atmosphere-adk, atmosphere-koog, atmosphere-embabel, atmosphere-semantic-kernel, atmosphere-mcp, atmosphere-a2a, atmosphere-agui, atmosphere-channels, atmosphere-coordinator, atmosphere-admin. Add to classpath and features auto-register.

Requirements: Java 21+ ยท Spring Boot 4.0.5+ or Quarkus 3.31.3+ ยท Current release: see the Maven Central badge above

Documentation

Tutorial ยท Full docs ยท CLI ยท Javadoc ยท Samples

Support

Commercial support and consulting available through Async-IO.org.

Companion Projects

Project Description
atmosphere-skills Curated agent skill files โ€” personality, tools, guardrails
homebrew-tap Homebrew formulae for the Atmosphere CLI
javaclaw-atmosphere Atmosphere chat transport plugin for JavaClaw

License

Apache 2.0 โ€” @Copyright 2008-2026 Async-IO.org

Release History

VersionChangesUrgencyDate
atmosphere-4.0.50 ### Removed - Pruned dead/unwired internal classes found during a release-readiness audit โ€” none was documented, advertised, or reachable from a user code path: `McpWebSocketHandler` (superseded by `McpHandler`'s direct WebSocket-frame handling), `AgUiSession` (superseded by `ResourceAgUiStreamingSession`), `AiCoalescingBroadcasterCache` (a delegate-only `BroadcasterCache` that the no-arg reflective cache-wiring path cannot instantiate), `AdkArtifactBridge`, `AdkCompactionBridge`, High6/5/2026
atmosphere-4.0.49 ### Added - `atmosphere-crewai` โ€” `AgentRuntime` for the [CrewAI](https://www.crewai.com/) multi-agent framework via an out-of-process Python sidecar. First non-Java runtime adapter in the project; the boundary is `HTTP + SSE` for the request stream plus a loopback `ToolCallbackServer` for Javaโ†’Python tool RPC. Pins 9 capabilities (`TEXT_STREAMING`, `TOKEN_USAGE`, `AGENT_ORCHESTRATION`, `CANCELLATION`, `TOOL_CALLING`, `SYSTEM_PROMPT`, `STRUCTURED_OUTPUT`, `TOOL_APPROVAL`, `PER_REHigh5/28/2026
atmosphere-4.0.48 ### Added - CLI runtime overlays for `anthropic` and `cohere` (`cli/runtime-overlays.json`). Both runtimes had been shipped in `modules/` and documented in the top-level README โ€” `atmosphere-anthropic` since 2026-05-19 (`1195845304`), `atmosphere-cohere` since 2026-05-23 (`1dfebcb5ff`) โ€” but neither had a CLI scaffolding overlay. The command `atmosphere new my-app --template ai-chat --runtime cohere` (or `--runtime anthropic`) now works. Same change adds both artifacts to `bom/poHigh5/25/2026
atmosphere-4.0.47 ### Added - Native Anthropic Messages API runtime in a new `atmosphere-anthropic` module (`1195845304`). `AnthropicMessagesClient` posts directly to `https://api.anthropic.com/v1/messages`, parses the SSE stream (`message_start`, `content_block_start`, `content_block_delta` with `text_delta` and `input_json_delta`, `message_delta` carrying `usage.input_tokens`/`output_tokens`, `message_stop`), and drives the `tool_use` โ†’ `tool_result` loop through the shared `ToolExecutionHelper.High5/21/2026
atmosphere-4.0.46 ### Added - Spring AI Alibaba: unconditional `TOOL_CALLING` / `TOOL_APPROVAL` / `TOKEN_USAGE` (`534317f03d`) โ€” `UsageCapturingChatModel` wraps the configured Spring AI `ChatModel` bean at auto-configuration time; per-thread accumulator captures `ChatResponseMetadata.getUsage()` across every step of the ReAct graph and emits a single `session.usage(TokenUsage)` after each dispatch. Tool calling is no longer gated on `staticChatModel != null` โ€” `SpringAiAlibabaToolBridge` is wired High5/16/2026
atmosphere-4.0.45 ### Added - capability-matrix snapshot + drift gate (`d22d18a7cd`) โ€” new `.harness/capabilities.snapshot.json` is the canonical aggregate of the `AiCapability` enum (20 capabilities) and each runtime's pinned `expectedCapabilities()` (9 runtimes). Regenerated by `scripts/regen-capability-snapshot.sh` and validated by both `scripts/validate-capability-claims.sh` (wired into `scripts/pre-push-validate.sh` Tier 1) and the new `CapabilitySnapshotTest` in `modules/ai-test`. The per-runtime contractHigh5/13/2026
atmosphere-4.0.44 ### Added - predictable-AI primitives โ€” three framework-level capabilities that close gaps Bonรฉr's "Herding LLMs" deck flagged for distributed-system reliability, all declared on every framework runtime so the matrix closes without `@Beta` shims: - `BUDGET_ENFORCEMENT` (`a4fae39464`) โ€” new `AiBudget` value record (max input / output / total tokens, max steps, max wall clock) installed via `pipeline.setDefaultBudget(...)` or per-request `ai.budget` metadata. `BudgetCapturingSession` decoratorHigh5/8/2026
atmosphere-4.0.42 ### Added - atmosphere-verifier โ€” plan-and-verify (Meijer "Guardians of the Agents") New module modules/verifier/ + sample samples/spring-boot-guarded-email-agent/ โ€” sealed Workflow AST, ServiceLoader-discovered PlanVerifier chain (Allowlist/WellFormed/Capability/Taint/Automaton/SmtChecker SPI), @Sink + @RequiresCapability scanners, PlanAndVerify orchestrator, WorkflowExecutor with partial-env on failure, verify CLI; sample REST + UI exercises the inbox-exfiltration scenario end-to-end (refuseHigh5/1/2026
atmosphere-4.0.41 ### Changed โ€” A2A v1.0.0 alignment (wire-breaking) - **`atmosphere-a2a` retracked to A2A v1.0.0** (`a2aproject/A2A@v1.0.0`, released 2026-03-12). The pre-1.0 wire surface was the slash-style method names (`message/send`, `tasks/get`, โ€ฆ) and a polymorphic `Part` envelope; both are gone in v1.0.0. - **JSON-RPC method names switched to PascalCase** per spec ยง9.4 โ€” `SendMessage`, `SendStreamingMessage`, `GetTask`, `ListTasks`, `CancelTask`, `SubscribeToTask`, the four `{Create,Get,ListHigh4/29/2026
atmosphere-4.0.40 ## โœจ Added - **policy plane, multi-agent governance, sample retrofit** - **render tokens / elapsed / tok/s footer on stream complete** - **approve/deny widget for @RequiresApproval tools** - **route demo mode through the pipeline via DemoAgentRuntime** ## ๐Ÿ› Fixed - isolate coordinator types from CommitmentRecordView AOT walk - native-image AOT + CLI E2E SNAPSHOT compat - survive recycled async request during streaming disconnect - ship classic chat SPA at / (was hanging silently) - emit tool-High4/24/2026
atmosphere-4.0.39 ## โœจ Added - **serve /favicon.ico from both starters to kill the default 404 AtmosphereFaviconAutoConfiguration returns the Atmosphere logo PNG on /favicon.ico and /favicon.png for every app using the starter; opt out with atmosphere.favicon.enabled=false.** - **reattach e2e โ€” harness sample + direct-writer replay + CI job RunReattachSupport now writes the joined buffer straight to response.getWriter() (U+001E between events); broadcaster routing fed the payload back into the @Prompt dispatcherHigh4/20/2026
atmosphere-4.0.38 ## โœจ Added - **reinstate PromptCacheDemoChat now that 4.0.37 is on Central** ## ๐Ÿ› Fixed - port CoordinationJournal bridge auto-config - LocalAgentTransport resolves agents lazily to avoid startup race Candidate paths walked on every call; checkpoint-agent sample pulls atmosphere-a2a so @Agent handlers land at a resolvable A2A path. - stop processor-owned journals on framework shutdown - propagate coordinator name as JournalingAgentFleet.coordinationId Canonical id replaces UUID so REST filterHigh4/15/2026
atmosphere-4.0.37 ## โœจ Added - **4.0.36 e2e coverage sweep + framework fixes from audit Ten gap specs, two samples, five framework fixes (checkpoint/cache/binary/capability/HITL).** - **rewrite cloned sample pom.xml for standalone compile Drops relativePath so atmosphere-project parent resolves from Maven Central, pins SNAPSHOT to release, skips repo-local checkstyle/pmd.** - **runtime capability honesty pass โ€” 7 runtimes declare honest capabilities** - **clone samples for 'atmosphere new' instead of mustache teHigh4/14/2026
atmosphere-4.0.36 ## โœจ Added - **InMemoryResponseCache.purgeExpired for eager TTL reclamation Documents the LRU-vs-TTL interaction (expired entries occupy slots until touched) and adds a walk-once purgeExpired() so callers who schedule a background sweeper can reclaim dead slots eagerly. Default lazy-on-get path stays zero-overhead.** - **Tier-1 Ollama real-LLM workflow with structural assertions New e2e-real-llm.yml workflow runs against a local Ollama service container with qwen2.5:0.5b. Covers basic chat throMedium4/13/2026
atmosphere-4.0.35 ## โœจ Added - **build SDKMAN-compatible archive and attach to GitHub Release** ## ๐Ÿ› Fixed - plexus-utils 4.0.3 override, CodeQL XSS sanitizer hints - skip NPM publish when atmosphere.js version already published ## ๐Ÿ”ง Changed - vendor submission kit โ€” publish script and onboarding guide - bump version to 4.0.34 - prepare for next development iteration 4.0.35-SNAPSHOT **Full Changelog**: https://github.com/Atmosphere/atmosphere/compare/atmosphere-4.0.34...atmosphere-4.0.35 High4/10/2026
atmosphere-4.0.34 ## โœจ Added - **add validation gates for unchecked returns + no-op tests Architectural validation now fails on unchecked offer() and expect(true).toBe(true). Fixed 4 offer() calls (use add() or check return). Replaced 4 no-op specs with test.skip().** - **bundle atmosphere-skills as classpath JAR for CI reliability** - **migrate all skills to atmosphere-skills registry, remove local prompts** - **SkillFileLoader with GitHub fallback + SHA-256 integrity, AgentRuntime.generate() PromptLoader.loadSMedium4/10/2026
atmosphere-4.0.33 ## ๐Ÿ› Fixed - rename release.yml back to release-4x.yml (NPM OIDC path-sensitive) ## ๐Ÿ”ง Changed - bump version to 4.0.32 - prepare for next development iteration 4.0.33-SNAPSHOT **Full Changelog**: https://github.com/Atmosphere/atmosphere/compare/atmosphere-4.0.32...atmosphere-4.0.33 High4/8/2026
atmosphere-4.0.32 ## โœจ Added - **add JettyHttp3AsyncSupport โ€” native HTTP/3 via Jetty 12 QUIC connector** - **support container-managed executor injection via atmosphereExecutor bean** - **full Quarkus auto-configuration for admin control plane JAX-RS AdminResource with all REST endpoints, CDI AdminProducer for AtmosphereAdmin bean, admin dashboard HTML, and build step for reflection and bean registration** - **port admin auto-config to SB4 starter (default) Admin dashboard, REST API, metrics, and event stream nMedium4/8/2026
atmosphere-4.0.31 ## โœจ Added - **migrate to JReleaser for Maven Central deploys** ## ๐Ÿ”ง Changed - add 19 Playwright E2E specs from gap analysis - bump version to 4.0.30 - prepare next development version 5.0.22 - prepare for next development iteration 4.0.31-SNAPSHOT **Full Changelog**: https://github.com/Atmosphere/atmosphere/compare/atmosphere-4.0.30...atmosphere-4.0.31 Medium4/4/2026
atmosphere-4.0.30 ## ๐Ÿ› Fixed - skip javadoc for Quarkus extension (broken module descriptors) - replace flaky setTimeout waits with vi.waitFor in WebTransport tests - add metadata and flatten plugin to Quarkus extension POMs - remaining concurrency audit items (M2,M7,M8,M12,L1,L3,L10) - thread safety audit across all modules ## ๐Ÿ”ง Changed - modernize Java 21 patterns and add unit tests - bump version to 4.0.29 - prepare next development version 5.0.21 - prepare for next development iteration 4.0.30-SNAPSHOT *Medium4/4/2026
atmosphere-4.0.29 ## โœจ Added - **add `atmosphere compose` to generate multi-agent projects from skill files Interactive wizard + JBang generator produces multi-module Maven projects with @Coordinator, @Fleet, A2A agents, docker-compose. 23 unit tests + 3 E2E tests (a2a-docker, single-jar, local).** - **add E2E tests for agent and multiagent over WebTransport Enable WebTransport on ai-tools and multi-agent samples, fix info controller** - **migrate a2a-agent and grpc-chat to shared atmosphere.js/chat UI Replace cMedium4/2/2026
atmosphere-4.0.28 ## โœจ Added - **serve agent cards at /.well-known/agent.json for discovery** - **markdown rendering in tool cards, async stream fix** - **add Connect-Web frontend and browser-compatible RPCs** - **migrate from Jackson 2.x to Jackson 3.1.0** - **render structured output JSON as formatted fields, handle entity-complete events** - **enforce channel routing validation and export guardrails metadata** - **responseAs, journalFormat, PostPromptHook; comment ADK for OpenAI-compat use** - **add fake LLM Medium3/28/2026
atmosphere-4.0.27 ## โœจ Added - **annotation processing priority for processor ordering @AtmosphereAnnotation(priority=100) defers processing until all default-priority (0) processors complete** - **add tool-start/tool-result rendering for agent collaboration cards Built-in Vue console now shows each agent's work (Web Search, Strategy, Finance, Writer) before CEO synthesis** - **add multi-agent coordination module @Coordinator/@Fleet/@AgentRef annotations, AgentFleet injection, local+A2A transport, 40 tests, CeoCMedium3/26/2026
atmosphere-4.0.26 ## โœจ Added - **trusted skill sources, remote import tests for 3 repos** - **console auto-detects @Agent endpoint, fix CLI version template** - **auto-discover skill files from META-INF/skills/ on classpath** - **add import plugin system (--target) for extensible skill scaffolding** - **atmosphere import and skills commands** ## ๐Ÿ› Fixed - update AdkEventAdapter test for multi-emit behavior - ADK turnComplete truncation, CEO port detection, dentist langchain4j deps - add missing atmosphere-mcp Medium3/25/2026
atmosphere-4.0.25 ## โœจ Added - **unify annotations between @Agent and @ManagedService** ## ๐Ÿ”ง Changed - show protocol annotations directly on @ManagedService - unit tests for annotation unification (46 tests) - multi-agent hero, unified protocol matrix, samples table, MCP migration example - use LLM_API_KEY, remove tagline date - use LLM_API_KEY, remove Since 2008 section - rewrite README with multi-agent hero and unified transport/protocol matrix - bump version to 4.0.24 - prepare next development version 5.0.Medium3/25/2026
atmosphere-4.0.24 ## โœจ Added - **remove @McpServer/@AgUiEndpoint, upgrade LangChain4j to 1.12.2** - **unified @Agent, rename @A2aSkill to @AgentSkill, multi-agent sample** - **unified @Agent with headless mode, remove @A2aServer and fake multi-agent sample** - **add multi-agent startup team with 5 AI agents collaborating via WebSocket** - **unified AI Console across all samples with logo, subtitle, and dark theme** - **add @Agent + @Command module, samples, and streaming fixes** - **add Atmosphere logo to AI ConMedium3/25/2026
atmosphere-4.0.23 ## โœจ Added - **add ChannelFilter chain with MessageSplitting and AuditLogging** - **auto-bridge channels to @AiEndpoint when atmosphere-ai is present** - **wire Discord auto-config + 28 signature/parsing tests** - **add Discord Gateway adapter (ported from Canot)** - **add omnichannel AI chat sample (Web + Telegram + Slack + Discord + WhatsApp)** - **add Discord, WhatsApp, and Messenger adapters** - **add Telegram + Slack messaging channels (ported from Canot)** ## ๐Ÿ› Fixed - handle Slack URL Low3/22/2026
atmosphere-4.0.22 ## โœจ Added - **add Discord Gateway adapter (ported from Canot)** ## ๐Ÿ› Fixed - harden modules for virtual thread safety and production readiness - use ReentrantLock instead of synchronized to avoid virtual thread pinning - harden AI and MCP modules for production readiness - prevent path traversal in console resource filter - prevent BufferUnderflowException in JSR356Endpoint binary message handler ## ๐Ÿ”ง Changed - remove channels module accidentally committed to main - add Embacle to built-inLow3/22/2026
atmosphere-4.0.21 ## โœจ Added - **zero-code AI auto-config, built-in chat console, and atmosphere-bom** ## ๐Ÿ› Fixed - add spring-boot-ai-console to release exclusions, use BOM in root README - cast int to long before bit-shifting in ClassFileBuffer.readLong() ## ๐Ÿ”ง Changed - update AI provider comment to mention Embacle CLI support - move AI adapters line to intro paragraph, trim core abstractions - restructure README quick start with zero-code AI, @AiEndpoint, and @ManagedService - replace ManagedService quickLow3/20/2026
atmosphere-4.0.20 ## โœจ Added - **add A2A, AG-UI protocol modules and atmosphere-protocol-common** - **prepare create-atmosphere-app for npm publish** ## ๐Ÿ› Fixed - wait for HTTP readiness after port open in E2E sample-server - pass realistic maxMessages to SummarizingStrategy in E2E test ## ๐Ÿ”ง Changed - exclude new samples from release deploy (a2a-agent, agui-chat, rag-chat) - add A2A and AG-UI to main README modules table and agent protocols section - add CLI install tests for curl, npx, and brew on macOS + LLow3/19/2026
atmosphere-4.0.19 ## โœจ Added - **add tool-activity panel to adk-tools and langchain4j-tools** - **add Playwright tests for all 17 samples** - **add Playwright e2e tests to CLI build matrix** - **build-from-source distribution, replace pre-built JAR downloads** - **add AI testing framework with AiTestClient, AiResponse, and fluent assertions** - **auto-emit tool events from ToolRegistry, update generator templates** - **demonstrate AiEvent tool events, capability validation, and event streaming** - **add memory sLow3/18/2026
atmosphere-4.0.14 ## โœจ Added - **add auth, offline queue, history cache, typing indicators, and optimistic updates** - **scaffold complete runnable projects with handler, encoder, decoder, and chat UI** - **add interactive sample installer with fzf/numbered-menu picker** - **add Atmosphere CLI, npx launcher, Homebrew formula, and release workflow** - **add shared frontend and Playwright E2E tests for RAG chat sample** - **add ServiceLoader discovery for MicrometerAiMetrics and top-level tracing** - **expand PlayLow3/14/2026
atmosphere-4.0.13 ## ๐Ÿ› Fixed - stash unstaged changes before rebase in release workflow - use recursive docs/ path in release commit step - adapt GrpcProcessor to Action record API - sync version constant with package.json and eliminate hardcoded version - fix contract violations in Response, Request, and diagnostics ## ๐Ÿ”ง Changed - fix doc version drift and automate version updates in release pipeline - extract shared hook lifecycle and expose manual controls - extract NoOpsRequest and stream adapters from AtLow3/12/2026
atmosphere-4.0.11 ### Fixed - **WebSocket XSS sanitization bypass.** Disabled HTML sanitization for WebSocket transport โ€” HTML-encoding JSON in WebSocket frames broke the AI streaming wire protocol. - **XSS and insecure cookie hardening.** Sanitize HTML output in write methods and set the `Secure` flag on cookies over HTTPS. ### Changed - **Token โ†’ Streaming Text rename.** All AI module APIs, javadoc, and the atmosphere.js client now use "streaming text" instead of "token" to describe LLM output chuLow3/11/2026
atmosphere-4.0.10React Native support, per-endpoint model routing, and architectural validation. ## โœจ Added - **React Native / Expo support** in atmosphere.js โ€” RN hooks, EventSource polyfill, NetInfo injection, and a complete Expo classroom sample app with markdown rendering - **Per-endpoint model override** โ€” `@AiEndpoint(model = "...")` allows different endpoints to use different LLM models without changing global config - **Auto-registered broadcast filters** โ€” new `filters()` attribute on `@AiEndpoint` enaLow3/5/2026
atmosphere-4.0.9Framework-agnostic AI tool calling and conversation cache replay. ## โœจ Added - **`@AiTool` annotation** โ€” framework-agnostic tool calling pipeline that works across Spring AI, LangChain4j, and standalone deployments. Includes sample, tests, and documentation. - **Generator `--tools` flag** โ€” scaffolds `@AiTool` methods for ai-chat handler variants - **AI cache replay coalescing** โ€” reconnecting clients receive coalesced cache replay to avoid duplicate token delivery - **`TokenBudgetManager`** โ€”Low3/4/2026
atmosphere-4.0.8Project generator, `fetch` API migration, and comprehensive E2E test suite. ## โœจ Added - **Project generator** (`atmosphere-generator`) โ€” scaffolds new Atmosphere projects with 31 JUnit 5 tests, shell integration tests, and CI workflow - **13 E2E test specs** covering transport (SSE, long-polling, fallback), security (XSS, auth), resilience (reconnection, ordering), payloads, and OpenTelemetry streaming DOM validation ## ๐Ÿ› Fixed - **Long-polling POST handling** and large-payload test failuresLow3/2/2026
atmosphere-4.0.7AI conversation memory, zero-warning enforcement, and developer experience improvements. ## โœจ Added - **`AiConversationMemory` SPI** โ€” multi-turn conversation support for AI endpoints - **Auto-configured LLM clients** โ€” framework-level LLM clients configured automatically from `AiConfig` environment variables - **Pre-push validation hook** โ€” blocks `git push` unless the build passes ## ๐Ÿ› Fixed - **AI unicast** โ€” tokens are now unicast to the originating resource instead of broadcasting to allLow3/1/2026
atmosphere-4.0.6Advanced AI features: filters, fanout, caching, routing, and budget management. ## โœจ Added - **AI filter pipeline** โ€” composable filters for token streams: fanout, caching, routing, and budget enforcement - **Cache listener coalescing** โ€” batches cache notifications to reduce overhead - **Cost/latency routing rules** โ€” route LLM requests by cost and latency characteristics - **25 Playwright E2E tests** for all 5 AI features - **Playwright E2E job** added to CI workflow ## ๐Ÿ› Fixed - **Durable Low2/27/2026
atmosphere-4.0.5MCP tracing, Spring AI advisors, and multiple framework fixes. ## โœจ Added - **OpenTelemetry tracing for MCP** โ€” tool/resource/prompt calls traced with spans and attributes - **Spring Boot auto-configuration for `McpTracing`** + new OTel chat sample - **Spring AI advisor and customizer support** in `SpringAiStreamingAdapter` ## ๐Ÿ› Fixed - **Object factory ordering** โ€” re-configure object factory after init-params are loaded, fixing injection failures - **Action-type reset** โ€” restored and fixedLow2/26/2026
atmosphere-4.0.4New wAsync Java client, AI retry support, and full JUnit 5 migration. ## โœจ Added - **wAsync Java HTTP client** (`atmosphere-wasync`) โ€” powered by `java.net.http`, supports WebSocket, SSE, HTTP streaming, and long-polling transports with E2E integration tests - **AI retry with exponential backoff** โ€” automatic retry for LLM API calls with configurable backoff policy ## ๐Ÿ”ง Changed - **All tests migrated to JUnit 5** โ€” TestNG removed from the entire codebase - **Dependency versions centralized** Low2/24/2026
atmosphere-4.0.3Room protocol fixes, `RawMessage` API, and Playwright E2E test coverage. ## ๐Ÿ› Fixed - **Room protocol broadcast bug** โ€” `DefaultRoom.broadcast()` now wraps messages in `RawMessage` to bypass `@Message` decoder mangling. Room JSON envelopes (join/leave/message events) are delivered intact to clients. - **`enableHistory()` NPE** โ€” `UUIDBroadcasterCache` is now properly configured before use, preventing `NullPointerException` when room history is enabled. - **Native image build** โ€” Spring Boot saLow2/22/2026
atmosphere-4.0.2AI streaming and sample application fixes. ## ๐Ÿ› Fixed - **AI token broadcast** โ€” tokens now broadcast to all subscribed clients, not just the sender - **Room protocol** โ€” added missing `org.json` dependency for Room protocol message parsing - **Duplicate React instances** โ€” resolved across all sample frontends - **`trackMessageLength`** โ€” corrected for each server configuration - **Members display** โ€” fixed and added local message echo in chat samples - **Central Publishing** โ€” skip Central puLow2/22/2026
atmosphere-4.0.1Post-release polish and cleanup following the 4.0.0 launch. ## ๐Ÿ› Fixed - **`configureMetaBroadcaster` restored** โ€” method accidentally removed during the 4.0 refactor - **Sample version alignment** โ€” all samples aligned to 4.0.1-SNAPSHOT - **CI release workflow** โ€” added missing sample modules to reactor and GitHub Packages publishing - **Embabel dependency** โ€” now uses Embabel 0.3.4 release from repo.embabel.com ## ๐Ÿ”ง Changed - **JSONP transport removed entirely** โ€” dead transport cleaned ouLow2/20/2026
atmosphere-4.0.0Atmosphere 4.0 is a **ground-up rewrite** of the framework for **JDK 21+** and **Jakarta EE 10**. It keeps the annotation-driven programming model and transport abstraction from prior versions, and adds support for virtual threads, AI/LLM streaming, rooms and presence, native image compilation, and frontend framework bindings. This release succeeds the 2.x/3.x line (last release: 3.1.0 / 2.7.16). Applications migrating from 2.x or 3.x should consult the [Migration Guide](https://github.com/AtmoLow2/20/2026

Dependencies & License Audit

Loading dependencies...

Similar Packages

mcp-meshEnterprise-grade distributed AI agent framework | Develop โ†’ Deploy โ†’ Observe | K8s-native | Dynamic DI | Auto-failover | Multi-LLM | Python + Java + TypeScriptv2.4.0
wanakuWanaku MCP Routerv0.1.3
agenttel-sdkAgent-ready telemetry SDK โ€” enriches OpenTelemetry across Java, Go, Python, Node.js, and browser with structured context for AI-driven observability.v0.3.0-alpha
yu-ai-agent็ผ–็จ‹ๅฏผ่ˆช 2025 ๅนด AI ๅผ€ๅ‘ๅฎžๆˆ˜ๆ–ฐ้กน็›ฎ๏ผŒๅŸบไบŽ Spring Boot 3 + Java 21 + Spring AI ๆž„ๅปบ AI ๆ‹็ˆฑๅคงๅธˆๅบ”็”จๅ’Œ ReAct ๆจกๅผ่‡ชไธป่ง„ๅˆ’ๆ™บ่ƒฝไฝ“YuManus๏ผŒ่ฆ†็›– AI ๅคงๆจกๅž‹ๆŽฅๅ…ฅใ€Spring AI ๆ ธๅฟƒ็‰นๆ€งใ€Prompt ๅทฅ็จ‹ๅ’Œไผ˜ๅŒ–ใ€RAG ๆฃ€็ดขๅขžๅผบใ€ๅ‘้‡ๆ•ฐๆฎๅบ“ใ€Tool Calling ๅทฅๅ…ท่ฐƒ็”จใ€MCP ๆจกๅž‹ไธŠไธ‹ๆ–‡ๅ่ฎฎใ€AI Agent ๅผ€ๅ‘ใ€Curs3.1.5
metorial-platformThe engine powering hundreds of thousands of MCP connections ๐Ÿค– ๐Ÿ”ฅdev@2026-06-06

More in MCP Servers

AstrBotAgentic IM Chatbot infrastructure that integrates lots of IM platforms, LLMs, plugins and AI feature, and can be your openclaw alternative. โœจ
agentscopeBuild and run agents you can see, understand and trust.
claude-plugins-officialOfficial, Anthropic-managed directory of high quality Claude Code Plugins.
langchain4jLangChain4j is an open-source Java library that simplifies the integration of LLMs into Java applications through a unified API, providing access to popular LLMs and vector databases. It makes impleme