What Spring Boot Starters Are Available for Embabel? Complete Module Guide

Embabel ships 24 distinct Spring Boot starters in the embabel-agent-starters module, providing auto-configuration for core agent services, LLM providers (OpenAI, Anthropic, Bedrock), MCP servers, observability, and Spring MVC integration.

The embabel/embabel-agent repository organizes its Spring Boot integration through the embabel-agent-starters Maven module. Each starter follows the conventional Spring Boot naming pattern prefixed with embabel-agent-, bundling dependencies and auto-configuration classes discovered via the spring.factories mechanism.

Core Platform Starters

The foundation of any Embabel application relies on these base starters located under embabel-agent-starters/.

embabel-agent-starter

The emabel-agent-starter is the mandatory base artifact. Located at embabel-agent-starters/embabel-agent-starter/pom.xml, it provides the core Embabel services and essential auto-configuration that all other starters build upon.

embabel-agent-starter-platform

For platform utilities including MCP client integration, use the platform starter. This module (embabel-agent-starters/embabel-agent-starter-platform/pom.xml) adds infrastructure components required for model context protocol communications.

embabel-agent-starter-shell

Add interactive command-line capabilities with the Shell starter. When included, it exposes the Embabel Shell CLI, enabled via configuration:


# application.properties

embabel.agent.shell.enabled=true

embabel-agent-starter-observability

Production monitoring requires the Observability starter (embabel-agent-starters/embabel-agent-starter-observability/pom.xml). This integrates Spring Boot Actuator, Micrometer metrics, and distributed tracing support.

import org.springframework.boot.actuate.metrics.MetricsEndpoint;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class MetricsController {

    @Autowired
    private MetricsEndpoint metricsEndpoint;

    @GetMapping("/custom-metrics")
    public Object metrics() {
        return metricsEndpoint.listNames();
    }
}

LLM Provider Starters

Embabel provides dedicated starters for major cloud and local LLM providers, each located in its own submodule under embabel-agent-starters/.

Cloud Provider Integration

  • embabel-agent-starter-openai: Enables OpenAI GPT model integration
  • embabel-agent-starter-openai-custom: Supports custom OpenAI-compatible endpoints
  • embabel-agent-starter-anthropic: Adds Anthropic Claude model support
  • embabel-agent-starter-bedrock: Integrates Amazon Bedrock LLM services
  • embabel-agent-starter-google-genai: Provides Google GenAI (Gemini) access
  • embabel-agent-starter-gemini: Direct Gemini model support (alias configuration)
  • embabel-agent-starter-mistral-ai: Mistral AI model integration
  • embabel-agent-starter-minimax: Minimax LLM support
  • embabel-agent-starter-dashscope: Alibaba DashScope model integration
  • embabel-agent-starter-deepseek: DeepSeek model integration
  • embabel-agent-starter-oci-genai: Oracle Cloud Infrastructure (OCI) Generative AI support

Local and Private Deployment

  • embabel-agent-starter-ollama: Local Ollama model integration
  • embabel-agent-starter-lmstudio: LM Studio local model runtime
  • embabel-agent-starter-dockermodels: Docker-based model runtime support
  • embabel-agent-starter-onnx: ONNX model inference capabilities

MCP Server Starters

For applications acting as MCP servers:

Web and Communication Starters

embabel-agent-starter-webmvc

Build REST endpoints with the WebMVC starter (embabel-agent-starters/embabel-agent-starter-webmvc/pom.xml), which configures Spring MVC for agent exposure.

embabel-agent-starter-a2a

Enable Agent-to-Agent communication protocols with the A2A starter, facilitating inter-agent messaging.

embabel-agent-starter-zai

The Z-AI starter provides integration with Embabel's custom Z-AI platform services.

Adding Starters to Your Project

Include starters via Maven or Gradle using the com.embabel.agent group ID.

Maven Configuration

Add the core starter and specific providers to your pom.xml:

<!-- Core platform -->
<dependency>
    <groupId>com.embabel.agent</groupId>
    <artifactId>embabel-agent-starter</artifactId>
    <version>${embabel.agent.version}</version>
</dependency>

<!-- Example: OpenAI integration -->
<dependency>
    <groupId>com.embabel.agent</groupId>
    <artifactId>embabel-agent-starter-openai</artifactId>
    <version>${embabel.agent.version}</version>
</dependency>

Gradle Configuration

Using Kotlin DSL:

dependencies {
    implementation("com.embabel.agent:embabel-agent-starter:${"$"}{embabelAgentVersion}")
    implementation("com.embabel.agent:embabel-agent-starter-openai:${"$"}{embabelAgentVersion}")
}

Auto-Configuration Architecture

All starters expose configuration classes through the standard spring.factories mechanism. The parent POM at embabel-agent-starters/pom.xml aggregates the 24 starter modules, ensuring consistent dependency management across the Embabel ecosystem.

Summary

  • Embabel provides 24 Spring Boot starters under the embabel-agent-starters module
  • The embabel-agent-starter artifact provides mandatory core platform services
  • LLM integrations cover cloud providers (OpenAI, Anthropic, Bedrock, Google) and local runtimes (Ollama, LM Studio)
  • MCP server starters support both basic embedded servers and secured configurations
  • Observability features require the dedicated embabel-agent-starter-observability for Actuator and Micrometer support
  • All starters use the com.embabel.agent group ID and follow Spring Boot auto-configuration patterns

Frequently Asked Questions

What is the difference between embabel-agent-starter and embabel-agent-starter-platform?

The embabel-agent-starter provides the core agent platform services required by all Embabel applications, while embabel-agent-starter-platform adds specific infrastructure utilities such as MCP client integration. Most applications require the core starter, while the platform starter is needed only when implementing MCP client capabilities.

How do I enable metrics and health checks in my Embabel application?

Add the embabel-agent-starter-observability dependency to your build. This starter auto-configures Spring Boot Actuator endpoints, Micrometer metrics registry, and distributed tracing. Access metrics programmatically via the MetricsEndpoint bean or through HTTP actuator endpoints.

Can I use multiple LLM providers simultaneously?

Yes. The Embabel architecture supports including multiple LLM starters (such as embabel-agent-starter-openai alongside embabel-agent-starter-anthropic) in the same application. Each starter configures its respective client independently, allowing your agent to route requests to different providers based on configuration or runtime logic.

Which starter should I use for local development without cloud API keys?

For local development, use embabel-agent-starter-ollama or embabel-agent-starter-lmstudio to connect to locally running models. Alternatively, embabel-agent-starter-dockermodels supports containerized model runtimes, while embabel-agent-starter-onnx enables direct ONNX model inference without external API dependencies.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →