Zum Hauptinhalt springen
57 Min. Lesedauer

MCP-Tools Referenz

Diese Seite dokumentiert alle 77 MCP-Tools, die über den Zenovay-Analytics-Server verfügbar sind. Jedes Tool enthält seine Parameter, ein Beispiel-JSON-RPC-Request und eine Beispielantwort.

Server-URL: https://api.zenovay.com/mcp Transport: Streamable HTTP (JSON-RPC 2.0) Auth-Header: Authorization: Bearer zv_YOUR_API_KEY

Alle Tools erfordern einen gültigen API-Schlüssel mit aktiviertem MCP. Schreib-Tools (gekennzeichnet mit requires read_write) geben einen Fehler im Read-Only-Modus zurück. Siehe Permissions & Limits für die vollständige Liste.


Schnellreferenz für KI-Assistenten

Use this section to quickly understand the Zenovay MCP server. Every request uses this JSON-RPC envelope:

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

Erster Schritt in jeder Sitzung: Rufen Sie list_websites (keine Argumente) auf, um Website-IDs zu entdecken. Fast jedes Tool erfordert einen website_id-Parameter.

Alle 77 Tools auf einen Blick:

#ToolCategoryCostDescription
1query_analyticsanalytics3Natural language analytics query
2get_visitorsanalytics1Visitor stats with optional period comparison
3get_top_pagesanalytics1Most visited pages ranked by visitor count
4get_traffic_sourcesanalytics1Traffic sources / referrers breakdown
5get_geographic_dataanalytics1Country + optional city breakdown
6get_technology_breakdownanalytics1Devices, browsers, operating systems
7get_realtime_visitorsanalytics1Currently active visitors (last 5 min)
8compare_periodsanalytics1Compare metrics between two time periods
9get_funnel_analysisadvanced1Funnel step-by-step conversion data
10get_goalsadvanced1Active goals with completion rates
11get_session_replaysadvanced1Session replay recordings list (Pro+)
12get_heatmap_dataadvanced1Heatmap interaction data per page (Pro+)
13get_errorsadvanced1JavaScript error tracking
14get_b2b_companiesadvanced1B2B company identification via reverse IP
15get_revenueadvanced1Revenue totals + breakdowns (Pro+)
16get_performance_metricsadvanced1Core Web Vitals (LCP, CLS, INP, FCP, TTFB)
17get_insightsai_insights1AI-generated actionable insights
18get_anomaliesai_insights1Detected metric anomalies
19get_weekly_digestai_insights1Weekly performance digest (this vs last week)
20get_recommendationsai_insights1AI-powered optimization recommendations
21list_websitesmanagement1List accessible websites (call first!)
22create_goalmanagement1Create custom goal (requires read_write)
23manage_funnelmanagement1Create/update funnel (requires read_write)
24export_datamanagement1Export analytics in JSON or CSV (Scale+)
25get_api_usagemanagement1Check remaining daily quota
26get_website_settingsmanagement1Get website configuration and settings
27update_website_settingsmanagement1Update website settings (requires read_write)
28toggle_public_dashboardmanagement1Enable/disable public dashboard (requires read_write)
29toggle_cookieless_trackingmanagement1Enable/disable cookieless mode (requires read_write, Pro+)
30get_tracking_codemanagement1Get the tracking code snippet for a website
31regenerate_tracking_codemanagement1Generate a new tracking code (requires read_write)
32list_goalsmanagement1List all goals for a website
33update_goalmanagement1Update an existing goal (requires read_write)
34delete_goalmanagement1Delete a goal (requires read_write)
35toggle_goalmanagement1Enable or disable a goal (requires read_write)
36list_funnelsmanagement1List all funnels for a website
37delete_funnelmanagement1Delete a funnel (requires read_write)
38delete_websitemanagement1Permanently delete a website (requires read_write, full_access)
39add_ip_exclusionsettings1Add IP to exclusion list (requires read_write)
40remove_ip_exclusionsettings1Remove IP from exclusion list (requires read_write)
41add_path_exclusionsettings1Add path pattern to exclusions (requires read_write)
42remove_path_exclusionsettings1Remove path from exclusions (requires read_write)
43list_exclusionssettings1List all IP and path exclusions
44get_notification_settingssettings1Get notification preferences
45update_notification_settingssettings1Update notification preferences (requires read_write)
46get_team_membersteam1List team members (requires full_access)
47invite_team_memberteam1Invite a new team member (requires read_write, full_access, Pro+)
48remove_team_memberteam1Remove a team member (requires read_write, full_access)
49create_websitemanagement1Create a new website (requires read_write, full_access)
50list_api_keysapi_keys1List all API keys for the team
51create_api_keyapi_keys1Create a new API key (requires read_write)
52revoke_api_keyapi_keys1Revoke an API key (requires read_write)
53get_api_key_detailsapi_keys1Get details for a specific API key
54update_api_key_permissionsapi_keys1Update API key permissions (requires read_write)
55list_uptime_monitorsuptime1List all uptime monitors
56get_uptime_statusuptime1Get current status for a monitor
57create_uptime_monitoruptime1Create a new uptime monitor (requires read_write)
58delete_uptime_monitoruptime1Delete an uptime monitor (requires read_write)
59get_uptime_historyuptime1Get uptime history and incident log
60update_website_namemanagement1Update website display name (requires read_write)
61update_website_timezonemanagement1Update website timezone (requires read_write)
62update_website_domainmanagement1Update website domain (requires read_write)
63pause_trackingmanagement1Pause analytics tracking (requires read_write)
64resume_trackingmanagement1Resume analytics tracking (requires read_write)
65schedule_reportmanagement1Schedule a recurring analytics report (requires read_write)
66get_report_schedulemanagement1Get scheduled report configuration
67cancel_reportmanagement1Cancel a scheduled report (requires read_write)
68get_export_historymanagement1Get data export history
69get_data_retentionmanagement1Get data retention policy for the website
70set_revenue_currencysettings1Set revenue currency (requires read_write)
71get_revenue_settingssettings1Get revenue settings (currency, field mappings)
72add_allowed_domainsettings1Add domain to CORS whitelist (requires read_write)
73remove_allowed_domainsettings1Remove domain from CORS whitelist (requires read_write)
74list_allowed_domainssettings1List CORS whitelisted domains
75request_data_deletionsettings1Delete visitor data for GDPR (requires read_write)
76get_retention_dataadvanced1Retention cohort analysis (Pro+)
77get_user_profilesanalytics1Visitor profiles with session history

