Event-sourced bike rental application powered by Axoniq Platform, with AI agents via Google ADK and Axoniq Insights.
- Docker and Docker Compose
- uv (Python package manager) for the ADK agents
- Access tokens from platform.axoniq.io — one for Axon Server, one for Axoniq Insights
- An LLM provider API key (e.g. Anthropic)
Edit docker/.env and fill in the required values:
| Variable | Description |
|---|---|
AXONIQ_PLATFORM_AUTHENTICATION |
Axon Server platform token from platform.axoniq.io |
INSIGHTS_PLATFORM_AUTHENTICATION |
Axoniq Insights platform token from platform.axoniq.io |
SPRING_AI_ANTHROPIC_API_KEY |
API key for the LLM provider used by Insights |
SPRING_AI_ANTHROPIC_CHAT_OPTIONS_MODEL |
Model name (default: claude-sonnet-4-6) |
The Spring AI variables are configured for Anthropic as an example. Change them for another LLM provider as needed.
Edit adk-agent/.env (or adk-agent-v2/.env) and provide your LLM provider API key. An empty ANTHROPIC_API_KEY is included as an example.
cd docker
docker compose upThis starts four services:
| Service | URL |
|---|---|
| Axon Server Dashboard | http://localhost:18024 |
| Axoniq Insights | http://localhost:18080 |
| Bike App (MCP) | http://localhost:18081 |
| Event Generator | http://localhost:18888 |
- Open the Event Generator at http://localhost:18888
- On the page, update the Axon Server Configuration — set the token field to empty
- Click Generate events
Open the Axoniq Insights UI at http://localhost:18080 to run queries against the event store directly.
cd adk-agent # or adk-agent-v2
uv sync
uv run adk webThe ADK agent dashboard is available at http://localhost:8000.
The Insights memory service lives in the insights-memory/ package and is disabled by default. To enable it:
- Install with the insights extra:
cd adk-agent uv sync --extra insights - Uncomment the marked lines in
adk-agent/bike_agent/agent.pyandadk-agent/bike_agent/__init__.py - Ensure
INSIGHTS_MCP_URLis set inadk-agent/.env