Skip to main content
Glama

CallLens

Open-Source-Gesprächsintelligenz und Verhaltensbewertung, unterstützt von LangGraph.

Laden Sie einen Anruf hoch. CallLens transkribiert ihn, rekonstruiert das Gespräch, misst deterministische Kommunikationsmetriken, bewertet semantische Verhaltensweisen anhand konfigurierbarer Rubriken, verifiziert die unterstützenden Beweise und erzeugt erklärbare Gesprächsintelligenz.

CallLens verwandelt rohe Gespräche – Aufnahmen oder Transkripte – in strukturierte, evidenzgestützte Verhaltensintelligenz: diarisierte Transkripte, Sprechzeit- und Tempo-Metriken, longitudinale Stimmung, Themen, Chancen-/Risikoerkennung und Analysen pro Vertreter, alle bewertet anhand deklarativer, versionierter Rubriken.

Jede semantische Bewertung ist evidenzgestützt. Nie nur Discovery: 8/10. Stattdessen:

Discovery: 8.7/10
Confidence: 0.91

Evidence:
  04:32  Representative asks customer about their current operational bottleneck.
  05:17  Representative asks about business impact.
  07:02  Customer explains delivery delays.

Missing behavior:
  Representative never established urgency or implementation timeframe.

Benutzer klicken auf einen Zeitstempel und der Audioplayer springt zu genau diesem Moment.


Warum es existiert

Die meisten Anrufbewertungswerkzeuge senden entweder (a) das gesamte Transkript an ein LLM und fragen nach einer Zahl, oder (b) zählen Schlüsselwörter. CallLens tut keines von beidem:

  • Mehrstufige Bewertung – Kandidaten-Evidenzextraktion → deterministische Verifikation → Rubrikenbewertung → Konsistenzprüfung → Konfidenz-Gate → begrenzte Neubewertung. Nie ein einzelner „Bewerte dieses Transkript“-Prompt.

  • Deterministisch wo möglich, semantisch nur wo nötig – Sprechzeit, Wörter pro Minute, Unterbrechungen, Redewendungen und Stille sind reines Python. LLMs werden für das Denken verwendet: Stimmung, Themen, Absicht, Verhalten, Coaching.

  • Anbieterisolierung – eine Sprachabstraktion (heute ElevenLabs) und eine LLM-Abstraktion (OpenAI / Anthropic / jeder OpenAI-kompatible Endpunkt), sodass nichts an einen Anbieter gebunden ist.

  • Von Natur aus prüfbar – jede Analyse zeichnet Modell-, Prompt-, Rubriken- und Pipeline-Versionen auf.

Related MCP server: Trustwise MCP Server

Architektur

flowchart TD
    A[Audio / Transcript] --> B[Ingestion]
    B --> C[ElevenLabs STT + Diarization]
    C --> D[Transcript Normalization]
    D --> E[LangGraph]
    E --> F[Deterministic Metrics]
    E --> G[Semantic Analysis]
    G --> H[Sentiment]
    G --> I[Topics]
    G --> J[Intents]
    F --> K[Evidence Verification]
    H --> K
    I --> K
    J --> K
    K --> L[Confidence Gate]
    L -->|sufficient| M[Report]
    L -->|insufficient| N[Bounded Re-score]
    N --> K

Siehe docs/ARCHITECTURE.md, docs/LANGGRAPH.md und docs/DATA_MODEL.md.

Schnellstart

Docker (empfohlen)

cp .env.example .env
docker compose up

Zum Ausprobieren sind keine API-Schlüssel erforderlich: Ohne ELEVENLABS_API_KEY fallen der Sprachprovider und das Reasoning-LLM auf deterministische Offline-Mocks zurück, sodass die gesamte Pipeline (Transkription → Metriken → evidenzgestützte Rubrikenbewertung → Coaching) Ende-zu-Ende läuft.

Lokal (Python)

python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"

# Analyze a transcript (offline, deterministic)
calllens analyze sample.txt

# Start the API server
calllens server

