CHIVOX AI
La capa de evaluación para agentes de lenguaje hablado: diagnóstico a nivel de fonemas, evaluación de fluidez y análisis de tonos del mandarín, todo mediante una sola llamada de función y sin infraestructura de audio.
Documentación
TL;DR — Los LLM no pueden escuchar audio. Chivox MCP es un servidor MCP alojado que evalúa la pronunciación a nivel de fonemas, incluidos los tonos del mandarín. Una sola
tools/calldevuelveoverall / accuracy / pron / fluency / details[].phone[]en una estructura JSON estable sobre la que tu modelo puede razonar. No es STT. No es un envoltorio de Whisper.
English
🎯 ¿Es para ti?
La mayoría de los equipos de producción ejecutan Whisper + Chivox juntos: Whisper para transcribir lo que se dijo, Chivox para calificar qué tan bien se dijo. No compiten.
¿Qué es esto?
El servidor MCP de Evaluación de Habla de Chivox expone capacidades profesionales de evaluación del habla como herramientas del Model Context Protocol (MCP). Conecta tu asistente de IA a nuestro servicio en la nube y deja que evalúe la calidad de pronunciación en inglés y chino.
Endpoint del servicio: https://mcp-global.cloud.chivox.com
Características
- 16 herramientas de evaluación — palabra, oración, párrafo, fonética, lectura en tiempo real y más
- Inglés + Chino — 10 herramientas en inglés, 6 en chino
- Transmisión en tiempo real — evaluación de audio en vivo basada en WebSocket
- Múltiples entradas de audio — URL, Base64 o carga de archivos
- Funciona en todas partes — Claude Desktop, Cursor y cualquier cliente compatible con MCP
- Autenticación dual — B2C (API Key) y B2B (JWT)
🚀 Inicio rápido
Endpoint alojado: https://mcp-global.cloud.chivox.com · cada solicitud necesita Authorization: Bearer <api_key>. Obtén una clave →
| Cliente | Configuración |
|---|---|
| Cursor | ~/.cursor/mcp.json — MCP del IDE, sin instalación |
| LangChain | Agente LangGraph ReAct + adaptador MCP |
| OpenAI Agents SDK | agents.mcp.MCPServerStreamableHttp |
| Claude Desktop | Proxy local para transmisión de micrófono |
| Raw MCP SDK | Cliente Python mcp directo |
Cursor (sin instalación)
// ~/.cursor/mcp.json
{
"mcpServers": {
"chivox-speech-eval": {
"type": "streamable-http",
"url": "https://mcp-global.cloud.chivox.com",
"headers": { "Authorization": "Bearer <your_api_key>" }
}
}
}
LangChain
from langchain_mcp_adapters.client import MultiServerMCPClient
from langgraph.prebuilt import create_react_agent
client = MultiServerMCPClient({
"chivox": {
"transport": "streamable_http",
"url": "https://mcp-global.cloud.chivox.com",
"headers": {"Authorization": "Bearer <your_api_key>"},
}
})
tools = await client.get_tools() # discovers all 16 tools
agent = create_react_agent("openai:gpt-4o-mini", tools)
result = await agent.ainvoke({"messages": [(
"user",
"Score https://example.com/audio/sentence.mp3, ref: I think therefore I am",
)]})
OpenAI Agents SDK
from agents import Agent, Runner
from agents.mcp import MCPServerStreamableHttp
chivox = MCPServerStreamableHttp(
params={
"url": "https://mcp-global.cloud.chivox.com",
"headers": {"Authorization": "Bearer <your_api_key>"},
},
name="chivox-speech-eval",
)
async with chivox:
agent = Agent(
name="coach",
instructions="Professional speaking coach",
mcp_servers=[chivox],
)
r = await Runner.run(
agent,
"Score https://example.com/audio/sentence.mp3, ref: I think therefore I am",
)
print(r.final_output)
Claude Desktop (transmisión de micrófono mediante proxy local)
npm install -g chivox-local-mcp
// ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"chivox": {
"command": "chivox-local-mcp",
"env": {
"MCP_REMOTE_URL": "https://mcp-global.cloud.chivox.com",
"MCP_API_KEY": "<your_api_key>"
}
}
}
}
Raw MCP SDK
import asyncio
from mcp.client.streamable_http import streamablehttp_client
from mcp import ClientSession
async def main():
async with streamablehttp_client(
"https://mcp-global.cloud.chivox.com",
headers={"Authorization": "Bearer <your_api_key>"},
) as (r, w, _):
async with ClientSession(r, w) as s:
await s.initialize()
out = await s.call_tool("en_sentence_eval", {
"ref_text": "I think therefore I am",
"audio_url": "https://example.com/audio/sentence.mp3",
})
print(out)
asyncio.run(main())
Más clientes (Claude Code, Windsurf, Zed, Mastra, modo function-calling) → docs → Clientes
🧠 Lo que el LLM realmente ve
Cada herramienta devuelve la misma estructura de nivel superior — cambia de idioma o granularidad sin trabajo de esquema. Ejemplo para "hello":
{
"overall": 85,
"accuracy": 82,
"pron": 88,
"integrity": 95,
"fluency": { "overall": 78, "speed": 65, "pause": 2 },
"details": [
{
"char": "hello",
"score": 85,
"phone": [
{ "phoneme": "h", "score": 90, "dp_type": "normal" },
{ "phoneme": "ɛ", "score": 82, "dp_type": "normal" },
{ "phoneme": "l", "score": 88, "dp_type": "normal" },
{ "phoneme": "oʊ", "score": 80, "dp_type": "normal" }
]
}
]
}
Para errores de pronunciación en inglés, se incluye phoneme_error: { expected, actual }. El mandarín añade tone_ref / tone_detected con veredictos dp_type conscientes de sandhi. Lista completa de campos →
🛠️ Catálogo de herramientas
Audio en línea: pasa audio_url o audio_base64 en la llamada a la herramienta — sin ida y vuelta de carga. Formatos: mp3 · wav · ogg · m4a · aac · pcm.
Evaluación en inglés
| Herramienta | Descripción | core_type |
|---|---|---|
en_word_eval | Puntuación de pronunciación de palabras | en.word.score |
en_word_correction | Corrección de pronunciación de palabras | en.word.pron |
en_phonics_eval | Evaluación de fonética | en.nsp.score |
en_sentence_eval | Evaluación de lectura de oraciones | en.sent.score |
en_sentence_correction | Corrección de pronunciación de oraciones | en.sent.pron |
en_vocab_eval | Evaluación de múltiples palabras | en.vocabs.pron |
en_paragraph_eval | Evaluación de lectura de párrafos | en.pred.score |
en_realtime_eval | Evaluación de lectura en tiempo real | en.rltm.score |
en_choice_eval | Evaluación de opción oral | en.choc.score |
en_semi_open_eval | Evaluación de pregunta semiabierta | en.scne.exam |
Evaluación en chino
| Herramienta | Descripción | core_type |
|---|---|---|
cn_word_pinyin_eval | Puntuación de pronunciación de pinyin | cn.word.score |
cn_word_raw_eval | Puntuación de pronunciación de caracteres | cn.word.raw |
cn_sentence_eval | Evaluación de lectura de oraciones | cn.sent.raw |
cn_paragraph_eval | Evaluación de lectura de párrafos | cn.pred.raw |
cn_rec_eval | Reconocimiento de rama limitada | cn.rec.raw |
cn_aitalk_eval | AI Talk — evaluación de expresión oral | cn.recscore.raw |
Evaluación en streaming
| Herramienta | Descripción |
|---|---|
create_stream_session | Crea una sesión de streaming, devuelve session_id y URL de WebSocket |
🔌 Transporte dual
Dos formas de alimentar audio — misma forma de resultado, diferente experiencia de usuario. Respaldo de function-calling: fc-global.cloud.chivox.com.
⚖️ Cómo se compara
Regla general — usa Whisper para saber qué se dijo; usa Chivox para saber qué tan bien. Se complementan.
💬 …y esto es lo que tu LLM hace con ello
Envía ese JSON directamente a cualquier modelo de chat con un prompt de sistema de una línea — "Eres un cálido coach de pronunciación. Diagnostica y luego practica." — y obtienes una lección real. Sin fine-tuning. Sin comprensión de audio. Solo chat.completion.
Por qué funciona — el LLM nunca "escuchó" el audio. El JSON nombra el problema en campos que ya entiende (
dp_type: "mispron",phoneme_error.actual,tone_refvstone_detected), así que unchat.completionestándar puede diagnosticar como un profesor humano.
🔁 El bucle de tres etapas
🎤 Entrada: grabación de 1 minuto del estudiante → Salida: retroalimentación cálida + ejercicio dirigido, de extremo a extremo en < 1.6 segundos.
🏮 La ventaja: un tutor de mandarín incansable
Más de 30 millones de estudiantes en todo el mundo estudian mandarín — incluidos hablantes de herencia y adultos principiantes — y sin embargo pocas plataformas califican errores de tono (mā / má / mǎ / mà) a nivel de fonema en inglés. El motor chino de Chivox está entrenado con los mismos datos que impulsan la Prueba de Competencia de Putonghua de China (普通话水平测试, PSC).
🇬🇧 Y sí — inglés de nivel examen también
Rúbricas de nivel examen en los mismos endpoints MCP: IELTS · TOEFL · Cambridge YLE · evaluaciones de lectura K-12 para inglés, además de puntuación de mandarín alineada con PSC. Misma forma JSON, más de 20 dimensiones de puntuación — solo cambia ref_text y accent.
💎 Por qué los desarrolladores lanzan con Chivox MCP
Además: modos streaming + en línea · TLS 1.3 de extremo a extremo · audio descartado después de la puntuación (JSON retenido 30 días) · on-prem disponible para empresas · límites y privacidad →
💳 Precios
Valores predeterminados honestos. Comienza con 600 llamadas gratuitas (30 días) y las 16 herramientas desbloqueadas — sin puertas de funciones, sin tarjeta. Cuando necesites más, paga por llamada exitosa a tarifas escalonadas — cuanto más envíes, más barata es cada llamada.
El nivel gratuito ≠ nivel limitado. Cada cuenta nueva recibe 600 llamadas gratuitas válidas por 30 días con el catálogo completo de 16 herramientas — mismo motor, mismo JSON, mismo SLA que las claves de pago. Después del período de prueba o cuando se agoten las llamadas, recarga desde $10 y deja que los niveles de volumen hagan el resto. Las llamadas fallidas nunca se facturan.
❓ Preguntas frecuentes
¿Es solo otro envoltorio alrededor de Whisper?
No. Whisper transcribe; Chivox puntúa. El motor está entrenado con muestras calificadas por exámenes y devuelve details[].phone[] a nivel de fonema — no una transcripción. La mayoría de los equipos ejecutan ambos.
¿Funciona sin conexión / en el dispositivo? El servidor MCP alojado necesita acceso saliente al motor de puntuación. Para implementaciones aisladas, contáctanos — enviamos un contenedor on-prem para clientes empresariales.
¿Qué pasa con dialectos y acentos? El mandarín apunta al Pǔtōnghuà estándar con veredictos de tono conscientes de sandhi. El inglés admite rúbricas en-US, en-GB y en-AU mediante parámetros de locale en las herramientas relevantes.
¿Qué LLM funcionan de inmediato? Cualquier modelo con function calling estilo OpenAI: GPT-4o / 5.x, Claude Sonnet / Opus, Gemini, DeepSeek, GLM, Kimi, Doubao, Qwen. Los esquemas de herramientas se reenvían textualmente.
¿Puedo usar esto en un navegador? Para demos rápidas, sí — pero el tráfico de producción debe fluir a través de tu backend para que la API Key permanezca en el servidor. Notas de privacidad →
Flujo de trabajo en streaming
1. Create session → tools/call: create_stream_session
↓ returns ws_url
2. Connect WebSocket → wss://{ws_url}/ws/audio/{session_id}
↓
3. Send audio frames → Binary frames (8KB chunks recommended)
↓
4. Stop & get result → Send {"cmd": "stop"}, receive final scores
Ejemplos
| Ejemplo | Descripción |
|---|---|
| Servidor Proxy Personalizado | Servidor Python Flask que hace proxy de llamadas MCP de forma segura (mantiene la API Key en el servidor) |
| Configuración de Claude Desktop | Guía de configuración para Claude Desktop |
| Configuración de Cursor | Guía de configuración para Cursor |
| Scripts de prueba rápida | Scripts de prueba mínimos en Python, Node.js y curl |
Documentación
- Referencia de API — Documentación completa del protocolo, autenticación, parámetros de herramientas y detalles de streaming
Soporte
- Sitio web: chivox.com
- Problemas: GitHub Issues
中文
🎯 适合场景
多数生产团队 Whisper + 驰声一起用:Whisper 识别说了什么,驰声评估说得怎么样。两者互补。
简介
驰声语音评测 MCP 服务基于 Model Context Protocol (MCP) 标准,将专业语音评测能力封装为 MCP 工具,供 AI 客户端(Claude Desktop、Cursor 等)直接调用。
服务地址: https://mcp-global.cloud.chivox.com
功能特性
- 16 种评测工具 — 单词、句子、段落、自然拼读、实时朗读等
- 中英文双语 — 10 种英文评测 + 6 种中文评测
- 实时流式评测 — 通过 WebSocket 实时推送音频,获取评测结果
- 多种音频输入 — 支持 URL、Base64 编码、文件上传
- 广泛兼容 — 支持 Claude Desktop、Cursor 及任何 MCP 兼容客户端
- 双认证模式 — B2C(API Key)和 B2B(JWT 签名)
🚀 快速开始
服务地址:https://mcp-global.cloud.chivox.com · 每个请求需携带 Authorization: Bearer <api_key>。获取 Key →
| 客户端 | 接入方式 |
|---|---|
| Cursor | ~/.cursor/mcp.json — IDE MCP,零安装 |
| LangChain | LangGraph ReAct agent + MCP 适配器 |
| OpenAI Agents SDK | agents.mcp.MCPServerStreamableHttp |
| Claude Desktop | 本地代理,支持麦克风流式传输 |
| Raw MCP SDK | 直接使用 mcp Python 客户端 |
Cursor (零安装)
// ~/.cursor/mcp.json
{
"mcpServers": {
"chivox-speech-eval": {
"type": "streamable-http",
"url": "https://mcp-global.cloud.chivox.com",
"headers": { "Authorization": "Bearer <your_api_key>" }
}
}
}
LangChain
from langchain_mcp_adapters.client import MultiServerMCPClient
from langgraph.prebuilt import create_react_agent
client = MultiServerMCPClient({
"chivox": {
"transport": "streamable_http",
"url": "https://mcp-global.cloud.chivox.com",
"headers": {"Authorization": "Bearer <your_api_key>"},
}
})
tools = await client.get_tools() # 自动发现全部 16 个工具
agent = create_react_agent("openai:gpt-4o-mini", tools)
result = await agent.ainvoke({"messages": [(
"user",
"评测 https://example.com/audio/sentence.mp3,参考文本:I think therefore I am",
)]})
OpenAI Agents SDK
from agents import Agent, Runner
from agents.mcp import MCPServerStreamableHttp
chivox = MCPServerStreamableHttp(
params={
"url": "https://mcp-global.cloud.chivox.com",
"headers": {"Authorization": "Bearer <your_api_key>"},
},
name="chivox-speech-eval",
)
async with chivox:
agent = Agent(
name="coach",
instructions="专业口语教练",
mcp_servers=[chivox],
)
r = await Runner.run(
agent,
"评测 https://example.com/audio/sentence.mp3,参考文本:I think therefore I am",
)
print(r.final_output)
Claude Desktop (本地代理 + 麦克风流式传输)
npm install -g chivox-local-mcp
// ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"chivox": {
"command": "chivox-local-mcp",
"env": {
"MCP_REMOTE_URL": "https://mcp-global.cloud.chivox.com",
"MCP_API_KEY": "<your_api_key>"
}
}
}
}
Raw MCP SDK
import asyncio
from mcp.client.streamable_http import streamablehttp_client
from mcp import ClientSession
async def main():
async with streamablehttp_client(
"https://mcp-global.cloud.chivox.com",
headers={"Authorization": "Bearer <your_api_key>"},
) as (r, w, _):
async with ClientSession(r, w) as s:
await s.initialize()
out = await s.call_tool("en_sentence_eval", {
"ref_text": "I think therefore I am",
"audio_url": "https://example.com/audio/sentence.mp3",
})
print(out)
asyncio.run(main())
更多客户端(Claude Code、Windsurf、Zed、Mastra、function-calling 模式)→ 文档 → 客户端
🧠 LLM 看到的数据
每个工具返回 统一的顶层结构 — 切换语种或粒度无需修改 schema。以 "hello" 为例:
{
"overall": 85,
"accuracy": 82,
"pron": 88,
"integrity": 95,
"fluency": { "overall": 78, "speed": 65, "pause": 2 },
"details": [
{
"char": "hello",
"score": 85,
"phone": [
{ "phoneme": "h", "score": 90, "dp_type": "normal" },
{ "phoneme": "ɛ", "score": 82, "dp_type": "normal" },
{ "phoneme": "l", "score": 88, "dp_type": "normal" },
{ "phoneme": "oʊ", "score": 80, "dp_type": "normal" }
]
}
]
}
英文错误发音会包含 phoneme_error: { expected, actual }。中文额外提供 tone_ref / tone_detected 及变调感知的 dp_type 判定。完整字段列表 →
🛠️ 工具一览
内联音频: 在工具调用中直接传入 audio_url 或 audio_base64 — 无需额外上传。支持格式: mp3 · wav · ogg · m4a · aac · pcm。
英文评测
| 工具名 | 说明 | core_type |
|---|---|---|
en_word_eval | 单词评测 — 总分及每个音标得分 | en.word.score |
en_word_correction | 单词纠音 — 发音纠正建议 | en.word.pron |
en_phonics_eval | 自然拼读评测 | en.nsp.score |
en_sentence_eval | 句子评测 — 流利度、准确度、完整度 | en.sent.score |
en_sentence_correction | 句子纠音 | en.sent.pron |
en_vocab_eval | 词语评测 | en.vocabs.pron |
en_paragraph_eval | 段落评测 — 每句、每词得分 | en.pred.score |
en_realtime_eval | 实时朗读评测 | en.rltm.score |
en_choice_eval | 口语选择题评测 | en.choc.score |
en_semi_open_eval | 半开放题评测 | en.scne.exam |
中文评测
| Nombre de la herramienta | Descripción | core_type |
|---|---|---|
cn_word_pinyin_eval | Evaluación de pinyin — puntuación total, iniciales, finales, tonos | cn.word.score |
cn_word_raw_eval | Evaluación de caracteres chinos | cn.word.raw |
cn_sentence_eval | Evaluación de palabras y frases — puntuación total, tono, precisión, fluidez | cn.sent.raw |
cn_paragraph_eval | Evaluación de párrafos | cn.pred.raw |
cn_rec_eval | Reconocimiento de ramificación limitada | cn.rec.raw |
cn_aitalk_eval | AI Talk — reconoce y evalúa la expresión oral | cn.recscore.raw |
Evaluación en streaming
| Nombre de la herramienta | Descripción |
|---|---|
create_stream_session | Crea una sesión de evaluación en streaming y devuelve el session_id y la dirección WebSocket |
🔌 Modo de doble transmisión
Dos formas de transmitir audio — la estructura de retorno es idéntica, la experiencia difiere. Dirección alternativa de Function-calling: fc-global.cloud.chivox.com.
⚖️ Comparación de soluciones
Regla general — con Whisper sabes qué se dijo; con 驰声 sabes cómo se dijo. Ambas pueden usarse en conjunto.
💬 Cómo aprovecha el LLM los resultados de evaluación
Pasa directamente el JSON a cualquier modelo conversacional con un prompt de sistema — "Eres un cálido entrenador de pronunciación, primero diagnostica y luego practica." — y obtendrás una retroalimentación pedagógica real. Sin ajuste fino, sin comprensión de audio, solo necesitas chat.completion.
Por qué funciona — El LLM nunca "escuchó" el audio. El JSON nombra el problema con campos que el modelo ya entiende (
dp_type: "mispron",phoneme_error.actual,tone_refvstone_detected), por lo quechat.completionnativo puede diagnosticar como un profesor humano real.
🔁 Bucle de tres fases
🎤 Entrada: grabación de 1 minuto del estudiante → Salida: retroalimentación cálida + ejercicios dirigidos, extremo a extremo en < 1,6 segundos.
🏮 Ventaja principal: un tutor de mandarín incansable
Más de 30 millones de aprendices estudian mandarín en todo el mundo — incluyendo hablantes de herencia china y adultos principiantes — pero pocas plataformas pueden evaluar errores de tono a nivel fonético (mā / má / mǎ / mà). El motor de chino de 驰声 se entrena con los mismos datos utilizados en la Prueba de Nivel de Mandarín de China (PSC).
🇬🇧 Evaluación de inglés igualmente excelente a nivel de examen
El mismo endpoint MCP proporciona estándares de calificación a nivel de examen: el inglés admite IELTS · TOEFL · Cambridge YLE · Evaluación de lectura K-12, y el chino se alinea con la puntuación PSC. Estructura JSON uniforme, más de 20 dimensiones de calificación — solo necesitas cambiar ref_text y accent.
💎 Por qué los desarrolladores eligen el MCP de 驰声
Además: transmisión + en línea en modo dual · TLS 1.3 cifrado de extremo a extremo · el audio se elimina tras la evaluación (el JSON se conserva durante 30 días) · los clientes empresariales pueden realizar despliegue privado · Límites y privacidad →
💳 Precios
Política predeterminada razonable. Al registrarte obtienes 600 llamadas gratuitas (válidas por 30 días) y los 16 herramientas desbloqueadas — sin limitaciones de funciones, sin necesidad de tarjeta. Cuando necesites más, se cobra por llamada exitosa con tarifas escalonadas — cuanto más usas, menor es el precio unitario.
La versión gratuita no es una versión recortada. Cada cuenta nueva recibe 600 llamadas gratuitas (válidas por 30 días) y el catálogo completo de 16 herramientas — el motor, el JSON y el SLA son exactamente iguales a la versión de pago. Cuando la prueba expire o se agote, recarga desde $10 y disfruta de descuentos escalonados. Las llamadas fallidas no se cobran.
❓ Preguntas frecuentes
¿Es otro envoltorio de Whisper?
No. Whisper convierte voz a texto, 驰声 evalúa la pronunciación. El motor se entrena con muestras de calificación de exámenes y devuelve details[].phone[] a nivel fonético — no texto transcrito. La mayoría de los equipos usan ambos.
¿Se admite despliegue offline/edge? El servicio MCP alojado necesita conexión al motor de evaluación. Para despliegues en entornos aislados, contáctanos — ofrecemos contenedores privatizados para clientes empresariales.
¿Se admiten dialectos y acentos? El objetivo del chino es el mandarín estándar, con detección de tonos sensible a la variación. El inglés admite estándares de calificación en-US, en-GB, en-AU a través de parámetros de herramienta.
¿Qué LLM pueden usarse directamente? Cualquier modelo que admita function calling al estilo OpenAI: GPT-4o / 5.x, Claude Sonnet / Opus, Gemini, DeepSeek, GLM, Kimi, 豆包, Qwen. El esquema de la herramienta se pasa tal cual.
¿Se puede usar desde el navegador? Para demos rápidas sí, pero en producción reenvíalo a través del backend para mantener la clave API en el servidor. Nota de privacidad →
Flujo de evaluación en streaming
1. 创建会话 → tools/call: create_stream_session
↓ 返回 ws_url
2. 连接 WebSocket → wss://{ws_url}/ws/audio/{session_id}
↓
3. 推送音频帧 → 二进制帧(建议每帧 8KB)
↓
4. 停止并获取结果 → 发送 {"cmd": "stop"},接收最终评分
Ejemplos
| Ejemplo | Descripción |
|---|---|
| Servidor proxy del cliente | Servicio proxy en Python Flask para la transferencia segura de la clave API |
| Configuración de Claude Desktop | Guía de integración con Claude Desktop |
| Configuración de Cursor | Guía de integración con Cursor |
| Script de prueba rápida | Ejemplos mínimos de llamada en Python, Node.js y curl |
Documentación
- Documentación de la API — protocolo completo, autenticación, parámetros de herramienta, explicación de la evaluación en streaming
Soporte
- Sitio web: chivox.com
- Informe de problemas: GitHub Issues
🤝 Danos una estrella · saluda
Licencia
El código de ejemplo y la documentación de este repositorio están bajo la Licencia MIT.
El Servicio MCP de Evaluación de Habla de Chivox es un producto comercial. Visita el Portal de API de Chivox para acceder al servicio y ver los precios.