Voice Quality API
Measure the network path quality to a voice/VoIP destination and get an estimated MOS (ITU-T G.107 E-model) plus live RTT, jitter, and packet loss. Agent-native: REST + MCP, free tier then pay-per-call via x402.
README
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.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.