# Run the evaluation harness
calllens eval run

Frontend

cd apps/web
npm install
NEXT_PUBLIC_API_URL=http://localhost:8000 npm run dev

CLI

calllens analyze call.mp3
calllens analyze call.mp3 --rubric consultative_sales --output report.json
calllens rubric list
calllens rubric validate ./my_rubric.yaml
calllens eval run
calllens server

Python-SDK

import asyncio
from calllens import CallLens


async def main():
    async with CallLens(base_url="http://localhost:8000") as client:
        call = await client.calls.upload("sales-call.mp3")
        await call.analyze(rubric="consultative_sales")
        report = await call.report()
        print(report["overall_score"], report["confidence"])


asyncio.run(main())

REST-API (Teilmenge)

POST   /api/v1/calls                     upload a recording or transcript
GET    /api/v1/calls
GET    /api/v1/calls/{id}
POST   /api/v1/calls/{id}/analyze
GET    /api/v1/calls/{id}/analysis       the evidence-backed CallReport
GET    /api/v1/calls/{id}/transcript
DELETE /api/v1/calls/{id}                privacy/retention deletion
POST   /api/v1/rubrics                   register a declarative rubric
GET    /api/v1/rubrics
POST   /api/v1/rubrics/validate
GET    /api/v1/reps/{id}/analytics
POST   /api/v1/evals/run

Interaktive Dokumentation unter /docs.

Rubriken

Rubriken sind deklarative und versionierte YAML-Dokumente. Die Engine selbst ist generisch – Vertrieb ist nur die erste gebündelte Rubrik. Bringen Sie Ihre eigene mit: Kundensupport, Rekrutierung, Inkasso, Versicherung, Immobilien, Kundenerfolg, Interviews, KI-Sprachagenten.

name: consultative_sales
version: "1.0"
dimensions:
  rapport:
    label: Rapport
    weight: 0.08
  discovery:
    label: Problem Discovery
    weight: 0.16

Dimensionsgewichte müssen sich zu 1.0 summieren. Siehe rubrics/ und docs/custom-rubrics.

Anbieter

Ebene

Anbieter

Konfiguration

Sprache (STT/TTS)

ElevenLabs Scribe v2

ELEVENLABS_API_KEY, ELEVENLABS_STT_MODEL

Reasoning-LLM

OpenAI

LLM_PROVIDER=openai, OPENAI_API_KEY, LLM_MODEL

Reasoning-LLM

Anthropic

LLM_PROVIDER=anthropic, ANTHROPIC_API_KEY, LLM_MODEL

Reasoning-LLM

Jeder OpenAI-kompatible Endpunkt

LLM_PROVIDER=compatible, COMPATIBLE_BASE_URL, COMPATIBLE_API_KEY

Reasoning-LLM

Offline-Mock (Standard)

LLM_PROVIDER=mock

Alle Tests und CI laufen gegen Mocks – keine kostenpflichtigen API-Aufrufe.

Beispiel: Live-Analyse mit echten Anbietern

Verdrahten Sie beide Anbieter in .env und analysieren Sie eine tatsächliche Aufnahme:

# .env — speech + reasoning
ELEVENLABS_API_KEY=sk_...
ELEVENLABS_STT_MODEL=scribe_v2

# Any OpenAI-compatible endpoint, e.g. Melious (https://api.melious.ai/v1)
LLM_PROVIDER=compatible
COMPATIBLE_BASE_URL=https://api.melious.ai/v1
COMPATIBLE_API_KEY=sk-mel-...
LLM_MODEL=gpt-oss-120b

Führen Sie dann die vollständige Pipeline auf einer Aufnahme aus – es muss eine vorab aufgezeichnete Anrufdatei (MP3/WAV) sein, aber Sie können eine synthetisieren, wenn Sie keine Aufnahme zur Hand haben:

# Option A — you have a recording: transcribe + analyze it live
# (Scribe v2 STT → metrics → evidence-backed scoring → coaching)
calllens analyze call.mp3 --rubric consultative_sales --output report.json

