CallLens
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 --> KSiehe docs/ARCHITECTURE.md, docs/LANGGRAPH.md und docs/DATA_MODEL.md.
Schnellstart
Docker (empfohlen)
cp .env.example .env
docker compose upAPI + OpenAPI-Dokumentation: http://localhost:8000/docs
Dashboard: http://localhost:3000
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 runFrontend
cd apps/web
npm install
NEXT_PUBLIC_API_URL=http://localhost:8000 npm run devCLI
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 serverPython-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/runInteraktive 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.16Dimensionsgewichte müssen sich zu 1.0 summieren. Siehe rubrics/ und docs/custom-rubrics.
Anbieter
Ebene | Anbieter | Konfiguration |
Sprache (STT/TTS) | ElevenLabs Scribe v2 |
|
Reasoning-LLM | OpenAI |
|
Reasoning-LLM | Anthropic |
|
Reasoning-LLM | Jeder OpenAI-kompatible Endpunkt |
|
Reasoning-LLM | Offline-Mock (Standard) |
|
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-120bFü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"}) – diestructured_completionder Pipeline hängt davon ab. Nicht jedes Modell auf jedem Gateway tut das; z. B. funktioniertgpt-oss-120bauf 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 deployLokales stdio:
pip install -r requirements.txt
python mcp-server/server.pyEvaluierung
| 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
This server cannot be installed
Maintenance
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
- AlicenseAqualityFmaintenanceProvides 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.143824MIT

Trustwise MCP Serverofficial
AlicenseNot gradedqualityCmaintenanceProvides 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.4Apache 2.0- FlicenseNot gradedqualityCmaintenanceEnables AI assistants to query Ringba call analytics, including running EHG insights reports and listing available metrics and dimensions.

VerifyAX MCPofficial
AlicenseAqualityAmaintenanceEnables conversational access to the VerifyAX agent-evaluation platform, exposing tools for agent evaluation workflows through natural language.121Apache 2.0
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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