CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/maven-com-embabel-agent--embabel-agent-platform-autoconfigure

Spring Boot auto-configuration platform for Embabel Agent Framework, enabling annotation-driven profile activation and bootstrapping of agent configurations with MCP client support

Overview
Eval results
Files

properties.mddocs/api/

Configuration Properties API Reference

Logging Properties

embabel.agent.logging.personality

Type: String Default: "" (no theme) Values: starwars, severance, colossus, hitchhiker, montypython

Purpose: Sets logging theme personality for agent operations.

Configuration:

embabel.agent.logging.personality=starwars
embabel:
  agent:
    logging:
      personality: starwars

Access:

@Value("${embabel.agent.logging.personality:}")
private String theme;

Property Class:

@ConfigurationProperties(prefix = "embabel.agent.logging")
record LoggingPersonalityProperties(String personality) {}

MCP Client Properties

spring.ai.mcp.client.enabled

Type: boolean Default: true

Purpose: Enable/disable MCP client auto-configuration.

Configuration:

spring.ai.mcp.client.enabled=false

spring.ai.mcp.client.type

Type: String Default: SYNC Values: SYNC, ASYNC

Purpose: Choose sync or async MCP clients.

Bean Types:

  • SYNC: List<McpSyncClient>
  • ASYNC: List<McpAsyncClient>

Configuration:

spring.ai.mcp.client.type=SYNC

spring.ai.mcp.client.name

Type: String Default: (none)

Purpose: Client name for MCP protocol identification.

Configuration:

spring.ai.mcp.client.name=my-agent-client

spring.ai.mcp.client.version

Type: String Default: (none)

Purpose: Client version for MCP protocol identification.

Configuration:

spring.ai.mcp.client.version=1.0.0

spring.ai.mcp.client.request-timeout

Type: Duration Format: 5s, 30s, 1m, 500ms

Purpose: Timeout for MCP requests.

Configuration:

spring.ai.mcp.client.request-timeout=10s

spring.ai.mcp.client.initialized

Type: boolean Default: true

Purpose: Auto-initialize clients on creation.

Values:

  • true: Clients initialized during startup (with error resilience)
  • false: Manual client.initialize() required

Configuration:

spring.ai.mcp.client.initialized=true

Manual Init:

// When initialized=false
client.initialize(); // sync
client.initialize().block(); // async

Property Class

/**
 * MCP client properties (from Spring AI).
 * Prefix: spring.ai.mcp.client
 */
class McpClientCommonProperties {
    boolean enabled;
    String type;
    String name;
    String version;
    Duration requestTimeout;
    boolean initialized;
}

Environment Variables

Properties can be set via environment variables:

EMBABEL_AGENT_LOGGING_PERSONALITY=starwars
SPRING_AI_MCP_CLIENT_ENABLED=true
SPRING_AI_MCP_CLIENT_TYPE=SYNC
SPRING_AI_MCP_CLIENT_NAME=my-agent
SPRING_AI_MCP_CLIENT_VERSION=1.0.0
SPRING_AI_MCP_CLIENT_REQUEST_TIMEOUT=10s
SPRING_AI_MCP_CLIENT_INITIALIZED=true

Command-Line Arguments

java -jar app.jar \
  --embabel.agent.logging.personality=starwars \
  --spring.ai.mcp.client.enabled=true \
  --spring.ai.mcp.client.type=SYNC

Property Priority

  1. Command-line arguments (highest)
  2. Java system properties
  3. OS environment variables
  4. application-{profile}.properties (external)
  5. application-{profile}.properties (packaged)
  6. application.properties (external)
  7. application.properties (packaged)
  8. @PropertySource annotations
  9. Default properties (lowest)

Configuration Metadata

IDE auto-completion support via META-INF/additional-spring-configuration-metadata.json:

{
  "properties": [
    {
      "name": "embabel.agent.logging.personality",
      "type": "java.lang.String",
      "description": "Logging theme personality for agent operations",
      "sourceType": "com.embabel.agent.config.annotation.LoggingPersonalityProperties"
    }
  ],
  "hints": [
    {
      "name": "embabel.agent.logging.personality",
      "values": [
        {"value": "starwars", "description": "Star Wars themed logging"},
        {"value": "severance", "description": "Severance themed logging"},
        {"value": "colossus", "description": "Colossus themed logging"},
        {"value": "hitchhiker", "description": "Hitchhiker's Guide themed logging"},
        {"value": "montypython", "description": "Monty Python themed logging"}
      ]
    }
  ]
}

Install with Tessl CLI

npx tessl i tessl/maven-com-embabel-agent--embabel-agent-platform-autoconfigure

docs

api

annotations.md

auto-configuration.md

environment-post-processor.md

mcp-client.md

properties.md

index.md

SCORING.md

tile.json