Saltar al contenido principal
61 min de lectura

Referencia de Herramientas MCP

Esta página documenta todas las 77 herramientas MCP disponibles a través del servidor de análisis de Zenovay. Cada herramienta incluye sus parámetros, una solicitud JSON-RPC de ejemplo y una respuesta de ejemplo.

URL del servidor: https://api.zenovay.com/mcp Transporte: HTTP transmisible (JSON-RPC 2.0) Encabezado de autenticación: Authorization: Bearer zv_YOUR_API_KEY

Todas las herramientas requieren una clave de API válida con MCP habilitado. Las herramientas de escritura (marcadas con requiere read_write) devuelven un error en modo de solo lectura. Consulte Permisos y límites para la lista completa.


Referencia Rápida para Asistentes de IA

Utilice esta sección para comprender rápidamente el servidor MCP de Zenovay. Cada solicitud usa este sobre JSON-RPC:

Plantilla de SolicitudJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "TOOL_NAME",
  "arguments": { ... }
}
}

Primer paso en cada sesión: Llame a list_websites (sin argumentos) para descubrir IDs de sitios web. Casi toda herramienta requiere un parámetro website_id.

Las 77 herramientas de un vistazo:

#HerramientaCategoríaCostoDescripción
1query_analyticsanalytics3Consulta de análisis en lenguaje natural
2get_visitorsanalytics1Estadísticas de visitantes con comparación de período opcional
3get_top_pagesanalytics1Páginas más visitadas clasificadas por recuento de visitantes
4get_traffic_sourcesanalytics1Desglose de fuentes de tráfico / referencias
5get_geographic_dataanalytics1Desglose de país + ciudad opcional
6get_technology_breakdownanalytics1Dispositivos, navegadores, sistemas operativos
7get_realtime_visitorsanalytics1Visitantes actualmente activos (últimos 5 min)
8compare_periodsanalytics1Comparar métricas entre dos períodos de tiempo
9get_funnel_analysisadvanced1Datos de conversión paso a paso del embudo
10get_goalsadvanced1Objetivos activos con tasas de finalización
11get_session_replaysadvanced1Lista de grabaciones de reproducción de sesión (Pro+)
12get_heatmap_dataadvanced1Datos de interacción de mapa de calor por página (Pro+)
13get_errorsadvanced1Seguimiento de errores de JavaScript
14get_b2b_companiesadvanced1Identificación de empresa B2B mediante búsqueda inversa de IP
15get_revenueadvanced1Totales de ingresos + desgloses (Pro+)
16get_performance_metricsadvanced1Core Web Vitals (LCP, CLS, INP, FCP, TTFB)
17get_insightsai_insights1Perspectivas accionables generadas por IA
18get_anomaliesai_insights1Anomalías de métrica detectadas
19get_weekly_digestai_insights1Resumen de rendimiento semanal (esta vs última semana)
20get_recommendationsai_insights1Recomendaciones de optimización impulsadas por IA
21list_websitesmanagement1Sitios web accesibles de lista (¡llame primero!)
22create_goalmanagement1Crear objetivo personalizado (requiere read_write)
23manage_funnelmanagement1Crear/actualizar embudo (requiere read_write)
24export_datamanagement1Exportar análisis en JSON o CSV (Scale+)
25get_api_usagemanagement1Verificar cuota diaria restante
26get_website_settingsmanagement1Obtener configuración del sitio web
27update_website_settingsmanagement1Actualizar configuración del sitio web (requiere read_write)
28toggle_public_dashboardmanagement1Habilitar/deshabilitar panel público (requiere read_write)
29toggle_cookieless_trackingmanagement1Habilitar/deshabilitar modo sin cookies (requiere read_write, Pro+)
30get_tracking_codemanagement1Obtener el fragmento de código de seguimiento para un sitio web
31regenerate_tracking_codemanagement1Generar un nuevo código de seguimiento (requiere read_write)
32list_goalsmanagement1Enumerar todos los objetivos de un sitio web
33update_goalmanagement1Actualizar un objetivo existente (requiere read_write)
34delete_goalmanagement1Eliminar un objetivo (requiere read_write)
35toggle_goalmanagement1Habilitar o deshabilitar un objetivo (requiere read_write)
36list_funnelsmanagement1Enumerar todos los embudos para un sitio web
37delete_funnelmanagement1Eliminar un embudo (requiere read_write)
38delete_websitemanagement1Eliminar permanentemente un sitio web (requiere read_write, full_access)
39add_ip_exclusionsettings1Agregar IP a lista de exclusión (requiere read_write)
40remove_ip_exclusionsettings1Eliminar IP de lista de exclusión (requiere read_write)
41add_path_exclusionsettings1Agregar patrón de ruta a exclusiones (requiere read_write)
42remove_path_exclusionsettings1Eliminar ruta de exclusiones (requiere read_write)
43list_exclusionssettings1Enumerar todas las exclusiones de IP y ruta
44get_notification_settingssettings1Obtener preferencias de notificación
45update_notification_settingssettings1Actualizar preferencias de notificación (requiere read_write)
46get_team_membersteam1Enumerar miembros del equipo (requiere full_access)
47invite_team_memberteam1Invitar a un nuevo miembro del equipo (requiere read_write, full_access, Pro+)
48remove_team_memberteam1Eliminar un miembro del equipo (requiere read_write, full_access)
49create_websitemanagement1Crear un nuevo sitio web (requiere read_write, full_access)
50list_api_keysapi_keys1Enumerar todas las claves de API para el equipo
51create_api_keyapi_keys1Crear una nueva clave de API (requiere read_write)
52revoke_api_keyapi_keys1Revocar una clave de API (requiere read_write)
53get_api_key_detailsapi_keys1Obtener detalles para una clave de API específica
54update_api_key_permissionsapi_keys1Actualizar permisos de clave de API (requiere read_write)
55list_uptime_monitorsuptime1Enumerar todos los monitores de tiempo de actividad
56get_uptime_statusuptime1Obtener estado actual de un monitor
57create_uptime_monitoruptime1Crear un nuevo monitor de tiempo de actividad (requiere read_write)
58delete_uptime_monitoruptime1Eliminar un monitor de tiempo de actividad (requiere read_write)
59get_uptime_historyuptime1Obtener historial de tiempo de actividad y registro de incidentes
60update_website_namemanagement1Actualizar nombre para mostrar del sitio web (requiere read_write)
61update_website_timezonemanagement1Actualizar zona horaria del sitio web (requiere read_write)
62update_website_domainmanagement1Actualizar dominio del sitio web (requiere read_write)
63pause_trackingmanagement1Pausar seguimiento de análisis (requiere read_write)
64resume_trackingmanagement1Reanudar seguimiento de análisis (requiere read_write)
65schedule_reportmanagement1Programar informe de análisis recurrente (requiere read_write)
66get_report_schedulemanagement1Obtener configuración de informe programado
67cancel_reportmanagement1Cancelar informe programado (requiere read_write)
68get_export_historymanagement1Obtener historial de exportación de datos
69get_data_retentionmanagement1Obtener política de retención de datos para el sitio web
70set_revenue_currencysettings1Establecer moneda de ingresos (requiere read_write)
71get_revenue_settingssettings1Obtener configuración de ingresos (moneda, asignación de campos)
72add_allowed_domainsettings1Agregar dominio a lista blanca CORS (requiere read_write)
73remove_allowed_domainsettings1Eliminar dominio de lista blanca CORS (requiere read_write)
74list_allowed_domainssettings1Enumerar dominios en lista blanca CORS
75request_data_deletionsettings1Eliminar datos de visitantes para GDPR (requiere read_write)
76get_retention_dataadvanced1Análisis de cohorte de retención (Pro+)
77get_user_profilesanalytics1Perfiles de visitantes con historial de sesión

Valores comunes de time_range: 24h, 7d, 30d, 90d, 1y (predeterminado: 7d para la mayoría de herramientas)


Patrones Comunes

Antes de sumergirse en herramientas individuales, aquí hay flujos de trabajo comunes de múltiples herramientas:

Descubrimiento de sitios web + análisis:

  1. list_websites — encontrar sus IDs de sitios web
  2. get_visitors — obtener descripción general del tráfico
  3. get_top_pages — ver qué páginas funcionan mejor
  4. get_traffic_sources — entender de dónde viene el tráfico

Auditoría de rendimiento:

  1. list_websites — obtener ID de sitio web
  2. get_performance_metrics — verificar Core Web Vitals
  3. get_errors — encontrar errores de JavaScript
  4. get_insights — ver recomendaciones generadas por IA

Revisión semanal:

  1. get_weekly_digest — comparación automatizada de semana a semana
  2. get_anomalies — comprobar patrones inusuales
  3. compare_periods — inmersión profunda en métricas específicas

Herramientas de Análisis

Todas las herramientas de análisis aplican la ventana de retención de datos de su plan. Las consultas que solicitan datos más allá de su límite de retención se fijan automáticamente, y la respuesta incluye un campo retention_note. Consulte Aplicación de plan para límites de retención por plan.

1. query_analytics

Realice una pregunta en lenguaje natural sobre sus datos de análisis. Esta es la herramienta más flexible — úsela cuando otras herramientas específicas no encajen.

Costo: 3 consultas

ParámetroTipoObligatorioDescripción
website_idstringEl UUID del sitio web
questionstringPregunta en lenguaje natural (máx 500 caracteres)
SolicitudJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "query_analytics",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "question": "How many visitors did I have this week?"
  }
}
}
RespuestaJSON
{
"jsonrpc": "2.0",
"id": 1,
"result": {
  "content": [{
    "type": "text",
    "text": {
      "intent": "visitor_count",
      "confidence": 0.95,
      "time_range": "7d",
      "results": { "total_visitors": 1250, "unique_visitors": 980 },
      "summary": "You had 1,250 total visitors (980 unique) in the last 7 days.",
      "suggestions": [
        "How many visitors did I have this week?",
        "What are my top pages?",
        "Where are my visitors from?",
        "What devices do visitors use?"
      ]
    }
  }]
}
}

2. get_visitors

Obtenga estadísticas de visitantes para un sitio web con comparación de período opcional.

Costo: 1 consulta

ParámetroTipoObligatorioPredeterminadoDescripción
website_idstringEl UUID del sitio web
time_rangestringNo7dRango de tiempo: 24h, 7d, 30d, 90d, 1y
compare_with_previousbooleanNofalseIncluir comparación con período anterior
SolicitudJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "get_visitors",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "time_range": "7d",
    "compare_with_previous": true
  }
}
}
RespuestaJSON
{
"summary": {
  "total_visitors": 1250,
  "unique_visitors": 980,
  "page_views": 3400,
  "bounce_rate": 42.5,
  "avg_session_duration": 185.3
},
"daily_stats": [
  { "date": "2026-02-27", "visitors": 180, "unique_visitors": 140, "page_views": 490, "bounce_rate": 41.2 },
  { "date": "2026-02-28", "visitors": 195, "unique_visitors": 155, "page_views": 510, "bounce_rate": 43.1 }
],
"comparison": {
  "previous_period": { "start": "2026-02-20", "end": "2026-02-26" },
  "previous_summary": {
    "total_visitors": 1100,
    "unique_visitors": 870,
    "page_views": 3100,
    "bounce_rate": 44.8
  },
  "changes": {
    "visitors_pct": 13.64,
    "unique_visitors_pct": 12.64,
    "page_views_pct": 9.68,
    "bounce_rate_pct": -5.13
  }
}
}

3. get_top_pages

Obtenga las páginas más visitadas clasificadas por recuento de visitantes.

Costo: 1 consulta

ParámetroTipoObligatorioPredeterminadoDescripción
website_idstringEl UUID del sitio web
time_rangestringNo7dRango de tiempo: 24h, 7d, 30d, 90d, 1y
limitnumberNo20Máx páginas a devolver (1-100)
SolicitudJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "get_top_pages",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "time_range": "30d",
    "limit": 5
  }
}
}
RespuestaJSON
{
"pages": [
  { "url": "/", "visitors": 520, "percentage": 41.6 },
  { "url": "/pricing", "visitors": 180, "percentage": 14.4 },
  { "url": "/features", "visitors": 145, "percentage": 11.6 },
  { "url": "/docs", "visitors": 110, "percentage": 8.8 },
  { "url": "/blog/analytics-guide", "visitors": 95, "percentage": 7.6 }
],
"total_pages": 47
}

4. get_traffic_sources

Obtenga fuentes de tráfico que muestren de dónde vienen los visitantes.

Costo: 1 consulta

ParámetroTipoObligatorioPredeterminadoDescripción
website_idstringEl UUID del sitio web
time_rangestringNo7dRango de tiempo: 24h, 7d, 30d, 90d, 1y
limitnumberNo20Máx fuentes a devolver (1-100)
SolicitudJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "get_traffic_sources",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "time_range": "30d"
  }
}
}
RespuestaJSON
{
"sources": [
  { "source": "Direct", "visitors": 450, "percentage": 36.0 },
  { "source": "google.com", "visitors": 320, "percentage": 25.6 },
  { "source": "twitter.com", "visitors": 85, "percentage": 6.8 },
  { "source": "github.com", "visitors": 60, "percentage": 4.8 }
],
"total_sources": 23
}

5. get_geographic_data

Obtenga desglose geográfico por país con detalle a nivel de ciudad opcional.

Costo: 1 consulta

ParámetroTipoObligatorioPredeterminadoDescripción
website_idstringEl UUID del sitio web
time_rangestringNo7dRango de tiempo: 24h, 7d, 30d, 90d, 1y
limitnumberNo20Máx entradas (1-100)
include_citiesbooleanNofalseIncluir desglose a nivel de ciudad por país
SolicitudJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "get_geographic_data",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "include_cities": true,
    "limit": 3
  }
}
}
RespuestaJSON
{
"countries": [
  {
    "country_code": "US",
    "country_name": "United States",
    "visitors": 520,
    "percentage": 41.6,
    "cities": [
      { "city": "San Francisco", "visitors": 85 },
      { "city": "New York", "visitors": 72 }
    ]
  },
  {
    "country_code": "DE",
    "country_name": "Germany",
    "visitors": 180,
    "percentage": 14.4,
    "cities": [
      { "city": "Berlin", "visitors": 45 },
      { "city": "Munich", "visitors": 32 }
    ]
  }
],
"total_countries": 28
}

6. get_technology_breakdown

Obtenga desglose de tecnología del visitante: dispositivos, navegadores y sistemas operativos.

Costo: 1 consulta

ParámetroTipoObligatorioPredeterminadoDescripción
website_idstringEl UUID del sitio web
time_rangestringNo7dRango de tiempo: 24h, 7d, 30d, 90d, 1y
SolicitudJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "get_technology_breakdown",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
  }
}
}
RespuestaJSON
{
"devices": [
  { "name": "desktop", "visitors": 780, "percentage": 62.4 },
  { "name": "mobile", "visitors": 390, "percentage": 31.2 },
  { "name": "tablet", "visitors": 80, "percentage": 6.4 }
],
"browsers": [
  { "name": "Chrome", "visitors": 625, "percentage": 50.0 },
  { "name": "Safari", "visitors": 300, "percentage": 24.0 },
  { "name": "Firefox", "visitors": 150, "percentage": 12.0 }
],
"operating_systems": [
  { "name": "Windows", "visitors": 450, "percentage": 36.0 },
  { "name": "macOS", "visitors": 350, "percentage": 28.0 },
  { "name": "iOS", "visitors": 250, "percentage": 20.0 },
  { "name": "Android", "visitors": 140, "percentage": 11.2 }
],
"total_visitors": 1250
}

7. get_realtime_visitors

Obtenga visitantes actualmente activos (visitados en los últimos 5 minutos).

Costo: 1 consulta

ParámetroTipoObligatorioDescripción
website_idstringEl UUID del sitio web
SolicitudJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "get_realtime_visitors",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
  }
}
}
RespuestaJSON
{
"active_visitors": 12,
"recent_visitors": [
  {
    "country_name": "United States",
    "page_url": "/pricing",
    "device_type": "desktop",
    "browser": "Chrome"
  },
  {
    "country_name": "Germany",
    "page_url": "/",
    "device_type": "mobile",
    "browser": "Safari"
  }
]
}

8. compare_periods

Compare métricas de análisis entre dos períodos de tiempo.

Costo: 1 consulta

ParámetroTipoObligatorioPredeterminadoDescripción
website_idstringEl UUID del sitio web
current_periodstringNo7dPeríodo actual: 24h, 7d, 30d, 90d
comparison_periodstringNopreviousComparación: previous, same_period_last_month, same_period_last_year
SolicitudJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "compare_periods",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "current_period": "30d",
    "comparison_period": "same_period_last_month"
  }
}
}
RespuestaJSON
{
"current": {
  "period": { "start": "2026-02-04", "end": "2026-03-06" },
  "visitors": 3800,
  "unique_visitors": 2900,
  "page_views": 10200,
  "bounce_rate": 42.5,
  "avg_session_duration": 185.3,
  "days": 30
},
"comparison": {
  "period": { "start": "2026-01-05", "end": "2026-02-04" },
  "type": "same_period_last_month",
  "visitors": 3200,
  "unique_visitors": 2500,
  "page_views": 8800,
  "bounce_rate": 45.1,
  "avg_session_duration": 170.8,
  "days": 30
},
"changes": {
  "visitors_pct": 18.75,
  "unique_visitors_pct": 16.0,
  "pageviews_pct": 15.91,
  "bounce_rate_pct": -5.76,
  "avg_session_duration_pct": 8.49
}
}

Herramientas Avanzadas

9. get_funnel_analysis

Obtenga datos de análisis de embudo. Sin un funnel_id, enumera todos los embudos. Con uno, devuelve datos de conversión paso a paso.

Costo: 1 consulta

ParámetroTipoObligatorioPredeterminadoDescripción
website_idstringEl UUID del sitio web
funnel_idstringNoUUID de embudo para análisis detallado de pasos
time_rangestringNo30dRango de tiempo: 24h, 7d, 30d, 90d, 1y
Solicitud (listar embudos)JSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "get_funnel_analysis",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
  }
}
}
RespuestaJSON
{
"funnels": [
  { "id": "f1a2b3c4-...", "name": "Signup Flow", "created_at": "2026-01-15T10:00:00Z" },
  { "id": "f5d6e7f8-...", "name": "Checkout Flow", "created_at": "2026-02-01T14:30:00Z" }
]
}
Solicitud (análisis detallado)JSON
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
  "name": "get_funnel_analysis",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "funnel_id": "f1a2b3c4-..."
  }
}
}
RespuestaJSON
{
"funnel": { "id": "f1a2b3c4-...", "name": "Signup Flow" },
"steps": [
  { "name": "Landing Page", "order": 1, "visitors": 500, "conversion_rate": 100 },
  { "name": "Signup Form", "order": 2, "visitors": 320, "conversion_rate": 64 },
  { "name": "Email Verification", "order": 3, "visitors": 280, "conversion_rate": 56 },
  { "name": "Onboarding Complete", "order": 4, "visitors": 210, "conversion_rate": 42 }
]
}

