Vibeleaderboard
Index / tool
Visit github.com
Category
AI Agents
Rank
Pricing
Open Source
Platform
cli
Type
TOOL
Builder
embabel
Latest release
v1.5.2
Date

About

A JVM-based agent framework, created by Spring's original author, that mixes LLM-prompted steps with strongly-typed domain models and code. It uses a Goal-Oriented Action Planning (or pluggable Utility AI) algorithm to dynamically plan and replan action sequences toward goals, rather than relying on static state machines.

What it does

Embabel lets teams assemble agent behavior from reusable actions, goals, conditions, and typed business objects. Developers define the available capabilities, while the runtime evaluates current data, selects executable steps, and reassesses conditions after every result. Flows can use Spring-style annotations or a Kotlin DSL, with focused, intent-selected, and open execution modes.

Why it's ranked here

The framework has a serious architectural case for enterprise agent work. Typed models, explicit executable steps, pluggable planning, Spring integration, and separate testing support make it more disciplined than prompt-driven orchestration alone. Its broad module structure also covers observability, retrieval, model providers, MCP, and agent-to-agent communication. The cost is substantial framework commitment and reduced predictability in its most capable mode.

What's good

Strong typing keeps prompts, application code, and domain behavior connected through refactorable objects instead of loose maps. Plans are reconsidered after every action, so new information can change the route. The same action set supports strict goal planning and utility-based exploration. Focused and closed modes let teams limit autonomy, while approval controls can further restrict goal selection in open mode.

Tradeoffs

Open execution is explicitly the least deterministic mode, and any LLM-backed step still produces nondeterministic results. The framework brings a sizable Spring, Kotlin, Maven, and JVM dependency surface. Natural-language deployment of actions and goals, evolving multi-goal processes, and federation are described as future work. Dynamic composition also demands careful action boundaries, conditions, costs, and permissions from application developers.

How to use it well

Choose it for Java or Kotlin teams building business agents that must combine model calls with transactions, persistence, typed data, and testable code. Start with focused flows for event-driven tasks, then use closed selection when several agents share one platform. Reserve open execution for cases where novel action combinations justify weaker predictability. It does not define your business operations or prompts for you; every executable step still needs implementation and control.

Technical notes+

The root pom.xml defines a Maven reactor with API, A2A, autoconfiguration, domain, MCP, observability, RAG, shell, skills, test-support, OpenAI, Anthropic, and ONNX modules. embabel-agent-api/pom.xml packages a JAR, compiles Java and Kotlin sources, and depends on Spring AI chat, vector-store, retry, and MCP client components. embabel-agent-mcp/pom.xml is a parent for MCP server and security modules using Spring AI's WebMVC MCP server starter. embabel-agent-a2a/pom.xml packages the agent-to-agent protocol integration with Spring WebMVC and the A2A Java specification. flake.nix supplies a JDK 21 and Maven build, wraps the shell JAR as an executable, and provides development shells for CI and documentation work.

Observed

License
Apache License 2.0
Primary language
Kotlin, with Java source compilation and a documented Java usage model
Packaging
Multi-module Maven project producing JAR artifacts, with the API available through Maven Central
Library interfaces
Spring-style annotations, a fluent API, and a Kotlin DSL
Protocol surfaces
Dedicated MCP server and security modules, plus an agent-to-agent protocol JAR
Platform
JVM framework with a Nix build using JDK 21 and Maven

Read from README.md, pom.xml, embabel-agent-docs/chunk.py, LICENSE, CLAUDE.md, flake.nix, flake.lock, CODE_OF_CONDUCT.md, README-appendix.md, .sonarcloud.properties, spotbugs-concurrency.xml, .github/dco.yml, embabel-agent-a2a/pom.xml, embabel-agent-api/pom.xml, embabel-agent-mcp/pom.xml.

What it can do

  • Author agentic flows combining LLM prompted steps with typed domain models and code

    JVM domain models and codeAgentic flow

  • Dynamically plan and replan action sequences toward goals using goal-oriented action planning or pluggable utility AI

    Defined goalsPlanned action sequence

Tags

agent-frameworkjvmkotlinjavaspringgoapplanningagentic-ai

Tech Stack

Java

Comments (0)

No comments yet

Editorially curated, with community endorsements as a secondary signal. Corrections welcome.