Häufige time_range-Werte: 24h, 7d, 30d, 90d, 1y (Standard: 7d für die meisten Tools)


Häufige Muster

Bevor Sie sich einzelnen Tools widmen, finden Sie hier häufige Multi-Tool-Workflows:

Website-Erkennung + Analyse:

  1. list_websites — Website-IDs finden
  2. get_visitors — Traffic-Übersicht abrufen
  3. get_top_pages — sehen, welche Seiten am besten abschneiden
  4. get_traffic_sources — verstehen, woher der Traffic kommt

Performance-Audit:

  1. list_websites — Website-ID abrufen
  2. get_performance_metrics — Core Web Vitals prüfen
  3. get_errors — JavaScript-Fehler finden
  4. get_insights — KI-generierte Empfehlungen anzeigen

Wöchentliche Überprüfung:

  1. get_weekly_digest — automatisierter Vergleich Woche zu Woche
  2. get_anomalies — auf ungewöhnliche Muster überprüfen
  3. compare_periods — Deep-Dive in spezifische Metriken

Analytics-Tools

Alle Analytics-Tools erzwingen das Datenspeicherfenster Ihres Plans. Abfragen, die Daten über Ihr Aufbewahrungslimit hinaus anfordern, werden automatisch begrenzt, und die Antwort enthält ein retention_note-Feld. Siehe Plan Enforcement für Aufbewahrungslimits nach Plan.

1. query_analytics

Stellen Sie eine Frage in natürlicher Sprache zu Ihren Analysedaten. Dies ist das flexibelste Tool — verwenden Sie es, wenn andere spezifische Tools nicht passen.

Kosten: 3 Abfragen

ParameterTypeRequiredDescription
website_idstringYesThe UUID of the website
questionstringYesNatural language question (max 500 characters)
RequestJSON
{
"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?"
  }
}
}
ResponseJSON
{
"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

Rufen Sie Besucherstatistiken für eine Website mit optionalem Zeitraumvergleich ab.

Kosten: 1 Abfrage

ParameterTypeRequiredDefaultDescription
website_idstringYesThe UUID of the website
time_rangestringNo7dTime range: 24h, 7d, 30d, 90d, 1y
compare_with_previousbooleanNofalseInclude comparison with previous period
RequestJSON
{
"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
  }
}
}
ResponseJSON
{
"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

Rufen Sie die am häufigsten besuchten Seiten nach Besucherzahl ab.

Kosten: 1 Abfrage

ParameterTypeRequiredDefaultDescription
website_idstringYesThe UUID of the website
time_rangestringNo7dTime range: 24h, 7d, 30d, 90d, 1y
limitnumberNo20Max pages to return (1-100)
RequestJSON
{
"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
  }
}
}
ResponseJSON
{
"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

Rufen Sie Traffic-Quellen ab und zeigen Sie an, woher Besucher kommen.

Kosten: 1 Abfrage

ParameterTypeRequiredDefaultDescription
website_idstringYesThe UUID of the website
time_rangestringNo7dTime range: 24h, 7d, 30d, 90d, 1y
limitnumberNo20Max sources to return (1-100)
RequestJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "get_traffic_sources",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "time_range": "30d"
  }
}
}
ResponseJSON
{
"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

Rufen Sie geografische Aufschlüsselung nach Land mit optionalem City-Level-Detail ab.

Kosten: 1 Abfrage

ParameterTypeRequiredDefaultDescription
website_idstringYesThe UUID of the website
time_rangestringNo7dTime range: 24h, 7d, 30d, 90d, 1y
limitnumberNo20Max entries (1-100)
include_citiesbooleanNofalseInclude city-level breakdown per country
RequestJSON
{
"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
  }
}
}
ResponseJSON
{
"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

Rufen Sie die Aufschlüsselung der Besuchertechnologie ab: Geräte, Browser und Betriebssysteme.

Kosten: 1 Abfrage

ParameterTypeRequiredDefaultDescription
website_idstringYesThe UUID of the website
time_rangestringNo7dTime range: 24h, 7d, 30d, 90d, 1y
RequestJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "get_technology_breakdown",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
  }
}
}
ResponseJSON
{
"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

Rufen Sie derzeit aktive Besucher ab (besucht in den letzten 5 Minuten).

Kosten: 1 Abfrage

ParameterTypeRequiredDescription
website_idstringYesThe UUID of the website
RequestJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "get_realtime_visitors",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
  }
}
}
ResponseJSON
{
"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

Vergleichen Sie Analysemetriken zwischen zwei Zeiträumen.

Kosten: 1 Abfrage

ParameterTypeRequiredDefaultDescription
website_idstringYesThe UUID of the website
current_periodstringNo7dCurrent period: 24h, 7d, 30d, 90d
comparison_periodstringNopreviousComparison: previous, same_period_last_month, same_period_last_year
RequestJSON
{
"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"
  }
}
}
ResponseJSON
{
"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
}
}

Erweiterte Tools

9. get_funnel_analysis

Rufen Sie Funnelanalysedaten ab. Ohne funnel_id werden alle Funnels aufgelistet. Mit einem werden Schritt-für-Schritt-Konversionsdaten zurückgegeben.

Kosten: 1 Abfrage

ParameterTypeRequiredDefaultDescription
website_idstringYesThe website UUID
funnel_idstringNoFunnel UUID for detailed step analysis
time_rangestringNo30dTime range: 24h, 7d, 30d, 90d, 1y
Request (list funnels)JSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "get_funnel_analysis",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
  }
}
}
ResponseJSON
{
"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" }
]
}
Request (detailed analysis)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-..."
  }
}
}
ResponseJSON
{
"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

Rufen Sie aktive Ziele mit Abschlussangaben und Konversionsraten ab.

Kosten: 1 Abfrage

ParameterTypeRequiredDefaultDescription
website_idstringYesThe website UUID
time_rangestringNo30dTime range: 24h, 7d, 30d, 90d, 1y
RequestJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "get_goals",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
  }
}
}
ResponseJSON
{
"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

Listet Session-Replay-Aufzeichnungen auf. Filtern Sie nach Gerätetyp oder Land.

Kosten: 1 Abfrage | Requires: Pro+ (sessionReplay feature flag)

ParameterTypeRequiredDefaultDescription
website_idstringYesThe website UUID
limitnumberNo20Sessions to return (1-50)
device_typestringNoFilter: desktop, mobile, tablet
country_codestringNoISO country code (e.g. US, DE)
RequestJSON
{
"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
  }
}
}
ResponseJSON
{
"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

Rufen Sie Heatmap-Interaktionsdaten pro Seite ab.

Kosten: 1 Abfrage | Requires: Pro+ (heatmaps feature flag)

ParameterTypeRequiredDefaultDescription
website_idstringYesThe website UUID
page_urlstringNoFilter to a specific page URL
limitnumberNo20Pages to return (1-50)
RequestJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "get_heatmap_data",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
  }
}
}
ResponseJSON
{
"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

Rufen Sie nachverfolgten JavaScript-Fehler für eine Website ab.

Kosten: 1 Abfrage

ParameterTypeRequiredDefaultDescription
website_idstringYesThe website UUID
statusstringNoopenFilter: open, resolved, ignored
limitnumberNo50Errors to return (1-100)
RequestJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "get_errors",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "status": "open"
  }
}
}
ResponseJSON
{
"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

Identifizieren Sie B2B-Unternehmen, die Ihre Website durch umgekehrte IP-Suche besuchen.

Kosten: 1 Abfrage

ParameterTypeRequiredDefaultDescription
website_idstringYesThe website UUID
limitnumberNo20Companies to return (1-100)
sort_bystringNolast_seenSort: visits, last_seen, confidence
industrystringNoFilter by industry (e.g. Technology)
min_visitsnumberNo1Minimum visit count
RequestJSON
{
"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
  }
}
}
ResponseJSON
{
"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

Rufen Sie Umsatzanalytics mit Gesamtsummen und Aufschlüsselungen ab.

Kosten: 1 Abfrage | Requires: Pro+ (revenueAttribution feature flag)

ParameterTypeRequiredDefaultDescription
website_idstringYesThe website UUID
time_rangestringNo30dTime range: 24h, 7d, 30d, 90d, 1y
group_bystringNodayGrouping: day, week, month, source
RequestJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "get_revenue",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "group_by": "source"
  }
}
}
ResponseJSON
{
"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

Rufen Sie Core Web Vitals und Leistungsmetriken mit Perzentil-Aufschlüsselungen ab.

Kosten: 1 Abfrage

ParameterTypeRequiredDefaultDescription
website_idstringYesThe website UUID
time_rangestringNo7dTime range: 24h, 7d, 30d, 90d, 1y
page_urlstringNoFilter to a specific page
RequestJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "get_performance_metrics",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
  }
}
}
ResponseJSON
{
"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 }
}

Bewertungsschwellen:

MetricGoodNeeds ImprovementPoor
LCP≤ 2500ms≤ 4000ms> 4000ms
CLS≤ 0.1≤ 0.25> 0.25
INP≤ 200ms≤ 500ms> 500ms
FCP≤ 1800ms≤ 3000ms> 3000ms
TTFB≤ 800ms≤ 1800ms> 1800ms

KI-Insights-Tools

17. get_insights

Rufen Sie KI-generierte praktische Erkenntnisse über die Websiteleistung ab.

Kosten: 1 Abfrage

ParameterTypeRequiredDefaultDescription
website_idstringYesThe website UUID
severitystringNoFilter: critical, warning, info
statusstringNoactiveFilter: active, acknowledged, resolved
limitnumberNo10Max insights (1-50)
RequestJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "get_insights",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "severity": "critical"
  }
}
}
ResponseJSON
{
"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

Rufen Sie erkannte Anomalien ab — ungewöhnliche Abweichungen in Metriken.

Kosten: 1 Abfrage

ParameterTypeRequiredDefaultDescription
website_idstringYesThe website UUID
severitystringNoFilter: critical, warning, info
metricstringNoFilter by metric (e.g. visitors, bounce_rate)
limitnumberNo10Max anomalies (1-50)
RequestJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "get_anomalies",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
  }
}
}
ResponseJSON
{
"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

Erstellen Sie eine wöchentliche Leistungszusammenfassung, die diese Woche mit der letzten Woche vergleicht.

Kosten: 1 Abfrage

ParameterTypeRequiredDescription
website_idstringYesThe website UUID
RequestJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "get_weekly_digest",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
  }
}
}
ResponseJSON
{
"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

Erhalten Sie KI-gestützte Optimierungsempfehlungen.

Kosten: 1 Abfrage

ParameterTypeRequiredDefaultDescription
website_idstringYesThe website UUID
categorystringNoFilter: performance, engagement, conversion, seo
limitnumberNo5Max recommendations (1-20)
RequestJSON
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "get_recommendations",
  "arguments": {
    "website_id": "2ea8af07-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "category": "performance"
  }
}
}
ResponseJSON
{
"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
}

Verwaltungs-Tools

21. list_websites

Listet alle Websites auf, auf die der aktuelle API-Schlüssel zugreifen kann.

Kosten: 1 Abfrage

Dieses Tool benötigt keine Parameter. Schlüssel mit Vollzugriff sehen alle Team-Websites; seiten-begrenzte Schlüssel sehen nur ihre zugewiesene Website.

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

Erstellt ein benutzerdefiniertes Konversionsziel. Erfordert read_write-Modus.

Kosten: 1 Abfrage

ParameterTypErforderlichBeschreibung
website_idstringJaDie Website-UUID
namestringJaZielname (max. 100 Zeichen)
goal_typestringJaurl_match, element_click oder custom_event
url_patternstringFür url_matchURL-Muster zum Abgleich
url_match_typestringNeinexact, contains, starts_with, ends_with, regex (Standard: contains)
css_selectorstringFür element_clickCSS-Selektor des Elements
event_namestringFür custom_eventName des benutzerdefinierten Ereignisses zum Nachverfolgung
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

Erstellt oder aktualisiert einen Konversionstrichter. Erfordert read_write-Modus.

Kosten: 1 Abfrage

ParameterTypErforderlichBeschreibung
website_idstringJaDie Website-UUID
namestringJaTrichter-Name
stepsarrayJa2–10 geordnete Schritte (siehe unten)
funnel_idstringNeinUUID des bestehenden Trichters zum Aktualisieren

Schritt-Objekt:

FeldTypErforderlichBeschreibung
step_namestringJaAnzeigename
step_typestringJaurl_match, element_click, custom_event
url_patternstringNeinURL-Muster (für url_match)
url_match_typestringNeinexact, 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

Exportiert Analysedaten im JSON- oder CSV-Format.

Kosten: 1 Abfrage | Erfordert: Scale+ (dataExport Feature-Flag)

ParameterTypErforderlichStandardBeschreibung
website_idstringJaDie Website-UUID
formatstringNeinjsonAusgabeformat: csv, json
metricsarrayNein["visitors","pageviews","unique_visitors"]Metriken zum Einschließen
time_rangestringNein30dZeitbereich: 7d, 30d, 90d, 1y

Verfügbare Metriken: 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

Überprüft die aktuelle API-Schlüssel-Nutzung und das verbleibende Kontingent.

Kosten: 1 Abfrage

Dieses Tool benötigt keine Parameter.

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

Ruft die Konfiguration und Einstellungen einer Website ab.

Kosten: 1 Abfrage

ParameterTypErforderlichBeschreibung
website_idstringJaDie Website-UUID
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

Aktualisiert Website-Konfigurationseinstellungen. Erfordert read_write-Modus.

Kosten: 1 Abfrage

ParameterTypErforderlichBeschreibung
website_idstringJaDie Website-UUID
namestringNeinWebsite-Anzeigename
timezonestringNeinIANA-Zeitzone (z. B. America/New_York)
allowed_domainsarrayNeinListe der zulässigen Domänen für das Tracking-Skript
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

Aktiviert oder deaktiviert die Freigabe des öffentlichen Dashboards für eine Website. Erfordert read_write-Modus.

Kosten: 1 Abfrage

ParameterTypErforderlichBeschreibung
website_idstringJaDie Website-UUID
enabledbooleanJatrue zum Aktivieren, false zum Deaktivieren
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

Aktiviert oder deaktiviert den Cookie-losen Tracking-Modus. Erfordert read_write-Modus. Pro-Plan oder höher.

Wenn aktiviert, verwendet das Tracking-Skript SHA-256(IP_subnet + UA + daily_salt) zur Besucheridentifikation anstelle von Cookies oder localStorage.

Kosten: 1 Abfrage

ParameterTypErforderlichBeschreibung
website_idstringJaDie Website-UUID
enabledbooleanJatrue zum Aktivieren, false zum Deaktivieren
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"
}
}

Cookie-loses Tracking ist datenschutzfreundlich. Es werden keine Cookies oder localStorage verwendet. Die Besucheridentifikation wird serverseitig mit einem täglich rotierenden Salt berechnet.


30. get_tracking_code

Ruft das Tracking-Code-Snippet für eine Website ab. Verwenden Sie dies, um das Script-Tag zum Installieren auf Ihrer Website abzurufen.

Kosten: 1 Abfrage

ParameterTypErforderlichBeschreibung
website_idstringJaDie Website-UUID
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

Generiert einen neuen Tracking-Code für eine Website. Erfordert read_write-Modus.

Dies macht den vorherigen Tracking-Code ungültig. Sie müssen das Script-Tag auf Ihrer Website nach der Regenerierung aktualisieren.

Kosten: 1 Abfrage

ParameterTypErforderlichBeschreibung
website_idstringJaDie Website-UUID
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

Listet alle Ziele für eine Website mit ihrem aktuellen Status und Konversionsraten auf.

Kosten: 1 Abfrage

ParameterTypErforderlichStandardBeschreibung
website_idstringJaDie Website-UUID
include_inactivebooleanNeinfalseDeaktivierte Ziele einschließen
time_rangestringNein30dZeitbereich für Konversionsstatistiken: 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

Aktualisiert die Konfiguration eines bestehenden Ziels. Erfordert read_write-Modus.

Kosten: 1 Abfrage

ParameterTypErforderlichBeschreibung
website_idstringJaDie Website-UUID
goal_idstringJaDie Ziel-UUID
namestringNeinAktualisierter Zielname
url_patternstringNeinAktualisiertes URL-Muster
url_match_typestringNeinexact, contains, starts_with, ends_with, regex
css_selectorstringNeinAktualisierter CSS-Selektor
event_namestringNeinAktualisierter Ereignisname
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

Löscht ein Ziel dauerhaft. Erfordert read_write-Modus.

Kosten: 1 Abfrage

ParameterTypErforderlichBeschreibung
website_idstringJaDie Website-UUID
goal_idstringJaDie zu löschende Ziel-UUID
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

Aktiviert oder deaktiviert ein Ziel, ohne es zu löschen. Erfordert read_write-Modus.

Kosten: 1 Abfrage

ParameterTypErforderlichBeschreibung
website_idstringJaDie Website-UUID
goal_idstringJaDie Ziel-UUID
is_activebooleanJatrue zum Aktivieren, false zum Deaktivieren
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

Listet alle Trichter für eine Website auf.

Kosten: 1 Abfrage

ParameterTypErforderlichBeschreibung
website_idstringJaDie Website-UUID
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

Löscht einen Trichter dauerhaft. Erfordert read_write-Modus.

Kosten: 1 Abfrage

ParameterTypErforderlichBeschreibung
website_idstringJaDie Website-UUID
funnel_idstringJaDie zu löschende Trichter-UUID
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

Löscht eine Website und alle ihre Analysedaten dauerhaft. Erfordert read_write-Modus und full_access-Schlüssel.

Diese Aktion ist nicht rückgängig zu machen. Alle Analysedaten, Ziele, Trichter und Einstellungen für diese Website werden dauerhaft gelöscht.

Kosten: 1 Abfrage

ParameterTypErforderlichBeschreibung
website_idstringJaDie zu löschende Website-UUID
confirmbooleanJaMuss true sein, um die Löschung zu bestätigen
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

Erstellt eine neue Website zum Tracking. Erfordert read_write-Modus und full_access-Schlüssel.

Kosten: 1 Abfrage

ParameterTypErforderlichBeschreibung
domainstringJaDie Website-Domäne (z. B. docs.example.com)
namestringNeinAnzeigename (Standardeinstellung: die Domäne)
timezonestringNeinIANA-Zeitzone (Standard: 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>"
}

Einstellungs-Tools

39. add_ip_exclusion

Fügt eine IP-Adresse oder einen CIDR-Bereich zur Ausschlussliste hinzu. Besucher von ausgeschlossenen IPs werden nicht nachverfolgt. Erfordert read_write-Modus.

Kosten: 1 Abfrage