10. get_goals

Obtenga objetivos activos con recuentos de finalización y tasas de conversión.

Costo: 1 consulta

ParámetroTipoObligatorioPredeterminadoDescripción
website_idstringEl UUID del sitio web
time_rangestringNo30dRango de tiempo: 24h, 7d, 30d, 90d, 1y
SolicitudJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "get_goals",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
  }
}
}
RespuestaJSON
{
"goals": [
  { "id": "g1...", "name": "Newsletter Signup", "goal_type": "url_match", "is_active": true, "completions": 145, "conversion_rate": 3.82 },
  { "id": "g2...", "name": "Pricing Click", "goal_type": "element_click", "is_active": true, "completions": 89, "conversion_rate": 2.34 }
]
}

11. get_session_replays

Enumere grabaciones de reproducción de sesión. Filtrar por dispositivo o país.

Costo: 1 consulta | Requiere: Pro+ (marca de característica sessionReplay)

ParámetroTipoObligatorioPredeterminadoDescripción
website_idstringEl UUID del sitio web
limitnumberNo20Sesiones a devolver (1-50)
device_typestringNoFiltro: desktop, mobile, tablet
country_codestringNoCódigo de país ISO (ej. US, DE)
SolicitudJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "get_session_replays",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "device_type": "mobile",
    "limit": 5
  }
}
}
RespuestaJSON
{
"sessions": [
  {
    "id": "sr1...",
    "session_id": "sess_abc123",
    "visitor_id": "v1...",
    "duration_ms": 45200,
    "page_count": 4,
    "had_interaction": true,
    "started_at": "2026-03-05T14:22:00Z"
  }
],
"total": 23
}

12. get_heatmap_data

Obtenga datos de interacción de mapa de calor por página.

Costo: 1 consulta | Requiere: Pro+ (marca de característica heatmaps)

ParámetroTipoObligatorioPredeterminadoDescripción
website_idstringEl UUID del sitio web
page_urlstringNoFiltrar a una URL de página específica
limitnumberNo20Páginas a devolver (1-50)
SolicitudJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "get_heatmap_data",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
  }
}
}
RespuestaJSON
{
"pages": [
  { "page_url": "/", "total_interactions": 2340, "unique_visitors": 890, "last_updated": "2026-03-05T18:00:00Z" },
  { "page_url": "/pricing", "total_interactions": 1560, "unique_visitors": 620, "last_updated": "2026-03-05T17:45:00Z" }
]
}

13. get_errors

Obtenga errores de JavaScript rastreados para un sitio web.

Costo: 1 consulta

ParámetroTipoObligatorioPredeterminadoDescripción
website_idstringEl UUID del sitio web
statusstringNoopenFiltro: open, resolved, ignored
limitnumberNo50Errores a devolver (1-100)
SolicitudJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "get_errors",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "status": "open"
  }
}
}
RespuestaJSON
{
"errors": [
  {
    "id": "e1...",
    "message": "TypeError: Cannot read property 'map' of undefined",
    "type": "TypeError",
    "occurrence_count": 45,
    "first_seen": "2026-02-28T10:15:00Z",
    "last_seen": "2026-03-05T22:30:00Z",
    "is_resolved": false
  }
],
"total": 8
}

14. get_b2b_companies

Identifique empresas B2B que visitan su sitio web mediante búsqueda inversa de IP.

Costo: 1 consulta

ParámetroTipoObligatorioPredeterminadoDescripción
website_idstringEl UUID del sitio web
limitnumberNo20Empresas a devolver (1-100)
sort_bystringNolast_seenOrdenar: visits, last_seen, confidence
industrystringNoFiltrar por industria (ej. Technology)
min_visitsnumberNo1Recuento mínimo de visitas
SolicitudJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "get_b2b_companies",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "sort_by": "visits",
    "min_visits": 3
  }
}
}
RespuestaJSON
{
"companies": [
  {
    "name": "Acme Corp",
    "domain": "acme.com",
    "industry": "Technology",
    "employee_count": 500,
    "visit_count": 12,
    "last_visit": "2026-03-05T16:00:00Z",
    "confidence_score": 0.92
  }
]
}

15. get_revenue

Obtenga análisis de ingresos con totales y desgloses.

Costo: 1 consulta | Requiere: Pro+ (marca de característica revenueAttribution)

ParámetroTipoObligatorioPredeterminadoDescripción
website_idstringEl UUID del sitio web
time_rangestringNo30dRango de tiempo: 24h, 7d, 30d, 90d, 1y
group_bystringNodayAgrupación: day, week, month, source
SolicitudJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "get_revenue",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "group_by": "source"
  }
}
}
RespuestaJSON
{
"total_revenue": 12450.00,
"transaction_count": 89,
"avg_order_value": 139.89,
"currency": "USD",
"breakdown": [
  { "source": "google.com", "revenue": 5200.00, "transactions": 38 },
  { "source": "Direct", "revenue": 4100.00, "transactions": 30 },
  { "source": "twitter.com", "revenue": 1850.00, "transactions": 12 }
]
}

16. get_performance_metrics

Obtenga Core Web Vitals y métricas de rendimiento con desgloses de percentiles.

Costo: 1 consulta

ParámetroTipoObligatorioPredeterminadoDescripción
website_idstringEl UUID del sitio web
time_rangestringNo7dRango de tiempo: 24h, 7d, 30d, 90d, 1y
page_urlstringNoFiltrar a una página específica
SolicitudJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "get_performance_metrics",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
  }
}
}
RespuestaJSON
{
"lcp": { "p50": 1800, "p75": 2200, "p90": 3100, "rating": "good", "sample_count": 450 },
"cls": { "p50": 0.05, "p75": 0.08, "p90": 0.15, "rating": "good", "sample_count": 450 },
"inp": { "p50": 120, "p75": 180, "p90": 280, "rating": "good", "sample_count": 420 },
"fcp": { "p50": 1200, "p75": 1600, "p90": 2400, "rating": "good", "sample_count": 450 },
"ttfb": { "p50": 350, "p75": 600, "p90": 950, "rating": "good", "sample_count": 450 }
}

Umbrales de calificación:

MétricaBuenoNecesita MejoraDeficiente
LCP≤ 2500ms≤ 4000ms> 4000ms
CLS≤ 0.1≤ 0.25> 0.25
INP≤ 200ms≤ 500ms> 500ms
FCP≤ 1800ms≤ 3000ms> 3000ms
TTFB≤ 800ms≤ 1800ms> 1800ms

Herramientas de Perspectivas de IA

17. get_insights

Recupere perspectivas generadas por IA sobre el rendimiento del sitio web.

Costo: 1 consulta

ParámetroTipoObligatorioPredeterminadoDescripción
website_idstringEl UUID del sitio web
severitystringNoFiltro: critical, warning, info
statusstringNoactiveFiltro: active, acknowledged, resolved
limitnumberNo10Máx perspectivas (1-50)
SolicitudJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "get_insights",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "severity": "critical"
  }
}
}
RespuestaJSON
{
"website": { "id": "2ea8af07-...", "domain": "example.com" },
"insights": [
  {
    "id": "i1...",
    "title": "Bounce rate spike on /pricing",
    "description": "Bounce rate on the pricing page increased by 35% compared to last week. Consider reviewing recent changes.",
    "severity": "critical",
    "type": "bounce_rate",
    "created_at": "2026-03-05T08:00:00Z"
  }
],
"summary": { "total": 3, "critical": 1, "warning": 1, "info": 1 }
}

18. get_anomalies

Recupere anomalías detectadas — desviaciones inusuales en métricas.

Costo: 1 consulta

ParámetroTipoObligatorioPredeterminadoDescripción
website_idstringEl UUID del sitio web
severitystringNoFiltro: critical, warning, info
metricstringNoFiltrar por métrica (ej. visitors, bounce_rate)
limitnumberNo10Máx anomalías (1-50)
SolicitudJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "get_anomalies",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
  }
}
}
RespuestaJSON
{
"website": { "id": "2ea8af07-...", "domain": "example.com" },
"anomalies": [
  {
    "id": "a1...",
    "metric_name": "visitors",
    "expected_value": 180,
    "actual_value": 45,
    "deviation_pct": -75.0,
    "severity": "critical",
    "detected_at": "2026-03-04T00:00:00Z",
    "is_resolved": false
  }
],
"total": 2
}

19. get_weekly_digest

Genere un resumen de rendimiento semanal comparando esta semana vs la semana pasada.

Costo: 1 consulta

ParámetroTipoObligatorioDescripción
website_idstringEl UUID del sitio web
SolicitudJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "get_weekly_digest",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
  }
}
}
RespuestaJSON
{
"website": { "id": "2ea8af07-...", "domain": "example.com" },
"this_week": { "visitors": 1250, "pageviews": 3400, "sessions": 980, "bounce_rate": 42.5, "avg_duration": 185 },
"last_week": { "visitors": 1100, "pageviews": 3100, "sessions": 870, "bounce_rate": 44.8, "avg_duration": 170 },
"changes": {
  "visitors": 13.64,
  "pageviews": 9.68,
  "sessions": 12.64,
  "bounce_rate": -5.13,
  "avg_duration": 8.82
},
"top_pages": [
  { "path": "/", "views": 520 },
  { "path": "/pricing", "views": 180 }
],
"top_countries": [
  { "country": "US", "visitors": 520 },
  { "country": "DE", "visitors": 180 }
]
}

