Pular para o conteúdo principal
61 min de leitura

Referência de Ferramentas MCP

Esta página documenta todas as 77 ferramentas MCP disponíveis através do servidor de análises da Zenovay. Cada ferramenta inclui seus parâmetros, um exemplo de solicitação JSON-RPC e uma resposta de exemplo.

URL do servidor: https://api.zenovay.com/mcp Transporte: HTTP transmissível (JSON-RPC 2.0) Cabeçalho de autenticação: Authorization: Bearer zv_YOUR_API_KEY

Todas as ferramentas requerem uma chave de API válida com MCP ativado. Ferramentas de escrita (marcadas com requires read_write) retornam um erro no modo Somente Leitura. Consulte Permissões e Limites para a lista completa.


Referência Rápida para Assistentes de IA

Use esta seção para entender rapidamente o servidor MCP da Zenovay. Cada solicitação usa este envelope JSON-RPC:

Modelo de SolicitaçãoJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "TOOL_NAME",
  "arguments": { ... }
}
}

Primeiro passo em cada sessão: Chame list_websites (sem argumentos) para descobrir IDs de websites. Quase todas as ferramentas exigem um parâmetro website_id.

Todas as 77 ferramentas em um relance:

#FerramentaCategoriaCustoDescrição
1query_analyticsanálises3Consulta de análises em linguagem natural
2get_visitorsanálises1Estatísticas de visitantes com comparação de período opcional
3get_top_pagesanálises1Páginas mais visitadas classificadas por contagem de visitantes
4get_traffic_sourcesanálises1Breakdown de fontes de tráfego / referenciadores
5get_geographic_dataanálises1Breakdown por país + cidade opcional
6get_technology_breakdownanálises1Dispositivos, navegadores, sistemas operacionais
7get_realtime_visitorsanálises1Visitantes ativos no momento (últimos 5 min)
8compare_periodsanálises1Comparar métricas entre dois períodos de tempo
9get_funnel_analysisavançado1Dados de conversão passo a passo do funil
10get_goalsavançado1Metas ativas com taxas de conclusão
11get_session_replaysavançado1Lista de gravações de reprodução de sessão (Pro+)
12get_heatmap_dataavançado1Dados de interação de mapa de calor por página (Pro+)
13get_errorsavançado1Rastreamento de erros JavaScript
14get_b2b_companiesavançado1Identificação de empresa B2B via IP reverso
15get_revenueavançado1Totais de receita + breakdowns (Pro+)
16get_performance_metricsavançado1Core Web Vitals (LCP, CLS, INP, FCP, TTFB)
17get_insightsinsights_ia1Insights acionáveis gerados por IA
18get_anomaliesinsights_ia1Anomalias de métricas detectadas
19get_weekly_digestinsights_ia1Resumo de desempenho semanal (esta vs semana passada)
20get_recommendationsinsights_ia1Recomendações de otimização alimentadas por IA
21list_websitesgerenciamento1Listar websites acessíveis (chame primeiro!)
22create_goalgerenciamento1Criar meta personalizada (requer read_write)
23manage_funnelgerenciamento1Criar/atualizar funil (requer read_write)
24export_datagerenciamento1Exportar análises em JSON ou CSV (Scale+)
25get_api_usagegerenciamento1Verificar quota diária restante
26get_website_settingsgerenciamento1Obter configuração e definições do website
27update_website_settingsgerenciamento1Atualizar configurações do website (requer read_write)
28toggle_public_dashboardgerenciamento1Ativar/desativar painel público (requer read_write)
29toggle_cookieless_trackinggerenciamento1Ativar/desativar modo sem cookies (requer read_write, Pro+)
30get_tracking_codegerenciamento1Obter snippet de código de rastreamento para um website
31regenerate_tracking_codegerenciamento1Gerar novo código de rastreamento (requer read_write)
32list_goalsgerenciamento1Listar todas as metas de um website
33update_goalgerenciamento1Atualizar uma meta existente (requer read_write)
34delete_goalgerenciamento1Deletar uma meta (requer read_write)
35toggle_goalgerenciamento1Ativar ou desativar uma meta (requer read_write)
36list_funnelsgerenciamento1Listar todos os funis de um website
37delete_funnelgerenciamento1Deletar um funil (requer read_write)
38delete_websitegerenciamento1Deletar permanentemente um website (requer read_write, full_access)
39add_ip_exclusionconfigurações1Adicionar IP à lista de exclusão (requer read_write)
40remove_ip_exclusionconfigurações1Remover IP da lista de exclusão (requer read_write)
41add_path_exclusionconfigurações1Adicionar padrão de caminho às exclusões (requer read_write)
42remove_path_exclusionconfigurações1Remover caminho das exclusões (requer read_write)
43list_exclusionsconfigurações1Listar todas as exclusões de IP e caminho
44get_notification_settingsconfigurações1Obter preferências de notificação
45update_notification_settingsconfigurações1Atualizar preferências de notificação (requer read_write)
46get_team_membersequipe1Listar membros da equipe (requer full_access)
47invite_team_memberequipe1Convidar novo membro da equipe (requer read_write, full_access, Pro+)
48remove_team_memberequipe1Remover membro da equipe (requer read_write, full_access)
49create_websitegerenciamento1Criar novo website (requer read_write, full_access)
50list_api_keyschaves_api1Listar todas as chaves de API da equipe
51create_api_keychaves_api1Criar nova chave de API (requer read_write)
52revoke_api_keychaves_api1Revogar uma chave de API (requer read_write)
53get_api_key_detailschaves_api1Obter detalhes de uma chave de API específica
54update_api_key_permissionschaves_api1Atualizar permissões de chave de API (requer read_write)
55list_uptime_monitorstempo_atividade1Listar todos os monitores de tempo de atividade
56get_uptime_statustempo_atividade1Obter status atual de um monitor
57create_uptime_monitortempo_atividade1Criar novo monitor de tempo de atividade (requer read_write)
58delete_uptime_monitortempo_atividade1Deletar monitor de tempo de atividade (requer read_write)
59get_uptime_historytempo_atividade1Obter histórico de tempo de atividade e log de incidentes
60update_website_namegerenciamento1Atualizar nome do website (requer read_write)
61update_website_timezonegerenciamento1Atualizar fuso horário do website (requer read_write)
62update_website_domaingerenciamento1Atualizar domínio do website (requer read_write)
63pause_trackinggerenciamento1Pausar rastreamento de análises (requer read_write)
64resume_trackinggerenciamento1Retomar rastreamento de análises (requer read_write)
65schedule_reportgerenciamento1Agendar relatório de análises recorrente (requer read_write)
66get_report_schedulegerenciamento1Obter configuração de relatório agendado
67cancel_reportgerenciamento1Cancelar relatório agendado (requer read_write)
68get_export_historygerenciamento1Obter histórico de exportação de dados
69get_data_retentiongerenciamento1Obter política de retenção de dados do website
70set_revenue_currencyconfigurações1Definir moeda de receita (requer read_write)
71get_revenue_settingsconfigurações1Obter configurações de receita (moeda, mapeamentos de campo)
72add_allowed_domainconfigurações1Adicionar domínio à lista branca de CORS (requer read_write)
73remove_allowed_domainconfigurações1Remover domínio da lista branca de CORS (requer read_write)
74list_allowed_domainsconfigurações1Listar domínios na lista branca de CORS
75request_data_deletionconfigurações1Deletar dados de visitantes para GDPR (requer read_write)
76get_retention_dataavançado1Análise de coorte de retenção (Pro+)
77get_user_profilesanálises1Perfis de visitantes com histórico de sessão

Valores comuns de time_range: 24h, 7d, 30d, 90d, 1y (padrão: 7d para a maioria das ferramentas)


Padrões Comuns

Antes de mergulhar em ferramentas individuais, aqui estão fluxos de trabalho comuns de múltiplas ferramentas:

Descoberta de website + análise:

  1. list_websites — encontre seus IDs de website
  2. get_visitors — obtenha visão geral de tráfego
  3. get_top_pages — veja quais páginas têm melhor desempenho
  4. get_traffic_sources — entenda de onde vem o tráfego

Auditoria de desempenho:

  1. list_websites — obtenha ID do website
  2. get_performance_metrics — verifique Core Web Vitals
  3. get_errors — encontre erros JavaScript
  4. get_insights — veja recomendações geradas por IA

Revisão semanal:

  1. get_weekly_digest — comparação semana contra semana automatizada
  2. get_anomalies — procure por padrões incomuns
  3. compare_periods — aprofunde métricas específicas

Ferramentas de Análises

Todas as ferramentas de análises aplicam a janela de retenção de dados do seu plano. Consultas solicitando dados além do seu limite de retenção são automaticamente limitadas, e a resposta inclui um campo retention_note. Consulte Aplicação de Plano para limites de retenção por plano.

1. query_analytics

Faça uma pergunta em linguagem natural sobre seus dados de análises. Esta é a ferramenta mais flexível — use-a quando outras ferramentas específicas não se encaixarem.

Custo: 3 consultas

ParâmetroTipoObrigatórioDescrição
website_idstringSimO UUID do website
questionstringSimPergunta em linguagem natural (máx 500 caracteres)
SolicitaçãoJSON
{
"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?"
  }
}
}
RespostaJSON
{
"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

Obtenha estatísticas de visitantes para um website com comparação de período opcional.

Custo: 1 consulta

ParâmetroTipoObrigatórioPadrãoDescrição
website_idstringSimO UUID do website
time_rangestringNão7dIntervalo de tempo: 24h, 7d, 30d, 90d, 1y
compare_with_previousbooleanNãofalseIncluir comparação com período anterior
SolicitaçãoJSON
{
"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
  }
}
}
RespostaJSON
{
"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

Obtenha as páginas mais visitadas classificadas por contagem de visitantes.

Custo: 1 consulta

ParâmetroTipoObrigatórioPadrãoDescrição
website_idstringSimO UUID do website
time_rangestringNão7dIntervalo de tempo: 24h, 7d, 30d, 90d, 1y
limitnumberNão20Máx páginas a retornar (1-100)
SolicitaçãoJSON
{
"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
  }
}
}
RespostaJSON
{
"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

Obtenha fontes de tráfego mostrando de onde os visitantes vêm.

Custo: 1 consulta

ParâmetroTipoObrigatórioPadrãoDescrição
website_idstringSimO UUID do website
time_rangestringNão7dIntervalo de tempo: 24h, 7d, 30d, 90d, 1y
limitnumberNão20Máx fontes a retornar (1-100)
SolicitaçãoJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "get_traffic_sources",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "time_range": "30d"
  }
}
}
RespostaJSON
{
"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

Obtenha breakdown geográfico por país com detalhe de nível de cidade opcional.

Custo: 1 consulta

ParâmetroTipoObrigatórioPadrãoDescrição
website_idstringSimO UUID do website
time_rangestringNão7dIntervalo de tempo: 24h, 7d, 30d, 90d, 1y
limitnumberNão20Máx entradas (1-100)
include_citiesbooleanNãofalseIncluir breakdown de nível de cidade por país
SolicitaçãoJSON
{
"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
  }
}
}
RespostaJSON
{
"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

Obtenha breakdown de tecnologia do visitante: dispositivos, navegadores e sistemas operacionais.

Custo: 1 consulta

ParâmetroTipoObrigatórioPadrãoDescrição
website_idstringSimO UUID do website
time_rangestringNão7dIntervalo de tempo: 24h, 7d, 30d, 90d, 1y
SolicitaçãoJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "get_technology_breakdown",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
  }
}
}
RespostaJSON
{
"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

Obtenha visitantes ativos no momento (visitaram nos últimos 5 minutos).

Custo: 1 consulta

ParâmetroTipoObrigatórioDescrição
website_idstringSimO UUID do website
SolicitaçãoJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "get_realtime_visitors",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
  }
}
}
RespostaJSON
{
"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álises entre dois períodos de tempo.

Custo: 1 consulta

ParâmetroTipoObrigatórioPadrãoDescrição
website_idstringSimO UUID do website
current_periodstringNão7dPeríodo atual: 24h, 7d, 30d, 90d
comparison_periodstringNãopreviousComparação: previous, same_period_last_month, same_period_last_year
SolicitaçãoJSON
{
"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"
  }
}
}
RespostaJSON
{
"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
}
}

Ferramentas Avançadas

9. get_funnel_analysis

Obtenha dados de análise de funil. Sem um funnel_id, lista todos os funis. Com um, retorna dados de conversão passo a passo.

Custo: 1 consulta

ParâmetroTipoObrigatórioPadrãoDescrição
website_idstringSimO UUID do website
funnel_idstringNãoUUID do funil para análise detalhada de etapas
time_rangestringNão30dIntervalo de tempo: 24h, 7d, 30d, 90d, 1y
Solicitação (listar funis)JSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "get_funnel_analysis",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
  }
}
}
RespostaJSON
{
"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" }
]
}
Solicitação (análise detalhada)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-..."
  }
}
}
RespostaJSON
{
"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

Obtenha metas ativas com contagens de conclusão e taxas de conversão.

Custo: 1 consulta

ParâmetroTipoObrigatórioPadrãoDescrição
website_idstringSimO UUID do website
time_rangestringNão30dIntervalo de tempo: 24h, 7d, 30d, 90d, 1y
SolicitaçãoJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "get_goals",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
  }
}
}
RespostaJSON
{
"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

Liste gravações de reprodução de sessão. Filtre por dispositivo ou país.

Custo: 1 consulta | Requer: Pro+ (flag de recurso sessionReplay)

ParâmetroTipoObrigatórioPadrãoDescrição
website_idstringSimO UUID do website
limitnumberNão20Sessões a retornar (1-50)
device_typestringNãoFiltro: desktop, mobile, tablet
country_codestringNãoCódigo de país ISO (p.ex. US, DE)
SolicitaçãoJSON
{
"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
  }
}
}
RespostaJSON
{
"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

Obtenha dados de interação de mapa de calor por página.

Custo: 1 consulta | Requer: Pro+ (flag de recurso heatmaps)

ParâmetroTipoObrigatórioPadrãoDescrição
website_idstringSimO UUID do website
page_urlstringNãoFiltro para URL de página específica
limitnumberNão20Páginas a retornar (1-50)
SolicitaçãoJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "get_heatmap_data",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
  }
}
}
RespostaJSON
{
"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

Obtenha erros JavaScript rastreados para um website.

Custo: 1 consulta

ParâmetroTipoObrigatórioPadrãoDescrição
website_idstringSimO UUID do website
statusstringNãoopenFiltro: open, resolved, ignored
limitnumberNão50Erros a retornar (1-100)
SolicitaçãoJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "get_errors",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "status": "open"
  }
}
}
RespostaJSON
{
"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 visitando seu website via busca reversa de IP.

Custo: 1 consulta

ParâmetroTipoObrigatórioPadrãoDescrição
website_idstringSimO UUID do website
limitnumberNão20Empresas a retornar (1-100)
sort_bystringNãolast_seenOrdenar por: visits, last_seen, confidence
industrystringNãoFiltro por setor (p.ex. Technology)
min_visitsnumberNão1Contagem mínima de visitas
SolicitaçãoJSON
{
"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
  }
}
}
RespostaJSON
{
"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

Obtenha análises de receita com totais e breakdowns.

Custo: 1 consulta | Requer: Pro+ (flag de recurso revenueAttribution)

ParâmetroTipoObrigatórioPadrãoDescrição
website_idstringSimO UUID do website
time_rangestringNão30dIntervalo de tempo: 24h, 7d, 30d, 90d, 1y
group_bystringNãodayAgrupamento: day, week, month, source
SolicitaçãoJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "get_revenue",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "group_by": "source"
  }
}
}
RespostaJSON
{
"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

Obtenha Core Web Vitals e métricas de desempenho com breakdowns de percentil.

Custo: 1 consulta

ParâmetroTipoObrigatórioPadrãoDescrição
website_idstringSimO UUID do website
time_rangestringNão7dIntervalo de tempo: 24h, 7d, 30d, 90d, 1y
page_urlstringNãoFiltro para página específica
SolicitaçãoJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "get_performance_metrics",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
  }
}
}
RespostaJSON
{
"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 }
}

Limiares de classificação:

MétricaBomPrecisa de MelhoriaRuim
LCP≤ 2500ms≤ 4000ms> 4000ms
CLS≤ 0.1≤ 0.25> 0.25
INP≤ 200ms≤ 500ms> 500ms
FCP≤ 1800ms≤ 3000ms> 3000ms
TTFB≤ 800ms≤ 1800ms> 1800ms

Ferramentas de Insights de IA

17. get_insights

Recupere insights acionáveis gerados por IA sobre desempenho do website.

Custo: 1 consulta

ParâmetroTipoObrigatórioPadrãoDescrição
website_idstringSimO UUID do website
severitystringNãoFiltro: critical, warning, info
statusstringNãoactiveFiltro: active, acknowledged, resolved
limitnumberNão10Máx insights (1-50)
SolicitaçãoJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "get_insights",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "severity": "critical"
  }
}
}
RespostaJSON
{
"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 anomalias detectadas — desvios incomuns em métricas.

Custo: 1 consulta

ParâmetroTipoObrigatórioPadrãoDescrição
website_idstringSimO UUID do website
severitystringNãoFiltro: critical, warning, info
metricstringNãoFiltro por métrica (p.ex. visitors, bounce_rate)
limitnumberNão10Máx anomalias (1-50)
SolicitaçãoJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "get_anomalies",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
  }
}
}
RespostaJSON
{
"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

Gere um resumo de desempenho semanal comparando esta semana vs semana passada.

Custo: 1 consulta

ParâmetroTipoObrigatórioDescrição
website_idstringSimO UUID do website
SolicitaçãoJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "get_weekly_digest",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
  }
}
}
RespostaJSON
{
"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

Obtenha recomendações de otimização alimentadas por IA.

Custo: 1 consulta

ParâmetroTipoObrigatórioPadrãoDescrição
website_idstringSimO UUID do website
categorystringNãoFiltro: performance, engagement, conversion, seo
limitnumberNão5Máx recomendações (1-20)
SolicitaçãoJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "get_recommendations",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "category": "performance"
  }
}
}
RespostaJSON
{
"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
}

Ferramentas de Gerenciamento

21. list_websites

Liste todos os websites acessíveis pela chave de API atual.

Custo: 1 consulta

Esta ferramenta não recebe parâmetros. Chaves de acesso completo veem todos os websites do time; chaves com escopo de site veem apenas seu website atribuído.

RequisiçãoJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "list_websites",
  "arguments": {}
}
}
RespostaJSON
{
"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

Crie um objetivo de conversão personalizado. Requer modo read_write.

Custo: 1 consulta

ParâmetroTipoObrigatórioDescrição
website_idstringSimO UUID do website
namestringSimNome do objetivo (máx. 100 caracteres)
goal_typestringSimurl_match, element_click ou custom_event
url_patternstringPara url_matchPadrão de URL para corresponder
url_match_typestringNãoexact, contains, starts_with, ends_with, regex (padrão: contains)
css_selectorstringPara element_clickSeletor CSS do elemento
event_namestringPara custom_eventNome do evento personalizado para rastrear
RequisiçãoJSON
{
"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"
  }
}
}
RespostaJSON
{
"goal": {
  "id": "g1a2b3c4-...",
  "name": "Newsletter Signup",
  "goal_type": "url_match",
  "is_active": true,
  "created_at": "2026-03-06T12:00:00Z"
}
}

23. manage_funnel

Crie ou atualize um funil de conversão. Requer modo read_write.

Custo: 1 consulta

ParâmetroTipoObrigatórioDescrição
website_idstringSimO UUID do website
namestringSimNome do funil
stepsarraySim2-10 passos ordenados (veja abaixo)
funnel_idstringNãoUUID do funil existente para atualizar

Objeto de passo:

CampoTipoObrigatórioDescrição
step_namestringSimNome para exibição
step_typestringSimurl_match, element_click, custom_event
url_patternstringNãoPadrão de URL (para url_match)
url_match_typestringNãoexact, contains, starts_with, ends_with, regex
RequisiçãoJSON
{
"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" }
    ]
  }
}
}
RespostaJSON
{
"funnel": {
  "id": "f1a2b3c4-...",
  "name": "Checkout Flow",
  "steps_count": 4,
  "created_at": "2026-03-06T12:00:00Z"
}
}

24. export_data

Exporte dados de análise em formato JSON ou CSV.

Custo: 1 consulta | Requer: Scale+ (flag de recurso dataExport)

ParâmetroTipoObrigatórioPadrãoDescrição
website_idstringSimO UUID do website
formatstringNãojsonFormato de saída: csv, json
metricsarrayNão["visitors","pageviews","unique_visitors"]Métricas a incluir
time_rangestringNão30dPeríodo de tempo: 7d, 30d, 90d, 1y

Métricas disponíveis: visitors, pageviews, unique_visitors, bounce_rate, avg_session_duration

RequisiçãoJSON
{
"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"
  }
}
}
RespostaJSON
{
"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

Verifique o uso atual da chave de API e a cota restante.

Custo: 1 consulta

Esta ferramenta não recebe parâmetros.

RequisiçãoJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "get_api_usage",
  "arguments": {}
}
}
RespostaJSON
{
"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

Obtenha a configuração e as definições de um website.

Custo: 1 consulta

ParâmetroTipoObrigatórioDescrição
website_idstringSimO UUID do website
RequisiçãoJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "get_website_settings",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
  }
}
}
RespostaJSON
{
"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

Atualize as definições de configuração do website. Requer modo read_write.

Custo: 1 consulta

ParâmetroTipoObrigatórioDescrição
website_idstringSimO UUID do website
namestringNãoNome para exibição do website
timezonestringNãoFuso horário IANA (ex: America/New_York)
allowed_domainsarrayNãoLista de domínios permitidos para o script de rastreamento
RequisiçãoJSON
{
"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"]
  }
}
}
RespostaJSON
{
"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

Ative ou desative o compartilhamento do painel público para um website. Requer modo read_write.

Custo: 1 consulta

ParâmetroTipoObrigatórioDescrição
website_idstringSimO UUID do website
enabledbooleanSimtrue para ativar, false para desativar
RequisiçãoJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "toggle_public_dashboard",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "enabled": true
  }
}
}
RespostaJSON
{
"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

Ative ou desative o modo de rastreamento sem cookies. Requer modo read_write. Plano Pro ou superior.

Quando ativado, o rastreador usa SHA-256(IP_subnet + UA + daily_salt) para identificação do visitante em vez de cookies ou localStorage.

Custo: 1 consulta

ParâmetroTipoObrigatórioDescrição
website_idstringSimO UUID do website
enabledbooleanSimtrue para ativar, false para desativar
RequisiçãoJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "toggle_cookieless_tracking",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "enabled": true
  }
}
}
RespostaJSON
{
"cookieless_tracking": {
  "enabled": true,
  "method": "server_side_hashing",
  "updated_at": "2026-03-15T10:00:00Z"
}
}

O rastreamento sem cookies é totalmente compatível com GDPR. Nenhum cookie ou localStorage é utilizado. A identificação do visitante é calculada no servidor usando um salt que gira diariamente.


30. get_tracking_code

Obtenha o snippet de código de rastreamento para um website. Use isso para recuperar a tag de script para instalar em seu site.

Custo: 1 consulta

