CallLens
CallLens
LangGraph を活用したオープンソースの会話インテリジェンス&行動評価ツール。
通話をアップロードするだけで、CallLens が文字起こし、会話の再構築、決定的なコミュニケーションメトリクスの計測、設定可能なルーブリックに基づく意味的行動の評価、裏付けとなるエビデンスの検証を行い、説明可能な会話インテリジェンスを生成します。
CallLens は、生の会話(録音または文字起こし)を構造化された、エビデンスに裏付けられた行動インテリジェンスに変換します。話者分離された文字起こし、発話時間とペースのメトリクス、長期的なセンチメント、トピック、機会・リスクの検出、担当者別の分析など、すべて宣言的でバージョン管理されたルーブリックに基づいてスコアリングされます。
すべての意味的スコアはエビデンスに裏付けられています。 単なる Discovery: 8/10 ではありません。代わりに:
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.ユーザーがタイムスタンプをクリックすると、オーディオプレーヤーがその正確な瞬間にジャンプします。
存在理由
ほとんどの通話スコアリングツールは、(a) トランスクリプト全体を LLM に送信して数値を要求するか、(b) キーワードをカウントするかのどちらかです。CallLens はどちらも行いません:
多段階スコアリング — 候補エビデンス抽出 → 決定的検証 → ルーブリックスコアリング → 整合性チェック → 信頼度ゲート → 制限付き再判定。単一の「このトランスクリプトをスコアリングして」というプロンプトは一切ありません。
可能な限り決定的、必要な場合のみ意味的 — 発話時間、wpm、割り込み、ターン、沈黙は純粋な Python で処理。LLM は推論(センチメント、トピック、意図、行動、コーチング)にのみ使用されます。
プロバイダー分離 — 音声抽象化レイヤー(現在は ElevenLabs)と LLM 抽象化レイヤー(OpenAI / Anthropic / OpenAI 互換の任意のエンドポイント)により、特定のベンダーに固定されることはありません。
設計による監査可能性 — すべての分析で、モデル、プロンプト、ルーブリック、パイプラインのバージョンが記録されます。
Related MCP server: Trustwise MCP Server
アーキテクチャ
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 --> Kdocs/ARCHITECTURE.md、docs/LANGGRAPH.md、docs/DATA_MODEL.md を参照してください。
クイックスタート
Docker(推奨)
cp .env.example .env
docker compose upAPI + OpenAPI ドキュメント: http://localhost:8000/docs
ダッシュボード: http://localhost:3000
試すのに API キーは不要です。ELEVENLABS_API_KEY がない場合、音声プロバイダーと推論 LLM は決定的なオフラインモックにフォールバックするため、完全なパイプライン(文字起こし → メトリクス → エビデンスに裏付けられたルーブリックスコアリング → コーチング)がエンドツーエンドで実行されます。
ローカル(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フロントエンド
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(サブセット)
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対話型ドキュメントは /docs にあります。
ルーブリック
ルーブリックは宣言的でバージョン管理された YAML ドキュメントです。エンジン自体は汎用的で、セールスは最初にバンドルされたルーブリックにすぎません。カスタマーサポート、採用、債権回収、保険、不動産、カスタマーサクセス、面接、AI 音声エージェントなど、独自のルーブリックを持ち込むことができます。
name: consultative_sales
version: "1.0"
dimensions:
rapport:
label: Rapport
weight: 0.08
discovery:
label: Problem Discovery
weight: 0.16ディメンションの重みは合計で 1.0 になる必要があります。rubrics/ と docs/custom-rubrics を参照してください。
プロバイダー
レイヤー | プロバイダー | 設定 |
音声(STT/TTS) | ElevenLabs Scribe v2 |
|
推論 LLM | OpenAI |
|
推論 LLM | Anthropic |
|
推論 LLM | OpenAI 互換の任意のエンドポイント |
|
推論 LLM | オフラインモック(デフォルト) |
|
すべてのテストと CI はモックに対して実行されます — 有料の API 呼び出しはありません。
例: 実際のプロバイダーによるライブ分析
.env に両方のプロバイダーを設定し、実際の録音を分析します:
# .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次に、録音に対して完全なパイプラインを実行します。事前に録音された通話ファイル(MP3/WAV)である必要がありますが、手元に録音がない場合は合成することもできます:
# 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.
compatibleエンドポイントは OpenAI JSON スキーマの構造化出力 (response_format: {type: "json_schema"}) をサポートしている必要があります。パイプラインのstructured_completionはこれに依存しています。すべてのゲートウェイのすべてのモデルが対応しているわけではありません。例えば、Melious 上のgpt-oss-120bは 動作しますが、他のいくつか(Melious 上の GLM、Kimi、DeepSeek v4)は スキーマモードを拒否します。モデルを採用する前に、小さな構造化呼び出しでプローブしてください。
MCP / MCPize
CallLens には、analyze_transcript、score_dimension、list_rubrics を公開する MCP サーバーが同梱されており、MCPize にデプロイできます:
mcpize analyze && mcpize doctor && mcpize deployローカル stdio:
pip install -r requirements.txt
python mcp-server/server.py評価
| Dimension | MAE | Correlation |
|-----------|-----|-------------|
| Discovery | .61 | .88 |
| Rapport | .74 | .81 |ハーネス(calllens.evals)は、13 シナリオの合成データセット(優れたセールス担当者、劣ったセールス担当者、弱いディスカバリー、怒っている顧客、多言語など)に対して完全なパイプラインを実行し、人間品質のラベルに対する MAE、RMSE、相関、エビデンスの適合率/再現率を報告します。
ロードマップ
docs/ROADMAP.md を参照してください。ハイライト: Supabase 認証/RLS とオブジェクトストレージ、非同期ジョブバックエンド(Redis/SQS)、GraphQL ダッシュボードクエリ、ライブ通話モード、AI ロールプレイモード、担当者別トレンド、ドリフト監視。
セキュリティとプライバシー
API キーは環境変数のみで管理され、コミット、ログ記録、ブラウザへの公開は一切行われません。
通話録音は機密情報として扱われます。テナント分離、プライベート/署名付きストレージ、削除、設定可能な保持期間。
完全なトランスクリプトはデフォルトではログに記録されません。
SECURITY.md と docs/ARCHITECTURE.md を参照してください。
ライセンス
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