20. get_recommendations

Obtenga recomendaciones de optimización impulsadas por IA.

Costo: 1 consulta

ParámetroTipoObligatorioPredeterminadoDescripción
website_idstringEl UUID del sitio web
categorystringNoFiltro: performance, engagement, conversion, seo
limitnumberNo5Máx recomendaciones (1-20)
SolicitudJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "get_recommendations",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "category": "performance"
  }
}
}
RespuestaJSON
{
"website": { "id": "2ea8af07-...", "domain": "example.com" },
"recommendations": [
  {
    "id": "r1...",
    "title": "Optimize Largest Contentful Paint",
    "description": "Your LCP p75 is 3200ms (needs improvement). Consider lazy-loading below-fold images and preloading critical assets.",
    "category": "performance",
    "priority": "high",
    "impact": "Improving LCP to under 2500ms could reduce bounce rate by ~10%"
  }
],
"total": 3
}

Herramientas de Gestión

21. list_websites

Enumera todos los sitios web accesibles por la clave API actual.

Costo: 1 consulta

Esta herramienta no toma parámetros. Las claves de acceso completo ven todos los sitios web del equipo; las claves de alcance de sitio ven solo su sitio web asignado.

RequestJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "list_websites",
  "arguments": {}
}
}
ResponseJSON
{
"websites": [
  {
    "id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "domain": "example.com",
    "name": "My Website",
    "tracking_code": "zv_abc123",
    "is_active": true,
    "created_at": "2025-06-15T10:00:00Z"
  }
],
"total": 1
}

22. create_goal

Crea un objetivo de conversión personalizado. Requiere modo read_write.

Costo: 1 consulta

ParámetroTipoObligatorioDescripción
website_idstringUUID del sitio web
namestringNombre del objetivo (máx. 100 caracteres)
goal_typestringurl_match, element_click, o custom_event
url_patternstringPara url_matchPatrón de URL a coincidir
url_match_typestringNoexact, contains, starts_with, ends_with, regex (por defecto: contains)
css_selectorstringPara element_clickSelector CSS del elemento
event_namestringPara custom_eventNombre de evento personalizado a rastrear
RequestJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "create_goal",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "name": "Newsletter Signup",
    "goal_type": "url_match",
    "url_pattern": "/thank-you",
    "url_match_type": "contains"
  }
}
}
ResponseJSON
{
"goal": {
  "id": "g1a2b3c4-...",
  "name": "Newsletter Signup",
  "goal_type": "url_match",
  "is_active": true,
  "created_at": "2026-03-06T12:00:00Z"
}
}

23. manage_funnel

Crea o actualiza un embudo de conversión. Requiere modo read_write.

Costo: 1 consulta

ParámetroTipoObligatorioDescripción
website_idstringUUID del sitio web
namestringNombre del embudo
stepsarray2-10 pasos ordenados (ver abajo)
funnel_idstringNoUUID del embudo existente a actualizar

Objeto de paso:

CampoTipoObligatorioDescripción
step_namestringNombre de visualización
step_typestringurl_match, element_click, custom_event
url_patternstringNoPatrón de URL (para url_match)
url_match_typestringNoexact, contains, starts_with, ends_with, regex
RequestJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "manage_funnel",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "name": "Checkout Flow",
    "steps": [
      { "step_name": "Product Page", "step_type": "url_match", "url_pattern": "/products" },
      { "step_name": "Add to Cart", "step_type": "custom_event", "url_pattern": "add_to_cart" },
      { "step_name": "Checkout", "step_type": "url_match", "url_pattern": "/checkout" },
      { "step_name": "Purchase Complete", "step_type": "url_match", "url_pattern": "/order-confirmation" }
    ]
  }
}
}
ResponseJSON
{
"funnel": {
  "id": "f1a2b3c4-...",
  "name": "Checkout Flow",
  "steps_count": 4,
  "created_at": "2026-03-06T12:00:00Z"
}
}

24. export_data

Exporta datos analíticos en formato JSON o CSV.

Costo: 1 consulta | Requiere: Scale+ (indicador de función dataExport)

ParámetroTipoObligatorioPor defectoDescripción
website_idstringUUID del sitio web
formatstringNojsonFormato de salida: csv, json
metricsarrayNo["visitors","pageviews","unique_visitors"]Métricas a incluir
time_rangestringNo30dRango de tiempo: 7d, 30d, 90d, 1y

Métricas disponibles: visitors, pageviews, unique_visitors, bounce_rate, avg_session_duration

RequestJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "export_data",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "format": "csv",
    "metrics": ["visitors", "pageviews", "bounce_rate"],
    "time_range": "30d"
  }
}
}
ResponseJSON
{
"format": "csv",
"time_range": "30d",
"data": "date,visitors,page_views,bounce_rate\n2026-02-04,120,340,42.5\n2026-02-05,135,380,41.2\n...",
"total_rows": 30
}

25. get_api_usage

Verifica el uso actual de la clave API y la cuota restante.

Costo: 1 consulta

Esta herramienta no toma parámetros.

RequestJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "get_api_usage",
  "arguments": {}
}
}
ResponseJSON
{
"api_key": {
  "id": "key_abc123",
  "name": "Production Key",
  "permission": "full_access"
},
"usage": {
  "monthly_requests": 1250,
  "total_requests": 8400
},
"mcp": {
  "queries_today": 15,
  "queries_limit": 500,
  "reset_at": "2026-03-07T00:00:00Z"
},
"subscription": {
  "tier": "Scale"
}
}

26. get_website_settings

Obtiene la configuración y ajustes de un sitio web.

Costo: 1 consulta

ParámetroTipoObligatorioDescripción
website_idstringUUID del sitio web
RequestJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "get_website_settings",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
  }
}
}
ResponseJSON
{
"website": {
  "id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "domain": "example.com",
  "name": "My Website",
  "is_active": true,
  "created_at": "2025-06-15T10:00:00Z"
},
"settings": {
  "public_dashboard_enabled": false,
  "public_dashboard_url": null,
  "cookieless_tracking": false,
  "tracking_code": "zv_abc123",
  "timezone": "America/New_York",
  "data_retention_days": 730,
  "allowed_domains": ["example.com", "www.example.com"]
}
}

27. update_website_settings

Actualiza los ajustes de configuración del sitio web. Requiere modo read_write.

Costo: 1 consulta

ParámetroTipoObligatorioDescripción
website_idstringUUID del sitio web
namestringNoNombre de visualización del sitio web
timezonestringNoZona horaria IANA (por ej. America/New_York)
allowed_domainsarrayNoLista de dominios permitidos para el script de rastreo
RequestJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "update_website_settings",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "name": "My Updated Website",
    "timezone": "Europe/Berlin",
    "allowed_domains": ["example.com", "www.example.com", "staging.example.com"]
  }
}
}
ResponseJSON
{
"website": {
  "id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "name": "My Updated Website",
  "timezone": "Europe/Berlin",
  "allowed_domains": ["example.com", "www.example.com", "staging.example.com"],
  "updated_at": "2026-03-15T10:00:00Z"
}
}

28. toggle_public_dashboard

Habilita o deshabilita el uso compartido del panel público para un sitio web. Requiere modo read_write.

Costo: 1 consulta

ParámetroTipoObligatorioDescripción
website_idstringUUID del sitio web
enabledbooleantrue para habilitar, false para deshabilitar
RequestJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "toggle_public_dashboard",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "enabled": true
  }
}
}
ResponseJSON
{
"public_dashboard": {
  "enabled": true,
  "url": "https://app.zenovay.com/public/2ea8af07-xxxx",
  "globe_url": "https://app.zenovay.com/globe/2ea8af07-xxxx"
}
}

29. toggle_cookieless_tracking

Habilita o deshabilita el modo de rastreo sin cookies. Requiere modo read_write. Plan Pro o superior.

Cuando está habilitado, el rastreador usa SHA-256(IP_subnet + UA + daily_salt) para la identificación del visitante en lugar de cookies o localStorage.

Costo: 1 consulta

ParámetroTipoObligatorioDescripción
website_idstringUUID del sitio web
enabledbooleantrue para habilitar, false para deshabilitar
RequestJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "toggle_cookieless_tracking",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "enabled": true
  }
}
}
ResponseJSON
{
"cookieless_tracking": {
  "enabled": true,
  "method": "server_side_hashing",
  "updated_at": "2026-03-15T10:00:00Z"
}
}

El rastreo sin cookies es totalmente compatible con GDPR. No se utilizan cookies ni localStorage. La identificación del visitante se calcula del lado del servidor usando una sal rotatoria diaria.


30. get_tracking_code

Obtiene el fragmento de código de rastreo para un sitio web. Úsalo para recuperar la etiqueta de script para instalar en tu sitio.

Costo: 1 consulta

ParámetroTipoObligatorioDescripción
website_idstringUUID del sitio web
RequestJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "get_tracking_code",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
  }
}
}
ResponseJSON
{
"tracking_code": "zv_abc123",
"script_tag": "<script defer data-website-id=\"zv_abc123\" src=\"https://api.zenovay.com/tracker.js\"></script>",
"cookieless_script_tag": "<script defer data-website-id=\"zv_abc123\" data-cookieless=\"true\" src=\"https://api.zenovay.com/tracker.js\"></script>"
}

31. regenerate_tracking_code

Genera un nuevo código de rastreo para un sitio web. Requiere modo read_write.

