Base starter module for the Embabel Agent Framework providing core dependencies for building agentic flows on the JVM with Spring Boot integration and GOAP-based intelligent path finding.
Complete installation reference for embabel-agent-starter.
<dependency>
<groupId>com.embabel.agent</groupId>
<artifactId>embabel-agent-starter</artifactId>
<version>0.3.3</version>
</dependency><parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.4.1</version>
</parent>
<dependencies>
<dependency>
<groupId>com.embabel.agent</groupId>
<artifactId>embabel-agent-starter</artifactId>
<version>0.3.3</version>
</dependency>
</dependencies>Maven Central (versions 0.2.0+):
<!-- No additional repository configuration required -->Embabel repositories (SNAPSHOT or pre-0.2.0):
<repositories>
<repository>
<id>embabel-releases</id>
<url>https://repo.embabel.com/artifactory/libs-release</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>embabel-snapshots</id>
<url>https://repo.embabel.com/artifactory/libs-snapshot</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>repositories {
mavenCentral()
maven {
name = "Spring Milestones"
url = uri("https://repo.spring.io/milestone")
}
}
dependencies {
implementation("com.embabel.agent:embabel-agent-starter:0.3.3")
}repositories {
mavenCentral()
maven {
name = 'Spring Milestones'
url = 'https://repo.spring.io/milestone'
}
}
dependencies {
implementation 'com.embabel.agent:embabel-agent-starter:0.3.3'
}Note: Spring Milestones repository is required for transitive mcp-bom dependencies. Gradle does not inherit repository configurations from BOMs.
Maven:
<dependency>
<groupId>com.embabel.agent</groupId>
<artifactId>embabel-agent-starter-openai</artifactId>
<version>0.3.3</version>
</dependency>Gradle Kotlin:
implementation("com.embabel.agent:embabel-agent-starter-openai:0.3.3")Maven:
<dependency>
<groupId>com.embabel.agent</groupId>
<artifactId>embabel-agent-starter-anthropic</artifactId>
<version>0.3.3</version>
</dependency>Gradle Kotlin:
implementation("com.embabel.agent:embabel-agent-starter-anthropic:0.3.3")Maven:
<dependency>
<groupId>com.embabel.agent</groupId>
<artifactId>embabel-agent-starter-bedrock</artifactId>
<version>0.3.3</version>
</dependency>Gradle Kotlin:
implementation("com.embabel.agent:embabel-agent-starter-bedrock:0.3.3")Maven:
<dependency>
<groupId>com.embabel.agent</groupId>
<artifactId>embabel-agent-starter-ollama</artifactId>
<version>0.3.3</version>
</dependency>Gradle Kotlin:
implementation("com.embabel.agent:embabel-agent-starter-ollama:0.3.3")Maven:
<dependency>
<groupId>com.embabel.agent</groupId>
<artifactId>embabel-agent-starter-gemini</artifactId>
<version>0.3.3</version>
</dependency>Gradle Kotlin:
implementation("com.embabel.agent:embabel-agent-starter-gemini:0.3.3")Maven:
<dependency>
<groupId>com.embabel.agent</groupId>
<artifactId>embabel-agent-starter-deepseek</artifactId>
<version>0.3.3</version>
</dependency>Gradle Kotlin:
implementation("com.embabel.agent:embabel-agent-starter-deepseek:0.3.3")Maven:
<dependency>
<groupId>com.embabel.agent</groupId>
<artifactId>embabel-agent-starter-mistral-ai</artifactId>
<version>0.3.3</version>
</dependency>Gradle Kotlin:
implementation("com.embabel.agent:embabel-agent-starter-mistral-ai:0.3.3")Maven:
<dependency>
<groupId>com.embabel.agent</groupId>
<artifactId>embabel-agent-starter-mcpserver</artifactId>
<version>0.3.3</version>
</dependency>Gradle Kotlin:
implementation("com.embabel.agent:embabel-agent-starter-mcpserver:0.3.3")Maven:
<dependency>
<groupId>com.embabel.agent</groupId>
<artifactId>embabel-agent-starter-shell</artifactId>
<version>0.3.3</version>
</dependency>Gradle Kotlin:
implementation("com.embabel.agent:embabel-agent-starter-shell:0.3.3")Maven:
<dependency>
<groupId>com.embabel.agent</groupId>
<artifactId>embabel-agent-starter-a2a</artifactId>
<version>0.3.3</version>
</dependency>Gradle Kotlin:
implementation("com.embabel.agent:embabel-agent-starter-a2a:0.3.3")Direct:
embabel-agent-platform-autoconfigure (0.3.3)Transitive:
embabel-agent-api (0.3.3)spring-ai-autoconfiguremy-agent-project/
├── pom.xml
├── src/
│ ├── main/
│ │ ├── java/
│ │ │ └── com/
│ │ │ └── example/
│ │ │ └── myagent/
│ │ │ ├── MyAgentApplication.java
│ │ │ └── agents/
│ │ │ └── MyAgent.java
│ │ └── resources/
│ │ ├── application.yml
│ │ └── application-dev.yml
│ └── test/
│ └── java/
│ └── com/
│ └── example/
│ └── myagent/
│ └── agents/
│ └── MyAgentTest.java<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.4.1</version>
</parent>
<groupId>com.example</groupId>
<artifactId>my-agent-project</artifactId>
<version>1.0.0-SNAPSHOT</version>
<properties>
<java.version>17</java.version>
<kotlin.version>2.0.21</kotlin.version>
<embabel.version>0.3.3</embabel.version>
</properties>
<dependencies>
<dependency>
<groupId>com.embabel.agent</groupId>
<artifactId>embabel-agent-starter</artifactId>
<version>${embabel.version}</version>
</dependency>
<dependency>
<groupId>com.embabel.agent</groupId>
<artifactId>embabel-agent-starter-openai</artifactId>
<version>${embabel.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>application.yml:
spring:
application:
name: my-agent-app
embabel:
agent:
logging:
personality: starwars
models:
default-llm: gpt-4.1-mini
spring:
ai:
openai:
api-key: ${OPENAI_API_KEY}Application class:
package com.example.myagent;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class MyAgentApplication {
public static void main(String[] args) {
SpringApplication.run(MyAgentApplication.class, args);
}
}export OPENAI_API_KEY=your-openai-api-keyexport ANTHROPIC_API_KEY=your-anthropic-api-keyexport GOOGLE_STUDIO_API_KEY=your-google-api-keyexport AWS_ACCESS_KEY_ID=your-aws-key
export AWS_SECRET_ACCESS_KEY=your-aws-secret
export AWS_REGION=us-east-1export OLLAMA_BASE_URL=http://localhost:11434export SPRING_PROFILES_ACTIVE=dev| embabel-agent-starter | Spring Boot | Java | Kotlin |
|---|---|---|---|
| 0.3.3 | 3.4.x | 17+ | 2.0.x |
| 0.3.x | 3.4.x | 17+ | 2.0.x |
| 0.2.x | 3.3.x | 17+ | 1.9.x |
# Build
mvn clean package
# Run
mvn spring-boot:run
# Run with profile
mvn spring-boot:run -Dspring-boot.run.profiles=dev
# Run tests
mvn test
# Clean and rebuild
mvn clean install -U
# View dependency tree
mvn dependency:tree
# Purge local repository
mvn dependency:purge-local-repository# Build
./gradlew build
# Run
./gradlew bootRun
# Run with profile
./gradlew bootRun --args='--spring.profiles.active=dev'
# Run tests
./gradlew test
# Clean and rebuild
./gradlew clean build
# View dependency tree
./gradlew dependenciestessl i tessl/maven-com-embabel-agent--embabel-agent-starter@0.3.1docs