ParâmetroTipoObrigatórioDescrição
website_idstringSimO UUID do website
RequisiçãoJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "get_tracking_code",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
  }
}
}
RespostaJSON
{
"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

Gere um novo código de rastreamento para um website. Requer modo read_write.

Isso invalida o código de rastreamento anterior. Você deve atualizar a tag de script em seu website após regenerar.

Custo: 1 consulta

ParâmetroTipoObrigatórioDescrição
website_idstringSimO UUID do website
RequisiçãoJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "regenerate_tracking_code",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
  }
}
}
RespostaJSON
{
"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

Liste todos os objetivos de um website com seu status atual e taxas de conversão.

Custo: 1 consulta

ParâmetroTipoObrigatórioPadrãoDescrição
website_idstringSimO UUID do website
include_inactivebooleanNãofalseIncluir objetivos desativados
time_rangestringNão30dPeríodo de tempo para estatísticas de conversão: 7d, 30d, 90d, 1y
RequisiçãoJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "list_goals",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "include_inactive": true
  }
}
}
RespostaJSON
{
"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

Atualize a configuração de um objetivo existente. Requer modo read_write.

Custo: 1 consulta

ParâmetroTipoObrigatórioDescrição
website_idstringSimO UUID do website
goal_idstringSimO UUID do objetivo
namestringNãoNome do objetivo atualizado
url_patternstringNãoPadrão de URL atualizado
url_match_typestringNãoexact, contains, starts_with, ends_with, regex
css_selectorstringNãoSeletor CSS atualizado
event_namestringNãoNome do evento atualizado
RequisiçãoJSON
{
"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"
  }
}
}
RespostaJSON
{
"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

Exclua permanentemente um objetivo. Requer modo read_write.

Custo: 1 consulta

ParâmetroTipoObrigatórioDescrição
website_idstringSimO UUID do website
goal_idstringSimO UUID do objetivo a excluir
RequisiçãoJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "delete_goal",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "goal_id": "g5d6e7f8-..."
  }
}
}
RespostaJSON
{
"deleted": true,
"goal_id": "g5d6e7f8-..."
}

35. toggle_goal

Ative ou desative um objetivo sem excluí-lo. Requer modo read_write.

Custo: 1 consulta

ParâmetroTipoObrigatórioDescrição
website_idstringSimO UUID do website
goal_idstringSimO UUID do objetivo
is_activebooleanSimtrue para ativar, false para desativar
RequisiçãoJSON
{
"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
  }
}
}
RespostaJSON
{
"goal": {
  "id": "g1a2b3c4-...",
  "name": "Newsletter Signup v2",
  "is_active": false,
  "updated_at": "2026-03-15T10:00:00Z"
}
}

36. list_funnels

Liste todos os funis de um website.

Custo: 1 consulta

ParâmetroTipoObrigatórioDescrição
website_idstringSimO UUID do website
RequisiçãoJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "list_funnels",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
  }
}
}
RespostaJSON
{
"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

Exclua permanentemente um funil. Requer modo read_write.

Custo: 1 consulta

ParâmetroTipoObrigatórioDescrição
website_idstringSimO UUID do website
funnel_idstringSimO UUID do funil a excluir
RequisiçãoJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "delete_funnel",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "funnel_id": "f5d6e7f8-..."
  }
}
}
RespostaJSON
{
"deleted": true,
"funnel_id": "f5d6e7f8-..."
}

38. delete_website

Exclua permanentemente um website e todos os seus dados de análise. Requer modo read_write e chave de full_access.

Esta ação é irreversível. Todos os dados de análise, objetivos, funis e definições deste website serão permanentemente excluídos.

Custo: 1 consulta

ParâmetroTipoObrigatórioDescrição
website_idstringSimO UUID do website a excluir
confirmbooleanSimDeve ser true para confirmar a exclusão
RequisiçãoJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "delete_website",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "confirm": true
  }
}
}
RespostaJSON
{
"deleted": true,
"website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"domain": "example.com"
}

49. create_website

Crie um novo website para rastrear. Requer modo read_write e chave de full_access.

Custo: 1 consulta

ParâmetroTipoObrigatórioDescrição
domainstringSimO domínio do website (ex: docs.example.com)
namestringNãoNome para exibição (padrão: o domínio)
timezonestringNãoFuso horário IANA (padrão: UTC)
RequisiçãoJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "create_website",
  "arguments": {
    "domain": "docs.example.com",
    "name": "Documentation Site",
    "timezone": "America/New_York"
  }
}
}
RespostaJSON
{
"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>"
}

Ferramentas de Configuração

39. add_ip_exclusion

Adicione um endereço IP ou intervalo CIDR à lista de exclusão. Visitantes de IPs excluídos não serão rastreados. Requer modo read_write.

Custo: 1 consulta

ParâmetroTipoObrigatórioDescrição
website_idstringSimO UUID do website
ip_addressstringSimEndereço IP ou intervalo CIDR (ex: 192.168.1.0/24)
labelstringNãoRótulo descritivo (ex: "Rede do escritório")
RequisiçãoJSON
{
"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"
  }
}
}
RespostaJSON
{
"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

Remova um endereço IP da lista de exclusão. Requer modo read_write.

Custo: 1 consulta

ParâmetroTipoObrigatórioDescrição
website_idstringSimO UUID do website
exclusion_idstringSimO UUID da exclusão a remover
RequisiçãoJSON
{
"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..."
  }
}
}
RespostaJSON
{
"deleted": true,
"exclusion_id": "exc_ip_1..."
}

41. add_path_exclusion

Adicione um padrão de caminho de URL para excluir do rastreamento. Páginas que corresponderem ao padrão não gerarão eventos de análise. Requer modo read_write.

Custo: 1 consulta

