Voice Quality API
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
}Related MCP server: Keel
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 ( |
Pay-per-call | Beyond that, a sub-centβcents micropayment per call via x402 (USDC on Base). Unpaid β |
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)βββΊ targetComponent | Stack | Role |
Orchestrator ( | TypeScript + Hono | REST API, E-model, x402 paywall, AUP, rate limit, probe dispatch |
MCP server ( | TypeScript + MCP SDK |
|
Probe agent ( | Go | UDP/RTP emulation + RFC 3550 metrics; cheap regional VPS |
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/healthFull 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.
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.
Latest Blog Posts
- 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/Gomess8/API'
If you have feedback or need assistance with the MCP directory API, please join our Discord server