Esto invalida el código de rastreo anterior. Debes actualizar la etiqueta de script en tu sitio web después de regenerar.

Costo: 1 consulta

ParámetroTipoObligatorioDescripción
website_idstringUUID del sitio web
RequestJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "regenerate_tracking_code",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
  }
}
}
ResponseJSON
{
"tracking_code": "zv_def456",
"previous_code": "zv_abc123",
"script_tag": "<script defer data-website-id=\"zv_def456\" src=\"https://api.zenovay.com/tracker.js\"></script>",
"regenerated_at": "2026-03-15T10:00:00Z"
}

32. list_goals

Enumera todos los objetivos de un sitio web con su estado actual y tasas de conversión.

Costo: 1 consulta

ParámetroTipoObligatorioPor defectoDescripción
website_idstringUUID del sitio web
include_inactivebooleanNofalseIncluir objetivos deshabilitados
time_rangestringNo30dRango de tiempo para estadísticas de conversión: 7d, 30d, 90d, 1y
RequestJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "list_goals",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "include_inactive": true
  }
}
}
ResponseJSON
{
"goals": [
  {
    "id": "g1a2b3c4-...",
    "name": "Newsletter Signup",
    "goal_type": "url_match",
    "url_pattern": "/thank-you",
    "is_active": true,
    "completions": 145,
    "conversion_rate": 3.82,
    "created_at": "2026-01-15T10:00:00Z"
  },
  {
    "id": "g5d6e7f8-...",
    "name": "Old Promo Banner",
    "goal_type": "element_click",
    "css_selector": "#promo-cta",
    "is_active": false,
    "completions": 0,
    "conversion_rate": 0,
    "created_at": "2025-11-01T08:00:00Z"
  }
],
"total": 2
}

33. update_goal

Actualiza la configuración de un objetivo existente. Requiere modo read_write.

Costo: 1 consulta

ParámetroTipoObligatorioDescripción
website_idstringUUID del sitio web
goal_idstringUUID del objetivo
namestringNoNombre del objetivo actualizado
url_patternstringNoPatrón de URL actualizado
url_match_typestringNoexact, contains, starts_with, ends_with, regex
css_selectorstringNoSelector CSS actualizado
event_namestringNoNombre de evento actualizado
RequestJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "update_goal",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "goal_id": "g1a2b3c4-...",
    "name": "Newsletter Signup v2",
    "url_pattern": "/signup-complete"
  }
}
}
ResponseJSON
{
"goal": {
  "id": "g1a2b3c4-...",
  "name": "Newsletter Signup v2",
  "goal_type": "url_match",
  "url_pattern": "/signup-complete",
  "is_active": true,
  "updated_at": "2026-03-15T10:00:00Z"
}
}

34. delete_goal

Elimina permanentemente un objetivo. Requiere modo read_write.

Costo: 1 consulta

ParámetroTipoObligatorioDescripción
website_idstringUUID del sitio web
goal_idstringUUID del objetivo a eliminar
RequestJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "delete_goal",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "goal_id": "g5d6e7f8-..."
  }
}
}
ResponseJSON
{
"deleted": true,
"goal_id": "g5d6e7f8-..."
}

35. toggle_goal

Habilita o deshabilita un objetivo sin eliminarlo. Requiere modo read_write.

Costo: 1 consulta

ParámetroTipoObligatorioDescripción
website_idstringUUID del sitio web
goal_idstringUUID del objetivo
is_activebooleantrue para habilitar, false para deshabilitar
RequestJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "toggle_goal",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "goal_id": "g1a2b3c4-...",
    "is_active": false
  }
}
}
ResponseJSON
{
"goal": {
  "id": "g1a2b3c4-...",
  "name": "Newsletter Signup v2",
  "is_active": false,
  "updated_at": "2026-03-15T10:00:00Z"
}
}

36. list_funnels

Enumera todos los embudos de un sitio web.

Costo: 1 consulta

ParámetroTipoObligatorioDescripción
website_idstringUUID del sitio web
RequestJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "list_funnels",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
  }
}
}
ResponseJSON
{
"funnels": [
  {
    "id": "f1a2b3c4-...",
    "name": "Signup Flow",
    "steps_count": 4,
    "created_at": "2026-01-15T10:00:00Z"
  },
  {
    "id": "f5d6e7f8-...",
    "name": "Checkout Flow",
    "steps_count": 5,
    "created_at": "2026-02-01T14:30:00Z"
  }
],
"total": 2
}

37. delete_funnel

Elimina permanentemente un embudo. Requiere modo read_write.

Costo: 1 consulta

ParámetroTipoObligatorioDescripción
website_idstringUUID del sitio web
funnel_idstringUUID del embudo a eliminar
RequestJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "delete_funnel",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "funnel_id": "f5d6e7f8-..."
  }
}
}
ResponseJSON
{
"deleted": true,
"funnel_id": "f5d6e7f8-..."
}

38. delete_website

Elimina permanentemente un sitio web y todos sus datos analíticos. Requiere modo read_write y clave full_access.

Esta acción es irreversible. Todos los datos analíticos, objetivos, embudos y ajustes para este sitio web se eliminarán permanentemente.

Costo: 1 consulta

ParámetroTipoObligatorioDescripción
website_idstringUUID del sitio web a eliminar
confirmbooleanDebe ser true para confirmar la eliminación
RequestJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "delete_website",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "confirm": true
  }
}
}
ResponseJSON
{
"deleted": true,
"website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"domain": "example.com"
}

49. create_website

Crea un nuevo sitio web para rastrear. Requiere modo read_write y clave full_access.

Costo: 1 consulta

ParámetroTipoObligatorioDescripción
domainstringDominio del sitio web (p. ej. docs.example.com)
namestringNoNombre de visualización (por defecto: el dominio)
timezonestringNoZona horaria IANA (por defecto: UTC)
RequestJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "create_website",
  "arguments": {
    "domain": "docs.example.com",
    "name": "Documentation Site",
    "timezone": "America/New_York"
  }
}
}
ResponseJSON
{
"website": {
  "id": "3fb9bg08-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "domain": "docs.example.com",
  "name": "Documentation Site",
  "tracking_code": "zv_ghi789",
  "is_active": true,
  "created_at": "2026-03-15T10:00:00Z"
},
"script_tag": "<script defer data-website-id=\"zv_ghi789\" src=\"https://api.zenovay.com/tracker.js\"></script>"
}

Herramientas de Configuración

39. add_ip_exclusion

Añade una dirección IP o rango CIDR a la lista de exclusión. Los visitantes de IPs excluidas no serán rastreados. Requiere modo read_write.

Costo: 1 consulta

ParámetroTipoObligatorioDescripción
website_idstringUUID del sitio web
ip_addressstringDirección IP o rango CIDR (p. ej. 192.168.1.0/24)
labelstringNoEtiqueta descriptiva (p. ej. "Red de oficina")
RequestJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "add_ip_exclusion",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "ip_address": "203.0.113.0/24",
    "label": "Office network"
  }
}
}
ResponseJSON
{
"exclusion": {
  "id": "exc_ip_1...",
  "type": "ip",
  "ip_address": "203.0.113.0/24",
  "label": "Office network",
  "created_at": "2026-03-15T10:00:00Z"
}
}

40. remove_ip_exclusion

Elimina una dirección IP de la lista de exclusión. Requiere modo read_write.

Costo: 1 consulta

ParámetroTipoObligatorioDescripción
website_idstringUUID del sitio web
exclusion_idstringUUID de exclusión a eliminar
RequestJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "remove_ip_exclusion",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "exclusion_id": "exc_ip_1..."
  }
}
}
ResponseJSON
{
"deleted": true,
"exclusion_id": "exc_ip_1..."
}

41. add_path_exclusion

Añade un patrón de ruta URL a excluir del rastreo. Las páginas que coincidan con el patrón no generarán eventos analíticos. Requiere modo read_write.

Costo: 1 consulta