# Option B — no recording? Synthesize a two-speaker sample call with ElevenLabs TTS
python examples/generate_sample_call.py   # → sample_call.mp3
calllens analyze sample_call.mp3 --rubric consultative_sales --output report.json

# Both write the evidence-backed report (scores + timestamped evidence + coaching)
# to report.json; omit --output to print it to stdout.

Der compatible-Endpunkt muss OpenAI-JSON-Schema-Strukturierte-Ausgaben unterstützen (response_format: {type: "json_schema"}) – die structured_completion der Pipeline hängt davon ab. Nicht jedes Modell auf jedem Gateway tut das; z. B. funktioniert gpt-oss-120b auf Melious, während mehrere andere (GLM, Kimi, DeepSeek v4 auf Melious) den Schema-Modus ablehnen. Testen Sie mit einem kleinen strukturierten Aufruf, bevor Sie sich auf ein Modell festlegen.

MCP / MCPize

CallLens enthält einen MCP-Server, der analyze_transcript, score_dimension und list_rubrics bereitstellt und auf MCPize bereitgestellt werden kann:

mcpize analyze && mcpize doctor && mcpize deploy

Lokales stdio:

pip install -r requirements.txt
python mcp-server/server.py

Evaluierung

| Dimension | MAE | Correlation |
|-----------|-----|-------------|
| Discovery | .61 | .88         |
| Rapport   | .74 | .81         |

Das Testsystem (calllens.evals) führt die vollständige Pipeline über einen synthetischen Datensatz mit 13 Szenarien aus (hervorragender Verkäufer, schlechter Verkäufer, schwache Bedarfsermittlung, wütender Kunde, mehrsprachig, …) und berichtet MAE, RMSE, Korrelation und Evidenz-Präzision/-Recall gegenüber menschlichen Qualitätslabels.

Roadmap

Siehe docs/ROADMAP.md. Highlights: Supabase-Auth/RLS und Objektspeicher, asynchrone Job-Backends (Redis/SQS), GraphQL-Dashboard-Abfragen, Live-Anrufmodus, KI-Rollenspielmodus, Trends pro Vertreter, Drift-Überwachung.

Sicherheit & Datenschutz

  • API-Schlüssel sind nur über Umgebungsvariablen verfügbar; nichts wird jemals committet, protokolliert oder dem Browser ausgesetzt.

  • Anrufaufnahmen werden als sensibel behandelt: Mandantenisolierung, privater/signierter Speicher, Löschung und konfigurierbare Aufbewahrung.

  • Vollständige Transkripte werden standardmäßig nie protokolliert.

  • Siehe SECURITY.md und docs/ARCHITECTURE.md.

Lizenz

MIT © Yabloko Labs

A
license - permissive license
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    A
    quality
    F
    maintenance
    Provides advanced analysis of conversations from Limitless Pendant recordings, including intelligent meeting detection, action item extraction, natural language time queries, and comprehensive conversation analytics with smart pagination support.
    14
    38
    24
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides advanced evaluation tools for assessing AI safety, alignment, and performance of LLM outputs. Enables programmatic evaluation of quality, safety metrics like toxicity and PII detection, and operational metrics including carbon footprint and cost estimation.
    4
    Apache 2.0
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables AI assistants to query Ringba call analytics, including running EHG insights reports and listing available metrics and dimensions.
  • A
    license
    A
    quality
    A
    maintenance
    Enables conversational access to the VerifyAX agent-evaluation platform, exposing tools for agent evaluation workflows through natural language.
    12
    1
    Apache 2.0

View all related MCP servers

Related MCP Connectors

  • Simulation, evaluation and monitoring for voice agents.

  • Create voice-agent scenarios, pull session analytics, place SIP calls, schedule meeting bots.

  • Manage Voice Logica agents, calls, phones, workflows, messaging, and integrations.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/yablokolabs/CallLens'

If you have feedback or need assistance with the MCP directory API, please join our Discord server