ParameterTypErforderlichBeschreibung
website_idstringJaDie Website-UUID
ip_addressstringJaIP-Adresse oder CIDR-Bereich (z. B. 192.168.1.0/24)
labelstringNeinBeschreibende Bezeichnung (z. B. „Büronetzwerk")
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

Entfernt eine IP-Adresse aus der Ausschlussliste. Erfordert read_write-Modus.

Kosten: 1 Abfrage

ParameterTypErforderlichBeschreibung
website_idstringJaDie Website-UUID
exclusion_idstringJaDie zu entfernende Ausschluss-UUID
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

Fügt ein URL-Pfad-Muster hinzu, das von der Nachverfolgung ausgeschlossen werden soll. Seiten, die dem Muster entsprechen, generieren keine Analyseereignisse. Erfordert read_write-Modus.

Kosten: 1 Abfrage

ParameterTypErforderlichBeschreibung
website_idstringJaDie Website-UUID
path_patternstringJaURL-Pfad-Muster zum Ausschließen (z. B. /admin/*, /internal/health)
match_typestringNeinexact, starts_with, contains, regex (Standard: starts_with)
labelstringNeinBeschreibende Bezeichnung
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

Entfernt einen Pfad-Ausschluss. Erfordert read_write-Modus.

Kosten: 1 Abfrage

ParameterTypErforderlichBeschreibung
website_idstringJaDie Website-UUID
exclusion_idstringJaDie zu entfernende Ausschluss-UUID
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

Listet alle IP- und Pfad-Ausschlüsse für eine Website auf.

Kosten: 1 Abfrage

ParameterTypErforderlichBeschreibung
website_idstringJaDie Website-UUID
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

Ruft die Benachrichtigungseinstellungen für das aktuelle Team ab.

Kosten: 1 Abfrage

ParameterTypErforderlichBeschreibung
website_idstringJaDie Website-UUID
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

Aktualisiert die Benachrichtigungseinstellungen. Erfordert read_write-Modus.

Kosten: 1 Abfrage

ParameterTypErforderlichBeschreibung
website_idstringJaDie Website-UUID
weekly_digest_emailbooleanNeinWöchentliche Zusammenfassung aktivieren/deaktivieren
anomaly_alertsbooleanNeinAnomaliebewachung aktivieren/deaktivieren
anomaly_thresholdstringNeinMinimaler Schweregrad: info, warning, critical
goal_completion_alertsbooleanNeinZielabschlussbenachrichtigungen aktivieren/deaktivieren
uptime_alertsbooleanNeinVerfügbarkeitswarnungen aktivieren/deaktivieren
email_recipientsarrayNeinListe der zu benachrichtigenden E-Mail-Adressen
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"
}
}

Team-Tools

46. get_team_members

Listet alle Mitglieder des Teams auf. Erfordert full_access-Schlüssel.

Kosten: 1 Abfrage

Dieses Tool benötigt keine Parameter.

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

Laden Sie ein neues Mitglied per E-Mail zu Ihrem Team ein. Erfordert read_write-Modus, full_access-Schlüssel und Pro-Plan oder höher.

Kosten: 1 Abfrage

ParameterTypErforderlichBeschreibung
emailstringJaE-Mail-Adresse zum Einladen
rolestringNeinRolle: member (Standard) oder 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

Entfernt ein Mitglied aus dem Team. Erfordert read_write-Modus und full_access-Schlüssel.

Sie können den Team-Eigentümer nicht entfernen. Das Mitglied verliert sofort den Zugriff auf alle Team-Websites.

Kosten: 1 Abfrage

ParameterTypErforderlichBeschreibung
member_idstringJaDie Benutzer-ID des zu entfernenden Mitglieds
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]"
}

API-Schlüssel-Tools

50. list_api_keys

Listet alle API-Schlüssel für das aktuelle Team auf. Gibt Schlüssel-Metadaten zurück (nicht die Schlüsselwerte selbst).

Kosten: 1 Abfrage

Dieses Tool benötigt keine Parameter.

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

Erstellt einen neuen API-Schlüssel. Erfordert read_write-Modus.

Kosten: 1 Abfrage

ParameterTypErforderlichBeschreibung
namestringJaAnzeigename für den Schlüssel
typestringJafull_access oder site_access
website_idstringNeinErforderlich für site_access-Schlüssel
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."
}

Der vollständige API-Schlüsselwert wird nur einmal zum Zeitpunkt der Erstellung zurückgegeben. Speichern Sie ihn sicher.


52. revoke_api_key

Widerruft (löscht) einen API-Schlüssel. Erfordert read_write-Modus.

Kosten: 1 Abfrage

ParameterTypErforderlichBeschreibung
key_idstringJaDie zu widerrufende API-Schlüssel-ID
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

Ruft detaillierte Informationen zu einem bestimmten API-Schlüssel ab.

Kosten: 1 Abfrage

ParameterTypErforderlichBeschreibung
key_idstringJaDie API-Schlüssel-ID
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

Aktualisiert die MCP-Berechtigungen für einen API-Schlüssel. Erfordert read_write-Modus.

Kosten: 1 Abfrage

ParameterTypErforderlichBeschreibung
key_idstringJaDie API-Schlüssel-ID
mcp_enabledbooleanNeinMCP-Zugriff aktivieren oder deaktivieren
mcp_modestringNeinread_only oder read_write
permissionsobjectNeinSchalter für Funktionsgruppen (z. B. {"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
}
}

Uptime-Tools

55. list_uptime_monitors

Listet alle Uptime-Monitore des aktuellen Teams auf.

Kosten: 1 Abfrage

Dieses Tool nimmt keine Parameter an.

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

Ruft aktuellen Status und Antwortzeit für einen bestimmten Monitor ab.

Kosten: 1 Abfrage

ParameterTypErforderlichBeschreibung
monitor_idstringJaDie Monitor-UUID
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

Erstellt einen neuen Uptime-Monitor. Erfordert Schreibzugriff.

Kosten: 1 Abfrage

ParameterTypErforderlichBeschreibung
urlstringJaDie zu überwachende URL
namestringNeinAnzeigename (Standard: URL-Hostname)
intervalnumberNeinPrüfintervall in Sekunden (Standard: 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

Löscht einen Uptime-Monitor. Erfordert Schreibzugriff.

Kosten: 1 Abfrage

ParameterTypErforderlichBeschreibung
monitor_idstringJaDie zu löschende Monitor-UUID
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

Ruft Uptime-Verlauf und Ereignisprotokoll für einen Monitor ab.

Kosten: 1 Abfrage

ParameterTypErforderlichBeschreibung
monitor_idstringJaDie Monitor-UUID
time_rangestringNeinZeitspanne: 24h, 7d, 30d, 90d (Standard: 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
}

Website-Verwaltungstools (60-64)

60. update_website_name

Aktualisiert den Anzeigenamen einer Website. Erfordert Schreibzugriff.

Kosten: 1 Abfrage

ParameterTypErforderlichBeschreibung
website_idstringJaDie Website-UUID
namestringJaNeuer Anzeigename
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

Aktualisiert die Zeitzone einer Website. Wirkt sich auf die Aggregation täglicher Analysen aus. Erfordert Schreibzugriff.

Kosten: 1 Abfrage

ParameterTypErforderlichBeschreibung
website_idstringJaDie Website-UUID
timezonestringJaIANA-Zeitzone (z. B. 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

Aktualisiert die Domain einer Website. Erfordert Schreibzugriff.

Kosten: 1 Abfrage

ParameterTypErforderlichBeschreibung
website_idstringJaDie Website-UUID
domainstringJaNeue Domain (z. B. 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

Setzt die Analysenerfassung für eine Website vorübergehend aus. Es werden keine neuen Ereignisse aufgezeichnet. Erfordert Schreibzugriff.

Kosten: 1 Abfrage

ParameterTypErforderlichBeschreibung
website_idstringJaDie Website-UUID
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

Setzt die Analysenerfassung für eine angehaltene Website fort. Erfordert Schreibzugriff.

Kosten: 1 Abfrage

ParameterTypErforderlichBeschreibung
website_idstringJaDie Website-UUID
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"
}

Berichtstools (65-69)

65. schedule_report

Zeitplant einen wiederkehrenden Analysebericht zum Versand per E-Mail. Erfordert Schreibzugriff.

Kosten: 1 Abfrage

ParameterTypErforderlichBeschreibung
website_idstringJaDie Website-UUID
frequencystringJadaily, weekly oder monthly
recipientsarrayJaListe der E-Mail-Adressen
metricsarrayNeinSpezifische einzubeziehende Kennzahlen (Standard: alle)
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

Ruft die Konfiguration des geplanten Berichts für eine Website ab.

Kosten: 1 Abfrage

ParameterTypErforderlichBeschreibung
website_idstringJaDie Website-UUID
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

Bricht einen geplanten Bericht ab. Erfordert Schreibzugriff.

Kosten: 1 Abfrage

ParameterTypErforderlichBeschreibung
report_idstringJaDie Bericht-Zeitplan-ID zum Abbrechen
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

Ruft den Verlauf der Datenexporte für eine Website ab.

Kosten: 1 Abfrage

ParameterTypErforderlichBeschreibung
website_idstringJaDie Website-UUID
limitnumberNeinMax. Ergebnisse (Standard: 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

Ruft die Datenspeicherungsrichtlinie für eine Website auf Grundlage des aktuellen Plans ab.

Kosten: 1 Abfrage

ParameterTypErforderlichBeschreibung
website_idstringJaDie Website-UUID
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"
}

Umsatz- & Datentools (70-75)

70. set_revenue_currency

Legt die Standard-Anzeigewährung für Umsätze einer Website fest. Verwendet ISO-4217-Währungscodes. Erfordert Schreibzugriff.

Kosten: 1 Abfrage

ParameterTypErforderlichBeschreibung
website_idstringJaDie Website-UUID
currencystringJaISO-4217-Währungscode (z. B. 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

Ruft umsatzbezogene Einstellungen für eine Website ab, einschließlich der konfigurierten Währung und Feldzuordnungen.

Kosten: 1 Abfrage

ParameterTypErforderlichBeschreibung
website_idstringJaDie Website-UUID
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

Fügt eine Domain zur CORS-Whitelist hinzu. Nur auf der Whitelist eingetragene Domains können Verfolgungsdaten an diese Website senden. Erfordert Schreibzugriff.

Kosten: 1 Abfrage

ParameterTypErforderlichBeschreibung
website_idstringJaDie Website-UUID
domainstringJaDomain zum Eintrag auf Whitelist (z. B. 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

Entfernt eine Domain aus der CORS-Whitelist. Erfordert Schreibzugriff.

Kosten: 1 Abfrage

ParameterTypErforderlichBeschreibung
website_idstringJaDie Website-UUID
domainstringJaDomain, die aus der Whitelist entfernt wird
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

Listet alle Domains in der CORS-Whitelist für eine Website auf.

Kosten: 1 Abfrage

ParameterTypErforderlichBeschreibung
website_idstringJaDie Website-UUID
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

Löscht alle Daten eines bestimmten Besuchers von einer Website. Wird für die DSGVO-Compliance verwendet (Recht auf Löschung). Diese Aktion ist nicht rückgängig zu machen. Erfordert Schreibzugriff.

Kosten: 1 Abfrage

ParameterTypErforderlichBeschreibung
website_idstringJaDie Website-UUID
visitor_idstringJaDie Besucher-UUID, deren Daten gelöscht werden sollen
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"
}

Dies löscht dauerhaft alle Besucherdaten einschließlich Seitenaufrufe, Sitzungen und Ereignisse. Dies kann nicht rückgängig gemacht werden.


Beispiele für mehrstufige Arbeitsabläufe

Diese Beispiele zeigen komplette Request-Response-Ketten für häufige Aufgaben. Jeder Schritt verwendet das oben beschriebene JSON-RPC-Format.

Wöchentlicher Verkehrsbericht

Ein typischer Berichtsablauf: Websites entdecken, dann Besucherstatistiken, Top-Seiten und Verkehrsquellen abrufen.

Schritt 1 — Websites entdecken:

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

Schritt 2 — Besucherübersicht abrufen:

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

Schritt 3 — Top-Seiten abrufen:

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

Schritt 4 — Verkehrsquellen abrufen:

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

Gesamtkosten: 4 Abfragen (1 + 1 + 1 + 1)


Performance Audit

Identifizieren Sie Performance-Probleme, Fehler und erhalten Sie KI-Empfehlungen.

Schritt 1 — Websites auflisten (wie oben, website_id abrufen)

Schritt 2 — Core Web Vitals prüfen:

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

Schritt 3 — Fehler prüfen:

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

Schritt 4 — KI-Empfehlungen abrufen:

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

Gesamtkosten: 4 Abfragen (1 + 1 + 1 + 1)


Schnelle Zustandsprüfung

Schnelle Prüfung der verbleibenden Quote und aktuellen Live-Besucher — ideal am Anfang einer Sitzung.

Schritt 1 — Verbleibende Quote prüfen:

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

Schritt 2 — Live-Besucher prüfen:

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

Gesamtkosten: 2 Abfragen (1 + 1)


Woche-zu-Woche-Vergleich

Vergleichen Sie die Kennzahlen dieser Woche mit der letzten Woche, um Trends zu ermitteln.

Schritt 1 — Websites auflisten (website_id abrufen)

Schritt 2 — Zeiträume vergleichen:

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

Schritt 3 — Anomalien erkennen:

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

Gesamtkosten: 3 Abfragen (1 + 1 + 1)


Website-Einrichtung & Konfiguration

Richten Sie eine neue Website mit Ausschlüssen und Cookie-freier Verfolgung ein.

Schritt 1 — Website erstellen:

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

Schritt 2 — Cookie-freie Verfolgung aktivieren:

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

Schritt 3 — Büro-IP ausschließen:

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

Schritt 4 — Verfolgungscode zum Installieren abrufen:

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

Gesamtkosten: 4 Abfragen (1 + 1 + 1 + 1)


Neue Tools

76. get_retention_data

Ruft Kohorten-Retentionsanalyse ab, die zeigt, wie gut Ihre Website Besucher im Laufe der Zeit behält. Gibt Kohortendaten gruppiert nach dem Besuch-Zeitraum des Besuchers zurück.

Kosten: 1 Abfrage | Erfordert: Pro+ (retentionAnalysis Feature-Flag)

ParameterTypErforderlichStandardBeschreibung
website_idstringJaDie Website-UUID
time_rangestringNein30dZeitspanne: 7d, 30d, 90d, 1y
cohort_sizestringNeinweekKohortengrupierung: 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

Ruft Besucherprofile mit Sitzungsverlauf und Verhaltensdaten ab. Gibt einzelne Besucherdatensätze mit ihrem Besuchsverlauf, angesehenen Seiten und Engagement-Kennzahlen zurück.

Kosten: 1 Abfrage

ParameterTypErforderlichStandardBeschreibung
website_idstringJaDie Website-UUID
limitnumberNein20Zurückzugebende Profile (1-50)
country_codestringNeinFilterung nach ISO-Ländercode (z. B. US, DE)
min_sessionsnumberNeinMinimale Anzahl von Sitzungen
time_rangestringNein30dZeitspanne: 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
}

JSON-RPC-Protokollreferenz

Alle MCP-Anfragen verwenden das JSON-RPC 2.0-Format:

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

Verfügbare Methoden:

MethodeBeschreibung
initializeHandshake — gibt Serverinfo und Fähigkeiten zurück
tools/listListet alle verfügbaren Tools mit Schemas auf
tools/callFührt ein Tool aus
pingZustandsprüfung

Fehler-Antwortformat:

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

Siehe Berechtigungen & Limits für die vollständige Fehlercod-Referenz.

War diese Seite hilfreich?