ParámetroTipoObligatorioDescripción
website_idstringUUID del sitio web
path_patternstringPatrón de ruta URL a excluir (p. ej. /admin/*, /internal/health)
match_typestringNoexact, starts_with, contains, regex (por defecto: starts_with)
labelstringNoEtiqueta descriptiva
RequestJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "add_path_exclusion",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "path_pattern": "/admin",
    "match_type": "starts_with",
    "label": "Admin panel"
  }
}
}
ResponseJSON
{
"exclusion": {
  "id": "exc_path_1...",
  "type": "path",
  "path_pattern": "/admin",
  "match_type": "starts_with",
  "label": "Admin panel",
  "created_at": "2026-03-15T10:00:00Z"
}
}

42. remove_path_exclusion

Elimina una exclusión de ruta. Requiere modo read_write.

Costo: 1 consulta

ParámetroTipoObligatorioDescripción
website_idstringUUID del sitio web
exclusion_idstringUUID de exclusión a eliminar
RequestJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "remove_path_exclusion",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "exclusion_id": "exc_path_1..."
  }
}
}
ResponseJSON
{
"deleted": true,
"exclusion_id": "exc_path_1..."
}

43. list_exclusions

Enumera todas las exclusiones de IP y ruta para un sitio web.

Costo: 1 consulta

ParámetroTipoObligatorioDescripción
website_idstringUUID del sitio web
RequestJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "list_exclusions",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
  }
}
}
ResponseJSON
{
"ip_exclusions": [
  {
    "id": "exc_ip_1...",
    "ip_address": "203.0.113.0/24",
    "label": "Office network",
    "created_at": "2026-03-15T10:00:00Z"
  }
],
"path_exclusions": [
  {
    "id": "exc_path_1...",
    "path_pattern": "/admin",
    "match_type": "starts_with",
    "label": "Admin panel",
    "created_at": "2026-03-15T10:00:00Z"
  }
],
"total_ip": 1,
"total_path": 1
}

44. get_notification_settings

Obtiene las preferencias de notificación del equipo actual.

Costo: 1 consulta

ParámetroTipoObligatorioDescripción
website_idstringUUID del sitio web
RequestJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "get_notification_settings",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
  }
}
}
ResponseJSON
{
"notifications": {
  "weekly_digest_email": true,
  "anomaly_alerts": true,
  "anomaly_threshold": "warning",
  "goal_completion_alerts": false,
  "uptime_alerts": true,
  "email_recipients": ["[email protected]"]
}
}

45. update_notification_settings

Actualiza las preferencias de notificación. Requiere modo read_write.

Costo: 1 consulta

ParámetroTipoObligatorioDescripción
website_idstringUUID del sitio web
weekly_digest_emailbooleanNoHabilitar/deshabilitar resumen semanal
anomaly_alertsbooleanNoHabilitar/deshabilitar alertas de anomalías
anomaly_thresholdstringNoSeveridad mínima: info, warning, critical
goal_completion_alertsbooleanNoHabilitar/deshabilitar notificaciones de finalización de objetivos
uptime_alertsbooleanNoHabilitar/deshabilitar alertas de monitoreo de disponibilidad
email_recipientsarrayNoLista de direcciones de correo a notificar
RequestJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "update_notification_settings",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "anomaly_alerts": true,
    "anomaly_threshold": "critical",
    "goal_completion_alerts": true,
    "email_recipients": ["[email protected]", "[email protected]"]
  }
}
}
ResponseJSON
{
"notifications": {
  "weekly_digest_email": true,
  "anomaly_alerts": true,
  "anomaly_threshold": "critical",
  "goal_completion_alerts": true,
  "uptime_alerts": true,
  "email_recipients": ["[email protected]", "[email protected]"],
  "updated_at": "2026-03-15T10:00:00Z"
}
}

Herramientas de Equipo

46. get_team_members

Enumera todos los miembros de tu equipo. Requiere clave full_access.

Costo: 1 consulta

Esta herramienta no toma parámetros.

RequestJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "get_team_members",
  "arguments": {}
}
}
ResponseJSON
{
"team": {
  "id": "team_abc123",
  "name": "Acme Corp"
},
"members": [
  {
    "id": "usr_1...",
    "email": "[email protected]",
    "name": "Jane Admin",
    "role": "owner",
    "joined_at": "2025-06-01T10:00:00Z"
  },
  {
    "id": "usr_2...",
    "email": "[email protected]",
    "name": "John Dev",
    "role": "member",
    "joined_at": "2025-08-15T14:00:00Z"
  }
],
"total": 2
}

47. invite_team_member

Invita a un nuevo miembro a tu equipo por correo electrónico. Requiere modo read_write, clave full_access, y plan Pro o superior.

Costo: 1 consulta

ParámetroTipoObligatorioDescripción
emailstringDirección de correo a invitar
rolestringNoRol: member (por defecto) o admin
RequestJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "invite_team_member",
  "arguments": {
    "email": "[email protected]",
    "role": "member"
  }
}
}
ResponseJSON
{
"invitation": {
  "id": "inv_1...",
  "email": "[email protected]",
  "role": "member",
  "status": "pending",
  "invited_at": "2026-03-15T10:00:00Z",
  "expires_at": "2026-03-22T10:00:00Z"
}
}

48. remove_team_member

Elimina un miembro de tu equipo. Requiere modo read_write y clave full_access.

No puedes eliminar al propietario del equipo. El miembro perderá inmediatamente el acceso a todos los sitios web del equipo.

Costo: 1 consulta

ParámetroTipoObligatorioDescripción
member_idstringID de usuario del miembro a eliminar
RequestJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "remove_team_member",
  "arguments": {
    "member_id": "usr_2..."
  }
}
}
ResponseJSON
{
"removed": true,
"member_id": "usr_2...",
"email": "[email protected]"
}

Herramientas de Clave API

50. list_api_keys

Enumera todas las claves API del equipo actual. Devuelve metadatos de clave (no los valores de clave mismos).

Costo: 1 consulta

Esta herramienta no toma parámetros.

RequestJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "list_api_keys",
  "arguments": {}
}
}
ResponseJSON
{
"api_keys": [
  {
    "id": "key_1...",
    "name": "Production Key",
    "prefix": "zv_prod_",
    "type": "full_access",
    "mcp_enabled": true,
    "mcp_mode": "read_write",
    "created_at": "2026-01-15T10:00:00Z",
    "last_used_at": "2026-03-15T09:30:00Z"
  }
],
"total": 1
}

51. create_api_key

Crea una nueva clave API. Requiere modo read_write.

Costo: 1 consulta

ParámetroTipoObligatorioDescripción
namestringNombre de visualización para la clave
typestringfull_access o site_access
website_idstringNoObligatorio para claves site_access
RequestJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "create_api_key",
  "arguments": {
    "name": "Staging Key",
    "type": "site_access",
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
  }
}
}
ResponseJSON
{
"api_key": {
  "id": "key_2...",
  "name": "Staging Key",
  "key": "zv_stg_xxxxxxxxxxxxxxxx",
  "type": "site_access",
  "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "created_at": "2026-03-15T10:00:00Z"
},
"message": "Save this key — it will not be shown again."
}

El valor completo de la clave API se devuelve solo una vez en el momento de creación. Guárdalo de forma segura.


52. revoke_api_key

Revoca (elimina) una clave API. Requiere modo read_write.

Costo: 1 consulta

ParámetroTipoObligatorioDescripción
key_idstringID de clave API a revocar
RequestJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "revoke_api_key",
  "arguments": {
    "key_id": "key_2..."
  }
}
}
ResponseJSON
{
"revoked": true,
"key_id": "key_2...",
"name": "Staging Key"
}

53. get_api_key_details

Obtiene información detallada sobre una clave API específica.

Costo: 1 consulta

ParámetroTipoObligatorioDescripción
key_idstringID de clave API
RequestJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "get_api_key_details",
  "arguments": {
    "key_id": "key_1..."
  }
}
}
ResponseJSON
{
"api_key": {
  "id": "key_1...",
  "name": "Production Key",
  "prefix": "zv_prod_",
  "type": "full_access",
  "mcp_enabled": true,
  "mcp_mode": "read_write",
  "mcp_permissions": {
    "analytics": true,
    "advanced": true,
    "ai_insights": true,
    "management": true,
    "settings": true,
    "api_keys": false,
    "uptime": true
  },
  "created_at": "2026-01-15T10:00:00Z",
  "last_used_at": "2026-03-15T09:30:00Z",
  "total_requests": 1247
}
}

54. update_api_key_permissions

Actualiza los permisos MCP para una clave API. Requiere modo read_write.

Costo: 1 consulta

ParámetroTipoObligatorioDescripción
key_idstringID de clave API
mcp_enabledbooleanNoHabilitar o deshabilitar acceso MCP
mcp_modestringNoread_only o read_write
permissionsobjectNoAlternancias de grupos de características (p. ej. {"analytics": true, "management": false})
RequestJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "update_api_key_permissions",
  "arguments": {
    "key_id": "key_1...",
    "mcp_mode": "read_write",
    "permissions": {
      "analytics": true,
      "advanced": true,
      "ai_insights": true,
      "management": true,
      "settings": false
    }
  }
}
}
ResponseJSON
{
"updated": true,
"key_id": "key_1...",
"mcp_mode": "read_write",
"mcp_permissions": {
  "analytics": true,
  "advanced": true,
  "ai_insights": true,
  "management": true,
  "settings": false
}
}

Herramientas de Tiempo de Actividad

55. list_uptime_monitors

Enumera todos los monitores de tiempo de actividad del equipo actual.

Costo: 1 consulta

Esta herramienta no toma parámetros.

SolicitudJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "list_uptime_monitors",
  "arguments": {}
}
}
RespuestaJSON
{
"monitors": [
  {
    "id": "mon_1...",
    "url": "https://example.com",
    "name": "Production Site",
    "interval": 300,
    "status": "up",
    "uptime_30d": 99.98,
    "last_checked_at": "2026-03-15T09:55:00Z"
  }
],
"total": 1
}

56. get_uptime_status

Obtiene el estado actual y el tiempo de respuesta de un monitor específico.

Costo: 1 consulta

ParámetroTipoObligatorioDescripción
monitor_idstringEl UUID del monitor
SolicitudJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "get_uptime_status",
  "arguments": {
    "monitor_id": "mon_1..."
  }
}
}
RespuestaJSON
{
"monitor": {
  "id": "mon_1...",
  "url": "https://example.com",
  "status": "up",
  "response_time_ms": 142,
  "status_code": 200,
  "uptime_24h": 100.0,
  "uptime_7d": 99.99,
  "uptime_30d": 99.98,
  "last_checked_at": "2026-03-15T09:55:00Z",
  "last_incident_at": "2026-03-10T03:22:00Z"
}
}

57. create_uptime_monitor

Crea un nuevo monitor de tiempo de actividad. Requiere modo read_write.

Costo: 1 consulta

ParámetroTipoObligatorioDescripción
urlstringLa URL a monitorear
namestringNoNombre para mostrar (por defecto: el nombre de host de la URL)
intervalnumberNoIntervalo de verificación en segundos (por defecto: 300)
SolicitudJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "create_uptime_monitor",
  "arguments": {
    "url": "https://api.example.com/health",
    "name": "API Health",
    "interval": 60
  }
}
}
RespuestaJSON
{
"monitor": {
  "id": "mon_2...",
  "url": "https://api.example.com/health",
  "name": "API Health",
  "interval": 60,
  "status": "pending",
  "created_at": "2026-03-15T10:00:00Z"
}
}

58. delete_uptime_monitor

Elimina un monitor de tiempo de actividad. Requiere modo read_write.

Costo: 1 consulta

ParámetroTipoObligatorioDescripción
monitor_idstringEl UUID del monitor a eliminar
SolicitudJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "delete_uptime_monitor",
  "arguments": {
    "monitor_id": "mon_2..."
  }
}
}
RespuestaJSON
{
"deleted": true,
"monitor_id": "mon_2..."
}

59. get_uptime_history

Obtiene el historial de tiempo de actividad y el registro de incidentes de un monitor.

Costo: 1 consulta

ParámetroTipoObligatorioDescripción
monitor_idstringEl UUID del monitor
time_rangestringNoRango de tiempo: 24h, 7d, 30d, 90d (por defecto: 30d)
SolicitudJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "get_uptime_history",
  "arguments": {
    "monitor_id": "mon_1...",
    "time_range": "7d"
  }
}
}
RespuestaJSON
{
"monitor_id": "mon_1...",
"uptime_percentage": 99.99,
"total_checks": 2016,
"failed_checks": 1,
"incidents": [
  {
    "id": "inc_1...",
    "started_at": "2026-03-10T03:22:00Z",
    "resolved_at": "2026-03-10T03:27:00Z",
    "duration_seconds": 300,
    "status_code": 503,
    "reason": "Service Unavailable"
  }
],
"avg_response_time_ms": 156
}

Herramientas de Gestión de Sitios Web (60-64)

60. update_website_name

Actualiza el nombre para mostrar de un sitio web. Requiere modo read_write.

Costo: 1 consulta

ParámetroTipoObligatorioDescripción
website_idstringEl UUID del sitio web
namestringNuevo nombre para mostrar
SolicitudJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "update_website_name",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "name": "Production Website"
  }
}
}
RespuestaJSON
{
"website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"name": "Production Website",
"updated_at": "2026-03-15T10:00:00Z"
}

61. update_website_timezone

Actualiza la zona horaria de un sitio web. Afecta cómo se agregan las analíticas diarias. Requiere modo read_write.

Costo: 1 consulta

ParámetroTipoObligatorioDescripción
website_idstringEl UUID del sitio web
timezonestringZona horaria IANA (p. ej. America/New_York, Europe/London)
SolicitudJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "update_website_timezone",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "timezone": "Europe/London"
  }
}
}
RespuestaJSON
{
"website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"timezone": "Europe/London",
"updated_at": "2026-03-15T10:00:00Z"
}

62. update_website_domain

Actualiza el dominio de un sitio web. Requiere modo read_write.

Costo: 1 consulta

ParámetroTipoObligatorioDescripción
website_idstringEl UUID del sitio web
domainstringNuevo dominio (p. ej. example.com)
SolicitudJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "update_website_domain",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "domain": "new.example.com"
  }
}
}
RespuestaJSON
{
"website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"domain": "new.example.com",
"updated_at": "2026-03-15T10:00:00Z"
}

63. pause_tracking

Pausa temporalmente el seguimiento de analíticas de un sitio web. No se registrarán eventos nuevos. Requiere modo read_write.

Costo: 1 consulta

ParámetroTipoObligatorioDescripción
website_idstringEl UUID del sitio web
SolicitudJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "pause_tracking",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
  }
}
}
RespuestaJSON
{
"website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"tracking_active": false,
"paused_at": "2026-03-15T10:00:00Z"
}

64. resume_tracking

Reanuda el seguimiento de analíticas de un sitio web pausado. Requiere modo read_write.

Costo: 1 consulta

ParámetroTipoObligatorioDescripción
website_idstringEl UUID del sitio web
SolicitudJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "resume_tracking",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
  }
}
}
RespuestaJSON
{
"website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"tracking_active": true,
"resumed_at": "2026-03-15T10:00:00Z"
}

Herramientas de Informes (65-69)

65. schedule_report

Programa un informe de analíticas recurrente que se envíe por correo electrónico. Requiere modo read_write.

Costo: 1 consulta

ParámetroTipoObligatorioDescripción
website_idstringEl UUID del sitio web
frequencystringdaily, weekly, o monthly
recipientsarrayLista de direcciones de correo electrónico
metricsarrayNoMétricas específicas a incluir (por defecto: todas)
SolicitudJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "schedule_report",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "frequency": "weekly",
    "recipients": ["[email protected]", "[email protected]"]
  }
}
}
RespuestaJSON
{
"report": {
  "id": "rpt_1...",
  "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "frequency": "weekly",
  "recipients": ["[email protected]", "[email protected]"],
  "next_send_at": "2026-03-22T08:00:00Z",
  "created_at": "2026-03-15T10:00:00Z"
}
}

66. get_report_schedule

Obtiene la configuración del informe programado de un sitio web.

Costo: 1 consulta

ParámetroTipoObligatorioDescripción
website_idstringEl UUID del sitio web
SolicitudJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "get_report_schedule",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
  }
}
}
RespuestaJSON
{
"reports": [
  {
    "id": "rpt_1...",
    "frequency": "weekly",
    "recipients": ["[email protected]", "[email protected]"],
    "next_send_at": "2026-03-22T08:00:00Z",
    "last_sent_at": "2026-03-15T08:00:00Z"
  }
],
"total": 1
}

67. cancel_report

Cancela un informe programado. Requiere modo read_write.

Costo: 1 consulta

ParámetroTipoObligatorioDescripción
report_idstringEl ID de programación del informe a cancelar
SolicitudJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "cancel_report",
  "arguments": {
    "report_id": "rpt_1..."
  }
}
}
RespuestaJSON
{
"cancelled": true,
"report_id": "rpt_1..."
}

68. get_export_history

Obtiene el historial de exportaciones de datos de un sitio web.

Costo: 1 consulta

ParámetroTipoObligatorioDescripción
website_idstringEl UUID del sitio web
limitnumberNoMáximo de resultados (por defecto: 20)
SolicitudJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "get_export_history",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "limit": 5
  }
}
}
RespuestaJSON
{
"exports": [
  {
    "id": "exp_1...",
    "format": "csv",
    "time_range": "30d",
    "status": "completed",
    "file_size_bytes": 245760,
    "created_at": "2026-03-14T15:00:00Z"
  }
],
"total": 1
}

69. get_data_retention

Obtiene la política de retención de datos de un sitio web según el plan actual.

Costo: 1 consulta

ParámetroTipoObligatorioDescripción
website_idstringEl UUID del sitio web
SolicitudJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "get_data_retention",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
  }
}
}
RespuestaJSON
{
"website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"plan": "pro",
"analytics_retention_days": 730,
"heatmap_retention_days": 60,
"session_replay_retention_days": 60,
"oldest_data_at": "2024-03-15T00:00:00Z"
}

Herramientas de Ingresos y Datos (70-75)

70. set_revenue_currency

Establece la moneda predeterminada de ingresos para un sitio web. Utiliza códigos de moneda ISO 4217. Requiere modo read_write.

Costo: 1 consulta

ParámetroTipoObligatorioDescripción
website_idstringEl UUID del sitio web
currencystringCódigo de moneda ISO 4217 (p. ej. USD, EUR, GBP, CHF, JPY)
SolicitudJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "set_revenue_currency",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "currency": "EUR"
  }
}
}
RespuestaJSON
{
"website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"currency": "EUR",
"message": "Revenue currency set to EUR"
}

71. get_revenue_settings

Obtiene la configuración relacionada con ingresos de un sitio web, incluida la moneda configurada y cualquier asignación de campos.

Costo: 1 consulta

ParámetroTipoObligatorioDescripción
website_idstringEl UUID del sitio web
SolicitudJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "get_revenue_settings",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
  }
}
}
RespuestaJSON
{
"website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"currency": "EUR",
"revenue_field_mappings": null
}

72. add_allowed_domain

Añade un dominio a la lista blanca de CORS. Solo los dominios en la lista blanca pueden enviar datos de seguimiento a este sitio web. Requiere modo read_write.

Costo: 1 consulta

ParámetroTipoObligatorioDescripción
website_idstringEl UUID del sitio web
domainstringDominio a añadir a la lista blanca (p. ej. example.com, staging.example.com)
SolicitudJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "add_allowed_domain",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "domain": "staging.example.com"
  }
}
}
RespuestaJSON
{
"website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"domain": "staging.example.com",
"allowed_domains": ["example.com", "staging.example.com"],
"total": 2
}

73. remove_allowed_domain

Elimina un dominio de la lista blanca de CORS. Requiere modo read_write.

Costo: 1 consulta

ParámetroTipoObligatorioDescripción
website_idstringEl UUID del sitio web
domainstringDominio a eliminar de la lista blanca
SolicitudJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "remove_allowed_domain",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "domain": "staging.example.com"
  }
}
}
RespuestaJSON
{
"website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"removed": "staging.example.com",
"allowed_domains": ["example.com"],
"total": 1
}

74. list_allowed_domains

Enumera todos los dominios en la lista blanca de CORS para un sitio web.

Costo: 1 consulta

ParámetroTipoObligatorioDescripción
website_idstringEl UUID del sitio web
SolicitudJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "list_allowed_domains",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
  }
}
}
RespuestaJSON
{
"website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"allowed_domains": ["example.com", "staging.example.com"],
"total": 2
}

75. request_data_deletion

Elimina todos los datos de un visitante específico de un sitio web. Se utiliza para cumplimiento de GDPR (derecho al olvido). Esta acción es irreversible. Requiere modo read_write.

Costo: 1 consulta

ParámetroTipoObligatorioDescripción
website_idstringEl UUID del sitio web
visitor_idstringEl UUID del visitante cuyos datos deben eliminarse
SolicitudJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "request_data_deletion",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "visitor_id": "vis_abc123..."
  }
}
}
RespuestaJSON
{
"message": "Visitor data deleted successfully",
"website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"visitor_id": "vis_abc123...",
"records_deleted": 47,
"deleted_at": "2026-03-15T10:00:00Z"
}

Esto elimina permanentemente todos los datos del visitante, incluidas las vistas de página, sesiones y eventos. Esto no se puede deshacer.


Ejemplos de Flujos de Trabajo Multistep

Estos ejemplos muestran cadenas completas de solicitud/respuesta para tareas comunes. Cada paso utiliza el formato JSON-RPC anterior.

Informe de Tráfico Semanal

Un flujo de trabajo típico de informes: descubrir sitios web y luego extraer estadísticas de visitantes, páginas principales y fuentes de tráfico.

Paso 1 — Descubre tus sitios web:

SolicitudJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "list_websites",
  "arguments": {}
}
}
Respuesta (extrae website_id)JSON
{
"jsonrpc": "2.0",
"id": 1,
"result": {
  "content": [{
    "type": "text",
    "text": "[{"id": "ws_abc123", "domain": "zenovay.com", "name": "Zenovay"}]"
  }]
}
}

Paso 2 — Obtiene información general de visitantes:

SolicitudJSON
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
  "name": "get_visitors",
  "arguments": {
    "website_id": "ws_abc123",
    "time_range": "7d"
  }
}
}

Paso 3 — Obtiene páginas principales:

SolicitudJSON
{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
  "name": "get_top_pages",
  "arguments": {
    "website_id": "ws_abc123",
    "time_range": "7d",
    "limit": 10
  }
}
}

Paso 4 — Obtiene fuentes de tráfico:

SolicitudJSON
{
"jsonrpc": "2.0",
"id": 4,
"method": "tools/call",
"params": {
  "name": "get_traffic_sources",
  "arguments": {
    "website_id": "ws_abc123",
    "time_range": "7d"
  }
}
}

Costo total: 4 consultas (1 + 1 + 1 + 1)


Auditoría de Rendimiento

Identifica problemas de rendimiento, errores y obtiene recomendaciones de IA.

Paso 1 — Enumera sitios web (igual que arriba, obtén website_id)

Paso 2 — Comprueba Core Web Vitals:

SolicitudJSON
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
  "name": "get_performance_metrics",
  "arguments": {
    "website_id": "ws_abc123",
    "time_range": "7d"
  }
}
}

Paso 3 — Comprueba errores:

SolicitudJSON
{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
  "name": "get_errors",
  "arguments": {
    "website_id": "ws_abc123",
    "time_range": "7d",
    "limit": 20
  }
}
}

Paso 4 — Obtiene recomendaciones de IA:

SolicitudJSON
{
"jsonrpc": "2.0",
"id": 4,
"method": "tools/call",
"params": {
  "name": "get_recommendations",
  "arguments": {
    "website_id": "ws_abc123"
  }
}
}

Costo total: 4 consultas (1 + 1 + 1 + 1)


Verificación de Salud Rápida

Verificación rápida de cuota restante y visitantes en vivo actuales, ideal al inicio de una sesión.

Paso 1 — Comprueba la cuota restante:

SolicitudJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "get_api_usage",
  "arguments": {}
}
}

Paso 2 — Comprueba visitantes en tiempo real:

SolicitudJSON
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
  "name": "get_realtime_visitors",
  "arguments": {
    "website_id": "ws_abc123"
  }
}
}

Costo total: 2 consultas (1 + 1)


Comparación Semana Tras Semana

Compara las métricas de esta semana con la semana pasada para identificar tendencias.

Paso 1 — Enumera sitios web (obtén website_id)

Paso 2 — Compara períodos:

SolicitudJSON
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
  "name": "compare_periods",
  "arguments": {
    "website_id": "ws_abc123",
    "current_period": "7d",
    "previous_period": "7d"
  }
}
}

Paso 3 — Detecta anomalías:

SolicitudJSON
{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
  "name": "get_anomalies",
  "arguments": {
    "website_id": "ws_abc123",
    "time_range": "7d"
  }
}
}

Costo total: 3 consultas (1 + 1 + 1)


Configuración e Instalación de Sitio Web

Configura un nuevo sitio web con exclusiones y seguimiento sin cookies.

Paso 1 — Crea el sitio web:

SolicitudJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "create_website",
  "arguments": {
    "domain": "docs.example.com",
    "name": "Documentation"
  }
}
}

Paso 2 — Habilita el seguimiento sin cookies:

SolicitudJSON
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
  "name": "toggle_cookieless_tracking",
  "arguments": {
    "website_id": "NEW_WEBSITE_ID",
    "enabled": true
  }
}
}

Paso 3 — Excluye IP de oficina:

SolicitudJSON
{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
  "name": "add_ip_exclusion",
  "arguments": {
    "website_id": "NEW_WEBSITE_ID",
    "ip_address": "203.0.113.0/24",
    "label": "Office network"
  }
}
}

Paso 4 — Obtiene el código de seguimiento para instalar:

SolicitudJSON
{
"jsonrpc": "2.0",
"id": 4,
"method": "tools/call",
"params": {
  "name": "get_tracking_code",
  "arguments": {
    "website_id": "NEW_WEBSITE_ID"
  }
}
}

Costo total: 4 consultas (1 + 1 + 1 + 1)


Nuevas Herramientas

76. get_retention_data

Obtiene análisis de cohort de retención que muestra qué tan bien tu sitio web retiene visitantes a lo largo del tiempo. Devuelve datos de cohort agrupados por el período de primera visita del visitante.

Costo: 1 consulta | Requiere: Pro+ (flag de característica retentionAnalysis)

ParámetroTipoObligatorioPor defectoDescripción
website_idstringEl UUID del sitio web
time_rangestringNo30dRango de tiempo: 7d, 30d, 90d, 1y
cohort_sizestringNoweekAgrupación de cohort: day, week, month
SolicitudJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "get_retention_data",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "time_range": "30d",
    "cohort_size": "week"
  }
}
}
RespuestaJSON
{
"cohorts": [
  {
    "period": "2026-02-17",
    "visitors": 320,
    "retention": [100, 42.5, 28.1, 18.4]
  },
  {
    "period": "2026-02-24",
    "visitors": 285,
    "retention": [100, 38.9, 25.3]
  },
  {
    "period": "2026-03-03",
    "visitors": 310,
    "retention": [100, 41.0]
  },
  {
    "period": "2026-03-10",
    "visitors": 295,
    "retention": [100]
  }
],
"cohort_size": "week",
"time_range": "30d",
"summary": {
  "avg_week1_retention": 40.8,
  "avg_week2_retention": 26.7,
  "total_cohort_visitors": 1210
}
}

77. get_user_profiles

Obtiene perfiles de visitantes con historial de sesiones y datos de comportamiento. Devuelve registros de visitante individual con su historial de visitas, páginas vistas y métricas de engagement.

Costo: 1 consulta

ParámetroTipoObligatorioPor defectoDescripción
website_idstringEl UUID del sitio web
limitnumberNo20Perfiles a devolver (1-50)
country_codestringNoFiltrar por código de país ISO (p. ej. US, DE)
min_sessionsnumberNoNúmero mínimo de sesiones
time_rangestringNo30dRango de tiempo: 7d, 30d, 90d, 1y
SolicitudJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "get_user_profiles",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "min_sessions": 3,
    "limit": 10
  }
}
}
RespuestaJSON
{
"profiles": [
  {
    "visitor_id": "v_abc123",
    "first_seen": "2026-02-15T09:30:00Z",
    "last_seen": "2026-03-14T16:45:00Z",
    "total_sessions": 8,
    "total_pageviews": 34,
    "avg_session_duration_ms": 185000,
    "country": "US",
    "city": "San Francisco",
    "device_type": "desktop",
    "browser": "Chrome",
    "os": "macOS",
    "top_pages": ["/", "/pricing", "/docs"],
    "referrer": "google.com"
  }
],
"total": 156
}

Referencia del Protocolo JSON-RPC

Todas las solicitudes de MCP utilizan el formato JSON-RPC 2.0:

Envolvente de solicitudJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "tool_name",
  "arguments": { ... }
}
}

Métodos disponibles:

MétodoDescripción
initializeHandshake — devuelve información del servidor y capacidades
tools/listEnumera todas las herramientas disponibles con esquemas
tools/callEjecuta una herramienta
pingVerificación de estado

Formato de respuesta de error:

Respuesta de errorJSON
{
"jsonrpc": "2.0",
"id": 1,
"error": {
  "code": -32003,
  "message": "Daily query limit exceeded. Upgrade at https://app.zenovay.com/settings"
}
}

Consulta Permisos y Límites para la referencia completa de códigos de error.

¿Fue útil esta página?