ParâmetroTipoObrigatórioDescrição
website_idstringSimO UUID do website
path_patternstringSimPadrão de caminho de URL a excluir (ex: /admin/*, /internal/health)
match_typestringNãoexact, starts_with, contains, regex (padrão: starts_with)
labelstringNãoRótulo descritivo
RequisiçãoJSON
{
"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"
  }
}
}
RespostaJSON
{
"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

Remova uma exclusão de caminho. Requer modo read_write.

Custo: 1 consulta

ParâmetroTipoObrigatórioDescrição
website_idstringSimO UUID do website
exclusion_idstringSimO UUID da exclusão a remover
RequisiçãoJSON
{
"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..."
  }
}
}
RespostaJSON
{
"deleted": true,
"exclusion_id": "exc_path_1..."
}

43. list_exclusions

Liste todas as exclusões de IP e caminho para um website.

Custo: 1 consulta

ParâmetroTipoObrigatórioDescrição
website_idstringSimO UUID do website
RequisiçãoJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "list_exclusions",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
  }
}
}
RespostaJSON
{
"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

Obtenha as preferências de notificação do time atual.

Custo: 1 consulta

ParâmetroTipoObrigatórioDescrição
website_idstringSimO UUID do website
RequisiçãoJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "get_notification_settings",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
  }
}
}
RespostaJSON
{
"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

Atualize as preferências de notificação. Requer modo read_write.

Custo: 1 consulta

ParâmetroTipoObrigatórioDescrição
website_idstringSimO UUID do website
weekly_digest_emailbooleanNãoAtivar/desativar resumo semanal
anomaly_alertsbooleanNãoAtivar/desativar alertas de anomalia
anomaly_thresholdstringNãoSeveridade mínima: info, warning, critical
goal_completion_alertsbooleanNãoAtivar/desativar notificações de conclusão de objetivo
uptime_alertsbooleanNãoAtivar/desativar alertas de monitoramento de tempo de atividade
email_recipientsarrayNãoLista de endereços de email para notificar
RequisiçãoJSON
{
"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]"]
  }
}
}
RespostaJSON
{
"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"
}
}

Ferramentas de Time

46. get_team_members

Liste todos os membros do seu time. Requer chave de full_access.

Custo: 1 consulta

Esta ferramenta não recebe parâmetros.

RequisiçãoJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "get_team_members",
  "arguments": {}
}
}
RespostaJSON
{
"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

Convide um novo membro para seu time por email. Requer modo read_write, chave de full_access e plano Pro ou superior.

Custo: 1 consulta

ParâmetroTipoObrigatórioDescrição
emailstringSimEndereço de email a convidar
rolestringNãoFunção: member (padrão) ou admin
RequisiçãoJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "invite_team_member",
  "arguments": {
    "email": "[email protected]",
    "role": "member"
  }
}
}
RespostaJSON
{
"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

Remova um membro do seu time. Requer modo read_write e chave de full_access.

Você não pode remover o proprietário do time. O membro perderá imediatamente o acesso a todos os websites do time.

Custo: 1 consulta

ParâmetroTipoObrigatórioDescrição
member_idstringSimO ID do usuário do membro a remover
RequisiçãoJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "remove_team_member",
  "arguments": {
    "member_id": "usr_2..."
  }
}
}
RespostaJSON
{
"removed": true,
"member_id": "usr_2...",
"email": "[email protected]"
}

Ferramentas de Chave de API

50. list_api_keys

Liste todas as chaves de API do time atual. Retorna metadados das chaves (não os valores das chaves).

Custo: 1 consulta

Esta ferramenta não recebe parâmetros.

RequisiçãoJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "list_api_keys",
  "arguments": {}
}
}
RespostaJSON
{
"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

Crie uma nova chave de API. Requer modo read_write.

Custo: 1 consulta

ParâmetroTipoObrigatórioDescrição
namestringSimNome para exibição da chave
typestringSimfull_access ou site_access
website_idstringNãoObrigatório para chaves de site_access
RequisiçãoJSON
{
"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"
  }
}
}
RespostaJSON
{
"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."
}

O valor completo da chave de API é retornado apenas uma vez no momento da criação. Armazene-o com segurança.


52. revoke_api_key

Revogue (exclua) uma chave de API. Requer modo read_write.

Custo: 1 consulta

ParâmetroTipoObrigatórioDescrição
key_idstringSimO ID da chave de API a revogar
RequisiçãoJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "revoke_api_key",
  "arguments": {
    "key_id": "key_2..."
  }
}
}
RespostaJSON
{
"revoked": true,
"key_id": "key_2...",
"name": "Staging Key"
}

53. get_api_key_details

Obtenha informações detalhadas sobre uma chave de API específica.

Custo: 1 consulta

ParâmetroTipoObrigatórioDescrição
key_idstringSimO ID da chave de API
RequisiçãoJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "get_api_key_details",
  "arguments": {
    "key_id": "key_1..."
  }
}
}
RespostaJSON
{
"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

Atualize as permissões de MCP de uma chave de API. Requer modo read_write.

Custo: 1 consulta

ParâmetroTipoObrigatórioDescrição
key_idstringSimO ID da chave de API
mcp_enabledbooleanNãoAtivar ou desativar acesso ao MCP
mcp_modestringNãoread_only ou read_write
permissionsobjectNãoAlternâncias de grupos de recursos (ex: {"analytics": true, "management": false})
RequisiçãoJSON
{
"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
    }
  }
}
}
RespostaJSON
{
"updated": true,
"key_id": "key_1...",
"mcp_mode": "read_write",
"mcp_permissions": {
  "analytics": true,
  "advanced": true,
  "ai_insights": true,
  "management": true,
  "settings": false
}
}

Ferramentas de Uptime

55. list_uptime_monitors

Listar todos os monitores de uptime para o time atual.

Custo: 1 query

Esta ferramenta não aceita nenhum parâmetro.

RequestJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "list_uptime_monitors",
  "arguments": {}
}
}
ResponseJSON
{
"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

Obter status atual e tempo de resposta para um monitor específico.

Custo: 1 query

ParâmetroTipoObrigatórioDescrição
monitor_idstringSimO UUID do monitor
RequestJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "get_uptime_status",
  "arguments": {
    "monitor_id": "mon_1..."
  }
}
}
ResponseJSON
{
"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

Criar um novo monitor de uptime. Requer modo read_write.

Custo: 1 query

ParâmetroTipoObrigatórioDescrição
urlstringSimA URL a ser monitorada
namestringNãoNome de exibição (padrão: hostname da URL)
intervalnumberNãoIntervalo de verificação em segundos (padrão: 300)
RequestJSON
{
"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
  }
}
}
ResponseJSON
{
"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

Deletar um monitor de uptime. Requer modo read_write.

Custo: 1 query

ParâmetroTipoObrigatórioDescrição
monitor_idstringSimO UUID do monitor a ser deletado
RequestJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "delete_uptime_monitor",
  "arguments": {
    "monitor_id": "mon_2..."
  }
}
}
ResponseJSON
{
"deleted": true,
"monitor_id": "mon_2..."
}

59. get_uptime_history

Obter histórico de uptime e registro de incidentes para um monitor.

Custo: 1 query

ParâmetroTipoObrigatórioDescrição
monitor_idstringSimO UUID do monitor
time_rangestringNãoIntervalo de tempo: 24h, 7d, 30d, 90d (padrão: 30d)
RequestJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "get_uptime_history",
  "arguments": {
    "monitor_id": "mon_1...",
    "time_range": "7d"
  }
}
}
ResponseJSON
{
"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
}

Ferramentas de Gerenciamento de Website (60-64)

60. update_website_name

Atualizar o nome de exibição para um website. Requer modo read_write.

Custo: 1 query

ParâmetroTipoObrigatórioDescrição
website_idstringSimO UUID do website
namestringSimNovo nome de exibição
RequestJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "update_website_name",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "name": "Production Website"
  }
}
}
ResponseJSON
{
"website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"name": "Production Website",
"updated_at": "2026-03-15T10:00:00Z"
}

61. update_website_timezone

Atualizar o fuso horário para um website. Afeta como as análises diárias são agregadas. Requer modo read_write.

Custo: 1 query

ParâmetroTipoObrigatórioDescrição
website_idstringSimO UUID do website
timezonestringSimFuso horário IANA (ex: America/New_York, Europe/London)
RequestJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "update_website_timezone",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "timezone": "Europe/London"
  }
}
}
ResponseJSON
{
"website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"timezone": "Europe/London",
"updated_at": "2026-03-15T10:00:00Z"
}

62. update_website_domain

Atualizar o domínio para um website. Requer modo read_write.

Custo: 1 query

ParâmetroTipoObrigatórioDescrição
website_idstringSimO UUID do website
domainstringSimNovo domínio (ex: example.com)
RequestJSON
{
"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"
  }
}
}
ResponseJSON
{
"website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"domain": "new.example.com",
"updated_at": "2026-03-15T10:00:00Z"
}

63. pause_tracking

Pausar temporariamente o rastreamento de análises para um website. Nenhum evento novo será registrado. Requer modo read_write.

Custo: 1 query

ParâmetroTipoObrigatórioDescrição
website_idstringSimO UUID do website
RequestJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "pause_tracking",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
  }
}
}
ResponseJSON
{
"website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"tracking_active": false,
"paused_at": "2026-03-15T10:00:00Z"
}

64. resume_tracking

Retomar o rastreamento de análises para um website pausado. Requer modo read_write.

Custo: 1 query

ParâmetroTipoObrigatórioDescrição
website_idstringSimO UUID do website
RequestJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "resume_tracking",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
  }
}
}
ResponseJSON
{
"website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"tracking_active": true,
"resumed_at": "2026-03-15T10:00:00Z"
}

Ferramentas de Relatórios (65-69)

65. schedule_report

Agendar um relatório de análises recorrente para ser enviado por email. Requer modo read_write.

Custo: 1 query

ParâmetroTipoObrigatórioDescrição
website_idstringSimO UUID do website
frequencystringSimdaily, weekly, ou monthly
recipientsarraySimLista de endereços de email
metricsarrayNãoMétricas específicas a incluir (padrão: todas)
RequestJSON
{
"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]"]
  }
}
}
ResponseJSON
{
"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

Obter a configuração de relatório agendado para um website.

Custo: 1 query

ParâmetroTipoObrigatórioDescrição
website_idstringSimO UUID do website
RequestJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "get_report_schedule",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
  }
}
}
ResponseJSON
{
"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

Cancelar um relatório agendado. Requer modo read_write.

Custo: 1 query

ParâmetroTipoObrigatórioDescrição
report_idstringSimO ID do agendamento de relatório a ser cancelado
RequestJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "cancel_report",
  "arguments": {
    "report_id": "rpt_1..."
  }
}
}
ResponseJSON
{
"cancelled": true,
"report_id": "rpt_1..."
}

68. get_export_history

Obter o histórico de exportações de dados para um website.

Custo: 1 query

ParâmetroTipoObrigatórioDescrição
website_idstringSimO UUID do website
limitnumberNãoMáximo de resultados (padrão: 20)
RequestJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "get_export_history",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "limit": 5
  }
}
}
ResponseJSON
{
"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

Obter a política de retenção de dados para um website baseada no plano atual.

Custo: 1 query

ParâmetroTipoObrigatórioDescrição
website_idstringSimO UUID do website
RequestJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "get_data_retention",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
  }
}
}
ResponseJSON
{
"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"
}

Ferramentas de Receita e Dados (70-75)

70. set_revenue_currency

Definir a moeda padrão de exibição de receita para um website. Usa códigos de moeda ISO 4217. Requer modo read_write.

Custo: 1 query

ParâmetroTipoObrigatórioDescrição
website_idstringSimO UUID do website
currencystringSimCódigo de moeda ISO 4217 (ex: USD, EUR, GBP, CHF, JPY)
RequestJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "set_revenue_currency",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "currency": "EUR"
  }
}
}
ResponseJSON
{
"website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"currency": "EUR",
"message": "Revenue currency set to EUR"
}

71. get_revenue_settings

Obter as configurações relacionadas a receita para um website, incluindo a moeda configurada e qualquer mapeamento de campos.

Custo: 1 query

ParâmetroTipoObrigatórioDescrição
website_idstringSimO UUID do website
RequestJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "get_revenue_settings",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
  }
}
}
ResponseJSON
{
"website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"currency": "EUR",
"revenue_field_mappings": null
}

72. add_allowed_domain

Adicionar um domínio à lista de permissão CORS. Apenas domínios na lista de permissão podem enviar dados de rastreamento para este website. Requer modo read_write.

Custo: 1 query

ParâmetroTipoObrigatórioDescrição
website_idstringSimO UUID do website
domainstringSimDomínio a adicionar à lista de permissão (ex: example.com, staging.example.com)
RequestJSON
{
"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"
  }
}
}
ResponseJSON
{
"website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"domain": "staging.example.com",
"allowed_domains": ["example.com", "staging.example.com"],
"total": 2
}

73. remove_allowed_domain

Remover um domínio da lista de permissão CORS. Requer modo read_write.

Custo: 1 query

ParâmetroTipoObrigatórioDescrição
website_idstringSimO UUID do website
domainstringSimDomínio a remover da lista de permissão
RequestJSON
{
"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"
  }
}
}
ResponseJSON
{
"website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"removed": "staging.example.com",
"allowed_domains": ["example.com"],
"total": 1
}

74. list_allowed_domains

Listar todos os domínios na lista de permissão CORS para um website.

Custo: 1 query

ParâmetroTipoObrigatórioDescrição
website_idstringSimO UUID do website
RequestJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "list_allowed_domains",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
  }
}
}
ResponseJSON
{
"website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"allowed_domains": ["example.com", "staging.example.com"],
"total": 2
}

75. request_data_deletion

Deletar todos os dados de um visitante específico de um website. Usado para conformidade com GDPR (direito ao esquecimento). Esta ação é irreversível. Requer modo read_write.

Custo: 1 query

ParâmetroTipoObrigatórioDescrição
website_idstringSimO UUID do website
visitor_idstringSimO UUID do visitante cujos dados devem ser deletados
RequestJSON
{
"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..."
  }
}
}
ResponseJSON
{
"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"
}

Isto deleta permanentemente todos os dados do visitante incluindo visualizações de página, sessões e eventos. Isto não pode ser desfeito.


Exemplos de Fluxo Multi-Etapas

Estes exemplos mostram cadeias completas de requisição/resposta para tarefas comuns. Cada etapa usa o formato JSON-RPC acima.

Relatório de Tráfego Semanal

Um fluxo de trabalho de relatório típico: descobrir websites, depois extrair estatísticas de visitantes, páginas principais e fontes de tráfego.

Etapa 1 — Descobrir seus websites:

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

Etapa 2 — Obter visão geral de visitantes:

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

Etapa 3 — Obter páginas principais:

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

Etapa 4 — Obter fontes de tráfego:

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

Custo total: 4 queries (1 + 1 + 1 + 1)


Auditoria de Desempenho

Identificar problemas de desempenho, erros e obter recomendações de IA.

Etapa 1 — Listar websites (igual ao acima, obter website_id)

Etapa 2 — Verificar Core Web Vitals:

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

Etapa 3 — Verificar erros:

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

Etapa 4 — Obter recomendações de IA:

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

Custo total: 4 queries (1 + 1 + 1 + 1)


Verificação Rápida de Saúde

Verificação rápida de cota restante e visitantes ao vivo atuais — ideal no início de uma sessão.

Etapa 1 — Verificar cota restante:

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

Etapa 2 — Verificar visitantes em tempo real:

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

Custo total: 2 queries (1 + 1)


Comparação Semana-sobre-Semana

Comparar métricas desta semana contra a semana passada para identificar tendências.

Etapa 1 — Listar websites (obter website_id)

Etapa 2 — Comparar períodos:

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

Etapa 3 — Detectar anomalias:

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

Custo total: 3 queries (1 + 1 + 1)


Configuração e Personalização de Website

Configurar um novo website com exclusões e rastreamento sem cookies.

Etapa 1 — Criar o website:

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

Etapa 2 — Ativar rastreamento sem cookies:

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

Etapa 3 — Excluir IP do escritório:

RequestJSON
{
"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"
  }
}
}

Etapa 4 — Obter código de rastreamento a instalar:

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

Custo total: 4 queries (1 + 1 + 1 + 1)


Novas Ferramentas

76. get_retention_data

Obter análise de coorte de retenção mostrando como seu website retém visitantes ao longo do tempo. Retorna dados de coorte agrupados pelo período da primeira visita do visitante.

Custo: 1 query | Requer: Pro+ (flag de recurso retentionAnalysis)

ParâmetroTipoObrigatórioPadrãoDescrição
website_idstringSimO UUID do website
time_rangestringNão30dIntervalo de tempo: 7d, 30d, 90d, 1y
cohort_sizestringNãoweekAgrupamento de coorte: day, week, month
RequestJSON
{
"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"
  }
}
}
ResponseJSON
{
"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

Obter perfis de visitantes com histórico de sessão e dados comportamentais. Retorna registros de visitantes individuais com seu histórico de visitas, páginas visualizadas e métricas de engajamento.

Custo: 1 query

ParâmetroTipoObrigatórioPadrãoDescrição
website_idstringSimO UUID do website
limitnumberNão20Perfis a retornar (1-50)
country_codestringNãoFiltrar por código de país ISO (ex: US, DE)
min_sessionsnumberNãoNúmero mínimo de sessões
time_rangestringNão30dIntervalo de tempo: 7d, 30d, 90d, 1y
RequestJSON
{
"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
  }
}
}
ResponseJSON
{
"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
}

Referência do Protocolo JSON-RPC

Todas as requisições MCP usam o formato JSON-RPC 2.0:

Request envelopeJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "tool_name",
  "arguments": { ... }
}
}

Métodos disponíveis:

MétodoDescrição
initializeHandshake — retorna informações do servidor e capacidades
tools/listListar todas as ferramentas disponíveis com esquemas
tools/callExecutar uma ferramenta
pingVerificação de saúde

Formato de resposta de erro:

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

Veja Permissões e Limites para a referência completa de códigos de erro.

Esta página foi útil?