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

> Explore 24 Spring Boot starters for Embabel. Discover auto-configuration for LLM providers, observability, Spring MVC, and core agent services. Enhance your agent development.

- Repository: [Embabel/embabel-agent](https://github.com/embabel/embabel-agent)
- Tags: getting-started
- Published: 2026-08-09

---

**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](https://github.com/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`](https://github.com/embabel/embabel-agent/blob/main/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`](https://github.com/embabel/embabel-agent/blob/main/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:

```properties

# 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`](https://github.com/embabel/embabel-agent/blob/main/embabel-agent-starters/embabel-agent-starter-observability/pom.xml)). This integrates Spring Boot Actuator, Micrometer metrics, and distributed tracing support.

```java
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:

- **embabel-agent-starter-mcpserver**: Auto-configures an embedded MCP server for local testing ([`embabel-agent-starters/embabel-agent-starter-mcpserver/pom.xml`](https://github.com/embabel/embabel-agent/blob/main/embabel-agent-starters/embabel-agent-starter-mcpserver/pom.xml))
- **embabel-agent-starter-mcpserver-security**: Adds authentication and authorization layers to the embedded MCP server

## Web and Communication Starters

### embabel-agent-starter-webmvc

Build REST endpoints with the **WebMVC starter** ([`embabel-agent-starters/embabel-agent-starter-webmvc/pom.xml`](https://github.com/embabel/embabel-agent/blob/main/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`](https://github.com/embabel/embabel-agent/blob/main/pom.xml):

```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:

```kotlin
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`](https://github.com/embabel/embabel-agent/blob/main/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.