Spring Boot auto-configuration platform for Embabel Agent Framework, enabling annotation-driven profile activation and bootstrapping of agent configurations with MCP client support
Type: String
Default: "" (no theme)
Values: starwars, severance, colossus, hitchhiker, montypython
Purpose: Sets logging theme personality for agent operations.
Configuration:
embabel.agent.logging.personality=starwarsembabel:
agent:
logging:
personality: starwarsAccess:
@Value("${embabel.agent.logging.personality:}")
private String theme;Property Class:
@ConfigurationProperties(prefix = "embabel.agent.logging")
record LoggingPersonalityProperties(String personality) {}Type: boolean
Default: true
Purpose: Enable/disable MCP client auto-configuration.
Configuration:
spring.ai.mcp.client.enabled=falseType: 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=SYNCType: String
Default: (none)
Purpose: Client name for MCP protocol identification.
Configuration:
spring.ai.mcp.client.name=my-agent-clientType: String
Default: (none)
Purpose: Client version for MCP protocol identification.
Configuration:
spring.ai.mcp.client.version=1.0.0Type: Duration
Format: 5s, 30s, 1m, 500ms
Purpose: Timeout for MCP requests.
Configuration:
spring.ai.mcp.client.request-timeout=10sType: boolean
Default: true
Purpose: Auto-initialize clients on creation.
Values:
true: Clients initialized during startup (with error resilience)false: Manual client.initialize() requiredConfiguration:
spring.ai.mcp.client.initialized=trueManual Init:
// When initialized=false
client.initialize(); // sync
client.initialize().block(); // async/**
* 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;
}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=truejava -jar app.jar \
--embabel.agent.logging.personality=starwars \
--spring.ai.mcp.client.enabled=true \
--spring.ai.mcp.client.type=SYNCapplication-{profile}.properties (external)application-{profile}.properties (packaged)application.properties (external)application.properties (packaged)@PropertySource annotationsIDE 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