io.github.Gomess8/voice-quality-api
Measure voice/VoIP path quality -> estimated MOS + live network metrics
Installation
Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).
claude mcp add --transport http voice-quality-api 'https://mcp.voice-quality.com/'
{
"mcpServers": {
"voice-quality-api": {
"type": "http",
"url": "https://mcp.voice-quality.com/"
}
}
}
Documentation
Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.
Sommaire
Voice Quality API
Measure the network path quality to a voice/VoIP destination and get an estimated MOS (1–5) — live, from an API. Built for AI voice agents. Available as REST and as an MCP tool, paid per call via x402 (USDC on Base).
🌐 Live: voice-quality.com · REST
api.voice-quality.com · MCP mcp.voice-quality.com
Try it
curl https://api.voice-quality.com/health # {"status":"ok"}
curl -s https://api.voice-quality.com/v1/voice-quality \
-H 'content-type: application/json' \
-d '{ "target": "your-voice-endpoint.example", "target_port": 10000, "codec": "G711" }'
You get an estimated MOS + live RTT / jitter / packet loss. Point it at an
endpoint that answers media — your own voice infra, or a tiny reflector you run
(probe-agent/cmd/reflector). 20 free/day;
beyond that it's pay-per-call via x402 (no account needed).
{
"request_id": "vq_2ibc6qqq",
"target": "your-voice-endpoint.example",
"codec": "G711",
"measured_at": "2026-07-01T10:15:13.795Z",
"summary": { "mos_estimate": 4.38, "mos_class": "excellent", "r_factor": 91.8 },
"by_probe": [ /* per-probe metrics + R-factor + MOS */ ],
"methodology": {
"model": "ITU-T G.107 E-model",
"confidence": "estimate",
"assumptions": ["owd = rtt/2 (symmetric path)", "adaptive jitter buffer = 2x jitter"]
},
"credits_used": 0
}
Why it exists
Free network-measurement platforms (Globalping, RIPE Atlas) measure ping/traceroute/DNS/HTTP — they do not measure RTP media quality or estimate MOS. The tools that do (Cyara, Spearline) are enterprise sales motions. This fills the gap: voice path quality as a clean, self-serve, agent-native API — check it before you route a call, or monitor the path to your voice endpoints.
Trustworthy by design
- Honest metric. An objective G.107 E-model estimate from measured network
metrics — never sold as a perceptual (PESQ/POLQA) score. Every response carries
methodology.confidence: "estimate"and its assumptions. - Verified constants. The codec
Ie/Bplvalues are verified against ITU-T G.113 (09/2024), App. I, Table I.4 — rows matched to the probe profile (no PLC, no VAD/DTX). Not "representative"; cited. - SSRF-guarded. ~36.7% of public MCP servers ship SSRF issues — this one blocks internal/private targets by default (orchestrator and probe), plus a per-target allowlist and rate limit.
- Hardened. TLS/mTLS on the probe channel, non-root containers,
pnpm auditclean, structured machine-readable errors,Idempotency-Key, Prometheus/metrics, per-identity API keys.
Pricing
| Tier | What you get |
|---|---|
| Free | 20 measurements/day per identity (credits_used: 0). |
| Pay-per-call | Beyond that, a sub-cent–cents micropayment per call via x402 (USDC on Base). Unpaid → 402 with the payment requirements; pay and retry. Agents pay transparently. |
Agent-native (MCP + x402)
One MCP tool, measure_voice_quality. The server wraps the REST API and pays
x402 transparently from a configured wallet once the free tier is exhausted — no
human in the loop.
{
"mcpServers": {
"voice-quality": {
"url": "https://mcp.voice-quality.com/",
"env": { "MCP_CLIENT_PRIVATE_KEY": "0x…" } // optional; only for paid calls
}
}
}
Architecture
[AI agent / dev] ──(HTTP + x402 / MCP)──► [Orchestrator] ──► [E-model (G.107): R → MOS]
└──► [regional probe] ──(emulated UDP/RTP)──► target
| Component | Stack | Role |
|---|---|---|
Orchestrator (packages/orchestrator) | TypeScript + Hono | REST API, E-model, x402 paywall, AUP, rate limit, probe dispatch |
MCP server (packages/mcp-server) | TypeScript + MCP SDK | measure_voice_quality; wraps REST + transparent x402 |
Probe agent (probe-agent) | Go | UDP/RTP emulation + RFC 3550 metrics; cheap regional VPS |
Shared (packages/shared) | TypeScript | Zod schemas, types, G.113 codec constants |
Self-host
cp .env.example .env # fill in values
docker compose up --build -d # orchestrator + MCP + probe + reflector + landing
curl localhost:8080/health
Full deploy (public HTTPS via Caddy or Cloudflare Tunnel, regional probes with
mTLS): docs/deploy.md. Going to production (mainnet x402,
codec verification, registries): docs/go-live.md.
Docs
Methodology · OpenAPI · Deploy · Go-live · Discovery & registries
The MOS is an objective estimate from network conditions, not a guarantee of call quality. Maintained actively.
Questions fréquentes
Qu'est-ce que io.github.Gomess8/voice-quality-api ?
Measure voice/VoIP path quality -> estimated MOS + live network metrics
Comment installer io.github.Gomess8/voice-quality-api ?
Il fonctionne comme serveur distant. Dans Claude Code : claude mcp add --transport http voice-quality-api 'https://mcp.voice-quality.com/'. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.
Faut-il une clé API pour io.github.Gomess8/voice-quality-api ?
Son entrée au registre n'indique aucune clé ni secret obligatoire. Certaines fonctions peuvent tout de même demander un compte auprès du service auquel il se connecte.
io.github.Gomess8/voice-quality-api est-il open source ?
Son code est public sur GitHub, mais le dépôt ne déclare pas de licence standard.
Qui maintient io.github.Gomess8/voice-quality-api ?
Il est publié par Gomess8. AI.tn le référence sans le maintenir ni le recommander.
Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.