Voice Quality API

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.

Category
Visit Server

README

Voice Quality API

status MCP x402 model G.113 SSRF

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/Bpl values 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 audit clean, 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

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured