
Choose this for an app
SDK & API
You own the product experience
Best when your app captures audio and needs scoring embedded directly in the learner journey.
- Native learner-facing UI
- Streaming and submitted audio
- Enterprise licensing
Choose by who captures the audio, who decides when to score, and how much of the orchestration your team wants to own—not by the scoring result you need.

/quick answer

Choose this for an app
You own the product experience
Best when your app captures audio and needs scoring embedded directly in the learner journey.

Choose this for an MCP agent
The agent discovers the tools
Best when an MCP-compatible client should choose and call speech assessment tools itself.

Choose this for a custom agent
You own the orchestration
Best when your existing agent stack should decide when and how an assessment function runs.
/decision matrix
Scoring depth is intentionally absent from this table: accuracy, fluency, integrity, word and phoneme evidence are shared engine capabilities.Swipe horizontally to compare all three paths.
| Decision | SDK & API | MCP server | Function calling |
|---|---|---|---|
| Fit & ownership | |||
| Best for | Learner-facing apps and education platforms | MCP clients, IDE agents and assistants | Custom agents and workflow backends |
| Who controls the experience | Your product code and interface | The MCP client and model | Your orchestrator and model |
| Who decides to score | Your application logic | The model, from the discovered tool list | The model, from schemas you provide |
| Implementation | |||
| Runs in | iOS · Android · web · server | Any Streamable HTTP MCP client | Any backend or agent framework |
| Transport | Native SDK, REST and WebSocket | MCP over Streamable HTTP | REST or WebSocket |
| Authentication | Application ID + signed timestamp | Bearer API key | Bearer API key |
| Audio handling | Capture, stream or upload in your app | Pass audio through a tool argument | Pass audio through your function handler |
| Commercial model | |||
| Getting started | Talk to Chivox about product requirements | Create an account and API key | Create an account and API key |
| Pricing | Enterprise licensing via BD | Self-serve evaluation points | Self-serve evaluation points |
/same request, three wrappers
Each path sends the same language, reference text and recording. What changes is where the call is declared and who executes it.

Your app starts the session
engine.start({
coreType: 'en.sent.score',
refText: 'An apple a day.'
});The model calls a discovered tool
mcp_assess_pronunciation({
language: 'en-US',
ref_text: 'An apple a day.',
audio_url
});Your handler executes the schema
assess_speech({
language: 'en-US',
ref_text: 'An apple a day.',
audio_url
});Shared structured response
Overall dimensions, word alignment, phoneme detail and supported Mandarin tone evidence remain available regardless of the wrapper.

Still deciding?
Show us who records, who acts on the score and where the feedback appears. We can map that workflow to the right integration path.
Tell us what you’re building and whether you need SDK/API, MCP, or function calling. We’ll reply within one business day with pilot credits, pricing, or a deployment plan.