{"id":39763091,"url":"https://github.com/agentic-layer/showcase-insurance-claims","last_synced_at":"2026-01-18T11:40:13.253Z","repository":{"id":324398729,"uuid":"1070620388","full_name":"agentic-layer/showcase-insurance-claims","owner":"agentic-layer","description":null,"archived":false,"fork":false,"pushed_at":"2025-12-19T15:51:45.000Z","size":1076,"stargazers_count":1,"open_issues_count":2,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-12-22T06:39:26.291Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/agentic-layer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-10-06T07:56:01.000Z","updated_at":"2025-12-11T12:58:13.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/agentic-layer/showcase-insurance-claims","commit_stats":null,"previous_names":["agentic-layer/showcase-insurance-claims"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/agentic-layer/showcase-insurance-claims","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agentic-layer%2Fshowcase-insurance-claims","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agentic-layer%2Fshowcase-insurance-claims/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agentic-layer%2Fshowcase-insurance-claims/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agentic-layer%2Fshowcase-insurance-claims/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/agentic-layer","download_url":"https://codeload.github.com/agentic-layer/showcase-insurance-claims/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agentic-layer%2Fshowcase-insurance-claims/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28535174,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-18T10:13:46.436Z","status":"ssl_error","status_checked_at":"2026-01-18T10:13:11.045Z","response_time":98,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-01-18T11:40:12.502Z","updated_at":"2026-01-18T11:40:13.240Z","avatar_url":"https://github.com/agentic-layer.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Insurance Claims Showcase\n\nA showcase demonstrating the [Agentic Layer](https://docs.agentic-layer.ai/) platform for building and orchestrating AI\nagent systems. This project illustrates multi-agent workflows, agent-to-agent communication via Model Context Protocol (\nMCP), and multiple interaction patterns for insurance claims processing.\n\n**Key Technologies:**\n\n- **Agentic Layer**: Agent orchestration platform with runtime, gateways, and observability\n- **Agents**: Text-based claims analysis agent (Google ADK) and voice-enabled claims intake agent (Gemini Live API)\n- **MCP Servers**: Model Context Protocol servers providing customer database tools\n- **Integration Options**: REST API, A2A protocol, LibreChat UI, n8n workflows\n\nFor detailed documentation on Agentic Layer components, see [docs.agentic-layer.ai](https://docs.agentic-layer.ai/).\n\n----\n\n## Table of Contents\n\n- [Key Features](#key-features)\n- [Prerequisites](#prerequisites)\n- [Getting Started](#getting-started)\n- [Using the Showcase](#using-the-showcase)\n    - [Testing Agents with curl](#testing-agents-with-curl)\n    - [Using LibreChat](#using-librechat)\n    - [n8n Workflow Integration](#n8n-workflow-integration)\n- [Voice Agent Details](#voice-agent-details)\n- [Architecture Overview](#architecture-overview)\n- [Development](#development)\n- [Current Limitations](#current-limitations)\n\n----\n\n## Key Features\n\n### Agentic Layer Platform\n\nThis showcase demonstrates the core capabilities of the Agentic Layer platform:\n\n- **Agent Runtime**: Kubernetes-native agent orchestration using Custom Resource Definitions (Agent, ToolServer,\n  AgenticWorkforce)\n- **Agent Gateway**: OpenAI-compatible REST API for accessing agents, enabling standardized integration\n- **AI Gateway**: Unified LLM access via LiteLLM, supporting multiple model providers (Gemini, OpenAI, etc.)\n- **MCP Integration**: Agent capabilities extended through Model Context Protocol tool servers\n- **Multi-Modal Access**: Agents accessible via REST API, A2A protocol, chat UI (LibreChat), and workflow automation (\n  n8n)\n- **Observability**: Full OTEL integration with LGTM stack (Loki, Grafana, Tempo, Mimir)\n\n### Claims Processing Agents\n\n**claims-analysis-agent** (Primary Demo):\n\n- Text-based agent for analyzing insurance claim conversation transcripts\n- Extracts structured JSON data (customer info, incident details, damage assessment)\n- Accessible via multiple channels: Agent Gateway REST API, direct A2A protocol, LibreChat, n8n workflows\n- Uses MCP customer database server for data lookup\n\n**claims-voice-agent** (Specialized Capability):\n\n- Real-time voice conversation for claims intake using Google's Gemini Live API\n- Conducts structured interviews in German via WebSocket streaming\n- See [Voice Agent Details](#voice-agent-details) for more information\n\n----\n\n## Prerequisites\n\nThe following tools and dependencies are required:\n\n- **Python 3.13+**: For agents and MCP servers\n- **Node.js 22+**: For frontend development\n- **Google Cloud SDK**: For ADK and Gemini API integration\n- **uv 0.5.0+**: Python package manager\n- **Tilt**: Kubernetes development environment orchestration\n- **Docker Desktop**: With Kubernetes enabled\n- **Google Gemini API Key**: For AI model access\n\n----\n\n## Getting Started\n\n### 1. Install Dependencies\n\n```bash\n# Install system dependencies via Homebrew\nbrew bundle\n```\n\n### 2. Environment Configuration\n\nCreate a `.env` file in the project root:\n\n```dotenv\n# Required: Google Gemini API Key\nGOOGLE_API_KEY=\u003cyour-api-key-here\u003e\n\n# Optional: OpenAI API for testing with other models\nOPENAI_API_KEY=\u003cyour-openai-api-key\u003e\n```\n\n### 3. Start All Services\n\nLaunch the complete environment using Tilt:\n\n```bash\n# Start all agents, MCP servers, gateways, and infrastructure\ntilt up\n```\n\n**Service URLs:**\n\n- **LibreChat**: http://localhost:12040\n- **n8n**: http://localhost:12041\n- **Grafana (Monitoring)**: http://localhost:12000\n- **Observability Dashboard**: http://localhost:12004\n- **Agent Gateway**: http://localhost:12002\n- **AI Gateway (LiteLLM)**: http://localhost:12001\n- **Frontend (Voice Agent)**: http://localhost:12030\n\n----\n\n## Using the Showcase\n\n### Testing Agents with curl\n\nThe showcase includes a test script demonstrating both Agent Gateway protocols:\n\n```bash\n# Test both OpenAI-compatible API and A2A protocol\n./scripts/test-claims-agent.sh\n\n# Test only OpenAI-compatible API\n./scripts/test-claims-agent.sh openai\n\n# Test only A2A protocol\n./scripts/test-claims-agent.sh a2a\n```\n\n### Using LibreChat\n\nLibreChat provides a user-friendly chat interface for interacting with agents and LLMs.\n\n**Access:** http://localhost:12040\n\n**Configured Endpoints:**\n\n1. **AI Gateway Endpoint**\n    - Name: \"AI Gateway\"\n    - Direct access to LLMs via LiteLLM\n\n2. **Agent Gateway Endpoint**\n    - Name: \"Agent Gateway - claims-analysis-agent\"\n    - Chat directly with the claims-analysis-agent\n    - Paste conversation transcripts for analysis\n\n**Getting Started:**\n\n1. Open http://localhost:12040\n2. Create an account (stored locally in MongoDB)\n3. Select \"Agent Gateway - claims-analysis-agent\" from the endpoint dropdown\n4. Paste a claims conversation transcript or use the example from `scripts/example-transcript.txt`\n5. The agent will analyze the conversation and return structured claims data\n\n### n8n Workflow Integration\n\nn8n provides workflow automation capabilities for integrating agents into business processes.\n\n**Access:** http://localhost:12041\n\n**Configuration:**\nThere is no configuration-as-code for n8n in this showcase. Use the web interface to:\n1. Create an account\n2. Install the A2A protocol node from the n8n community nodes\n   1. Open http://localhost:12041/settings/community-nodes\n   2. Install the following community node: `@agentic-layer/n8n-nodes-a2a`\n3. Import example workflows from the `n8n-workflows/` directory\n   1. Open http://localhost:12041/workflow/new\n   2. Click \"Import from File\" and select a workflow JSON file (see below)\n4. Configure any necessary credentials (e.g., Agent Gateway URL, API keys)\n   1. For Agent Gateway, use `http://agent-gateway-krakend.agent-gateway-krakend:10000/claims-analysis-agent`\n   2. For AI Gateway (LiteLLM), use `http://ai-gateway-litellm.ai-gateway:4000`\n\n**Example Workflows:**\nThree example workflows are included in [n8n-workflows](n8n-workflows):\n\n1. **Claims Analysis with AI Gateway**: Uses LiteLLM with MCP tool integration\n2. **Claims Analysis with Agent Gateway / A2A**: Direct agent-to-agent communication\n3. **Claims Analysis with Agent Gateway / OpenAI API**: OpenAI-compatible API integration\n\n**Common Pattern:**\nAll workflows follow a webhook → agent analysis → data extraction pattern.\n\n----\n\n## Voice Agent Details\n\n### Real-Time Voice Conversation\n\nThe **claims-voice-agent** provides specialized real-time voice interaction capabilities for insurance claims intake.\n\n**Features:**\n\n- Native German language conversation via Gemini Live API\n- Structured interview protocol (customer verification, incident details, damage assessment)\n- WebSocket-based bidirectional audio streaming\n- Real-time transcription of user input\n\n**Access:**\n\n- **Custom Frontend**: http://localhost:12030\n- **WebSocket Endpoint**: `ws://localhost:12010/ws/{user_id}?is_audio=true`\n\n### Gemini Model Selection\n\nThe voice agent supports multiple Gemini Live API models:\n\n**Non-Native Audio Models** (Fast, robotic voice):\n\n- `gemini-2.0-flash-exp`\n- `gemini-2.0-flash-live-001`\n\n**Native Audio Models** (Natural voice, potentially higher latency):\n\n- `gemini-2.5-flash-native-audio-latest` (currently configured)\n- `gemini-2.5-flash-preview-native-audio-dialog`\n\nTo change models, edit `agents/claims-voice-agent/agent.py` and uncomment the desired model.\n\n### Voice Agent Limitations\n\n**Agent Gateway Integration:**\nThe voice agent is NOT exposed via Agent Gateway because:\n\n- Gemini Live API requires direct WebSocket connection for real-time bidirectional audio streaming\n- ADK with Gemini Live API doesn't support LiteLLM proxy integration\n\n**Observability:**\n\n- ADK with Gemini Live API doesn't support plugins/callbacks for detailed tracing\n- Observability dashboard shows only WebSocket metadata, not conversation details\n- Use application logs for debugging voice agent interactions\n\n**Development:**\nUse the custom WebSocket frontend at http://localhost:12030 to interact with the voice agent.\n\n----\n\n## Architecture Overview\n\n### Agentic Layer Components\n\n- **Agent Runtime** (`agent-runtime`): Core Kubernetes operator managing Agent, ToolServer, and AgenticWorkforce\n  CRDs\n- **AI Gateway** (`ai-gateway-litellm`): Unified LLM access via LiteLLM supporting multiple\n  providers\n- **Agent Gateway** (`agent-gateway-krakend`): OpenAI-compatible REST API for accessing\n  agents\n- **Observability**: LGTM stack (Loki, Grafana, Tempo, Mimir) with OpenTelemetry\n  integration\n\nFor detailed architecture documentation, see [docs.agentic-layer.ai](https://docs.agentic-layer.ai/).\n\n### Showcase Components\n\n- **claims-analysis-agent**: Text-based agent using Google ADK, exposed via Agent Gateway\n- **claims-voice-agent**: Voice agent using Google ADK + Gemini Live API, accessed via WebSocket\n- **customer-database**: MCP server providing customer lookup tools\n- **Frontend**: React + WebSocket client for voice agent interaction\n- **LibreChat**: Chat UI with configured endpoints for agents and LLM access\n- **n8n**: Workflow automation platform with example agent integration workflows\n\n### Port Reference\n\n| Service                 | Port  | Description                  |\n|-------------------------|-------|------------------------------|\n| Grafana                 | 12000 | Metrics and monitoring       |\n| AI Gateway              | 12001 | LiteLLM unified LLM access   |\n| Agent Gateway           | 12002 | OpenAI-compatible agent API  |\n| Observability Dashboard | 12004 | Agent observability UI       |\n| claims-voice-agent      | 12010 | WebSocket streaming endpoint |\n| claims-analysis-agent   | 12011 | Direct A2A protocol access   |\n| customer-database       | 12020 | MCP server HTTP endpoint     |\n| Frontend (Voice)        | 12030 | React WebSocket client       |\n| LibreChat               | 12040 | Chat UI for agents/LLMs      |\n| n8n                     | 12041 | Workflow automation          |\n\n----\n\n## Development\n\n### Code Quality Standards\n\n**Per-component commands** (run in `agents/*/` or `mcp-servers/*/`):\n\n```bash\n# Install/sync dependencies\nuv sync\n\n# Type checking\nuv run mypy .\n\n# Linting\nuv run ruff check\n\n# Auto-fix linting issues\nuv run ruff check --fix\n\n# Run all checks\nmake check\n```\n\n**Frontend (React + TypeScript):**\n\n```bash\ncd frontend\n\n# Install dependencies\nnpm install\n\n# Development server\nnpm run dev\n\n# Linting\nnpm run lint\n\n# Tests\nnpm run test\nnpm run test:ui       # With UI\nnpm run test:coverage # With coverage\n\n# Build\nnpm run build         # Production\nnpm run build:dev     # Development\n```\n\n----\n\n## Current Limitations\n\n- **Claims Data Persistence**: Claims data is collected during conversations but not persisted to a database or\n  forwarded to downstream systems\n- **Voice Agent Integration**: Voice agent uses direct Gemini Live API connection and cannot use LiteLLM or be exposed\n  via Agent Gateway due to real-time streaming requirements\n- **Observability for Voice**: ADK with Gemini Live API doesn't support detailed tracing; only WebSocket metadata is\n  captured\n- **No Authentication**: Current setup has no authentication/authorization; suitable for development and demonstration\n  only\n\nFor production deployments, consider implementing data persistence, authentication, and integration with existing claims\nmanagement systems.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagentic-layer%2Fshowcase-insurance-claims","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fagentic-layer%2Fshowcase-insurance-claims","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagentic-layer%2Fshowcase-insurance-claims/lists"}