curl --request GET 'https://api.voicecheap.ai/.well-known/oauth-protected-resource/mcp'
const input = {};
const response = await fetch('https://api.voicecheap.ai/.well-known/oauth-protected-resource/mcp', {
method: 'GET',
headers: {},
redirect: 'manual',
});
console.log(response.status, await response.text());
import os
import requests
response = requests.request(
"GET",
"https://api.voicecheap.ai/.well-known/oauth-protected-resource/mcp",
headers={},
timeout=120,
allow_redirects=False,
)
print(response.status_code, response.text)
OAuth y protocolo MCP
Obtener metadatos del recurso protegido de MCP
Descubre el destinatario resource de MCP, el servidor de autorización, los permisos de producto compatibles y el transporte de tokens Bearer compatible.
GET
/
.well-known
/
oauth-protected-resource
/
mcp
curl --request GET 'https://api.voicecheap.ai/.well-known/oauth-protected-resource/mcp'
const input = {};
const response = await fetch('https://api.voicecheap.ai/.well-known/oauth-protected-resource/mcp', {
method: 'GET',
headers: {},
redirect: 'manual',
});
console.log(response.status, await response.text());
import os
import requests
response = requests.request(
"GET",
"https://api.voicecheap.ai/.well-known/oauth-protected-resource/mcp",
headers={},
timeout=120,
allow_redirects=False,
)
print(response.status_code, response.text)
Descubre el destinatario resource de MCP, el servidor de autorización, los permisos de producto compatibles y el transporte de tokens Bearer compatible.
GET https://api.voicecheap.ai/.well-known/oauth-protected-resource/mcp
Autenticación
Ninguno.Ejemplos de solicitud
Sigue la codificación y la autenticación documentadas para esta ruta. El formato envolvente y las reglas de idempotencia de la API de acciones solo se aplican a las invocaciones de acciones.curl --request GET 'https://api.voicecheap.ai/.well-known/oauth-protected-resource/mcp'
const input = {};
const response = await fetch('https://api.voicecheap.ai/.well-known/oauth-protected-resource/mcp', {
method: 'GET',
headers: {},
redirect: 'manual',
});
console.log(response.status, await response.text());
import os
import requests
response = requests.request(
"GET",
"https://api.voicecheap.ai/.well-known/oauth-protected-resource/mcp",
headers={},
timeout=120,
allow_redirects=False,
)
print(response.status_code, response.text)
Respuesta
Metadatos del recurso protegido OAuth. Ambas rutas de metadatos publicadas devuelven el mismo objeto para el recurso MCP.HTTP 200
{
"resource": "https://api.voicecheap.ai/mcp",
"resource_name": "VoiceCheap MCP",
"authorization_servers": ["https://api.voicecheap.ai"],
"scopes_supported": [
"account:read",
"usage:read",
"settings:read",
"settings:write",
"team:read",
"team:write",
"projects:read",
"projects:write",
"projects:delete",
"translations:write",
"transcription:read",
"transcription:write",
"subtitles:read",
"subtitles:write",
"tts:read",
"tts:write",
"voices:read",
"voices:write",
"images:read",
"images:write",
"thumbnails:read",
"thumbnails:write",
"folders:read",
"folders:write",
"glossary:read",
"glossary:write",
"webhooks:read",
"webhooks:write",
"publishing:read",
"publishing:write"
],
"bearer_methods_supported": ["header"]
}
Notas de la operación
- Usa resource exactamente como se devuelve al crear solicitudes de autorización y de token. No lo sustituyas por /v1, no añadas una barra ni uses el origen de otro entorno.
- El recurso acepta credenciales bearer mediante cabeceras HTTP. La autenticación MCP rechaza las credenciales en la cadena de consulta.
- scopes_supported solo contiene permisos del producto; offline_access aparece en los metadatos del servidor de autorización.
- Una respuesta de /mcp sin autenticación anuncia la ruta de metadatos específica de /mcp en WWW-Authenticate.
- El recurso de producción es https://api.voicecheap.ai/mcp. El recurso de desarrollo predeterminado es https://dev.api.voicecheap.ai/mcp; los despliegues pueden publicar un origen de desarrollo canónico diferente.
Errores
| Estado HTTP | Código | Significado o solución |
|---|---|---|
| 429 | temporarily_unavailable | Se ha alcanzado el límite público de frecuencia de solicitudes OAuth. Espera a que termine la ventana actual antes de reintentarlo. |
| 500 | server_error | La autorización no está disponible temporalmente. Vuelve a intentarlo más tarde. |
¿Esta página le ayudó?

