Rate limits
Wiservet aplica rate limit per API key sobre el MCP público. Los contadores se resetean a las 00:00 UTC todos los días.
Cuotas por defecto¶
| Plan | rate_limit_per_day |
Burst (1 minuto) |
|---|---|---|
| Standard | 1.000 | 60 |
| Pro | 5.000 | 200 |
| Enterprise | A negociar | A negociar |
Cómo se cuenta¶
- Cada
POST /tools/{tool}/invokeexitoso o bloqueado por sql_guard suma 1. - Health checks (
GET /health) no suman. - El header
X-RateLimit-Remainingviene en cada response 200/4xx con la cuota restante del día.
Comportamiento ante 429¶
HTTP/1.1 429 Too Many Requests
Content-Type: application/json
{
"error": "rate_limit_exceeded",
"code": "RATE_LIMIT_EXCEEDED",
"details": {
"limit": 1000,
"reset_at": "2026-04-27T00:00:00Z"
}
}
Estrategia recomendada:
- No retry hard: backoff exponencial
2^nsegundos hastareset_at. - Cachear
get_clinic_context: el resultado cambia cada ~5 min. Cachear cliente-side reduce ~30% del consumo típico. - Pedir incremento: a
soporte@wiservet.comcon justificación + plan actual.
Burst protection¶
Adicional al daily limit, hay un cap de 60 req/min (Standard) o 200 req/min (Pro). Excede → 429 con retry_after en segundos:
Visibilidad¶
Desde la consola Wiservet (vista Config → Integraciones):
- Consumo del día (gráfico hora a hora)
- Top tools llamados últimas 24h
mcp_usage_logrows con SQL truncado yrows_returned