# Convai Analytics (npm · @convai/analytics-mcp)

Analyze Convai sessions, latency, reliability, usage, and provider telemetry via API key.

- Trust score: 77/100 (medium)
- Change this week: +25
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- npm · `@convai/analytics-mcp`: 77/100 (this document), [markdown](https://verifymcp.io/servers/conv-ai-convai-analytics-mcp/convai-analytics-mcp.md), [page](https://verifymcp.io/servers/conv-ai-convai-analytics-mcp/convai-analytics-mcp)

## Channel facts

- Registry: `npm`
- Package: `@convai/analytics-mcp`
- Version: `0.2.5`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Supply Chain Security**: 87/100
  - No malware found by supply-chain analysis.
  - Only part of the dependency tree could be resolved (96 of 100), so this covers what we could see, not the whole tree.
  - No install/post-install scripts declared.
  - Only part of the dependency tree could be resolved (96 of 100), so this covers what we could see, not the whole tree.
- **Provenance & Transparency**: 84/100
  - Source repository is publicly reachable at the declared URL.
  - Cryptographically verified build provenance (signed, bound to Conv-AI/convai-analytics).
  - License check failed: the license (UNLICENSED) isn't a recognized OSI-approved license.
  - Actively maintained (last published 83 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 79/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 5091 tokens (~106/item across 48 items; 44 tools + 4 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 96/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 88% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add conv-ai-convai-analytics-mcp -- npx -y @convai/analytics-mcp
```

### Codex

```bash
codex mcp add conv-ai-convai-analytics-mcp -- npx -y @convai/analytics-mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "conv-ai-convai-analytics-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@convai/analytics-mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add conv-ai-convai-analytics-mcp --command npx --arg -y --arg @convai/analytics-mcp
```

### Hermes

```yaml
mcp_servers:
  conv-ai-convai-analytics-mcp:
    command: "npx"
    args: ["-y", "@convai/analytics-mcp"]
```

### Other

```json
{
  "mcpServers": {
    "conv-ai-convai-analytics-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@convai/analytics-mcp"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-03 (score 77, +11)

- [security improvement] Known CVEs: unverified → partial
- [functional improvement] Dependency health: unverified → partial
- [functional improvement] Stability: unverified → 0.27

### 2026-08-02 (score 66, +5)

- [security regression] Known CVEs: partial → unverified
- [security improvement] Malware scan: unverified → pass
- [functional regression] Dependency health: partial → unverified

### 2026-08-01 (score 61, +27)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-31 (score 34, −18)

- [security regression] Malware scan: pass → unverified

### 2026-07-27 (score 52)

First indexed and scored.

## MCP tools (44)

### `get_summary` (~82 tokens)

Get Analytics Summary

Answer account-level questions like how many sessions, interactions, unique end users, errors, and headline latency percentiles happened in a time range.

Input parameters:

- `appKey` (string): Optional Convai app key filter.
- `characterId` (string): Optional character filter.
- `experienceId` (string): Optional experience filter.
- `range` (string): Relative time range.

### `get_metrics_catalog` (~36 tokens)

Get Metrics Catalog

List the public metrics this account can query so an agent can choose the right latency, reliability, usage, provider, or model metric.

### `list_sessions` (~121 tokens)

List Sessions

Find recent, longest, or slowest sessions for the caller's account before drilling into a session timeline or interaction trace.

Input parameters:

- `appKey` (string): Optional Convai app key filter.
- `characterId` (string): Optional character filter.
- `cursor` (string): Opaque pagination cursor returned by the previous call.
- `endUserId` (string): Optional end-user filter.
- `experienceId` (string): Optional experience filter.
- `limit` (integer)
- `range` (string): Relative time range.
- `sort` (string)

### `get_session_timeline` (~43 tokens)

Get Session Timeline

Show the timeline of metrics and interaction ids inside one session, useful for explaining why a session felt slow.

Input parameters:

- `sessionId` (string, required): Convai session id.

### `get_interaction_trace` (~41 tokens)

Get Interaction Trace

Show the per-request component spans for one interaction id, including processor/provider/model durations where available.

Input parameters:

- `interactionId` (string, required): Convai interaction id.

### `get_first_response_summary` (~150 tokens)

Get First Response Summary

Character-first, mode-specific first-response SLA P50/P95/P99. Defaults include turn 1; use turnScope=warm for turn_id > 1.

Input parameters:

- `characterId` (string, required): Character id. Required for SLA views.
- `latencyKind` (string): Primary maps by observed mode: voice+animation -> all_modalities_ready, voice -> first_voice, text -> first_text.
- `mode` (string): Optional observed mode, e.g. voice_to_voice_animation.
- `range` (string): Relative time range.
- `turnScope` (string): Turn scope: all includes turn 1, warm is turn_id > 1, cold is turn_id = 1.

### `get_first_response_timeseries` (~158 tokens)

Get First Response Timeseries

Bucketed first-response SLA P50/P95/P99 for one character and optional observed mode.

Input parameters:

- `characterId` (string, required): Character id. Required for SLA views.
- `granularity` (string): Bucket size for trend charts.
- `groupBy` (string)
- `latencyKind` (string): Primary maps by observed mode: voice+animation -> all_modalities_ready, voice -> first_voice, text -> first_text.
- `mode` (string): Optional observed mode, e.g. voice_to_voice_animation.
- `range` (string): Relative time range.
- `turnScope` (string): Turn scope: all includes turn 1, warm is turn_id > 1, cold is turn_id = 1.

### `get_first_response_breakdown` (~164 tokens)

Get First Response Breakdown

Group first-response SLA P50/P95/P99 for one character by mode, settings_hash, stage, provider, model, status, or turn_scope.

Input parameters:

- `characterId` (string, required): Character id. Required for SLA views.
- `groupBy` (string)
- `latencyKind` (string): Primary maps by observed mode: voice+animation -> all_modalities_ready, voice -> first_voice, text -> first_text.
- `limit` (integer)
- `mode` (string): Optional observed mode, e.g. voice_to_voice_animation.
- `range` (string): Relative time range.
- `turnScope` (string): Turn scope: all includes turn 1, warm is turn_id > 1, cold is turn_id = 1.

### `get_first_response_markers` (~133 tokens)

Get First Response Settings Markers

Return settings-hash change markers for one character's first-response latency graph.

Input parameters:

- `characterId` (string, required): Character id. Required for SLA views.
- `latencyKind` (string): Primary maps by observed mode: voice+animation -> all_modalities_ready, voice -> first_voice, text -> first_text.
- `mode` (string): Optional observed mode, e.g. voice_to_voice_animation.
- `range` (string): Relative time range.
- `turnScope` (string): Turn scope: all includes turn 1, warm is turn_id > 1, cold is turn_id = 1.

### `get_first_response_settings` (~61 tokens)

Get First Response Settings Snapshot

Fetch one sanitized latency-relevant settings snapshot by settings hash.

Input parameters:

- `characterId` (string): Optional character id filter.
- `range` (string): Relative lookup window.
- `settingsHash` (string, required): Settings hash from a first-response row or marker.

### `get_interaction_first_response` (~34 tokens)

Get Interaction First Response Waterfall

Return the additive first-response waterfall for one interaction id.

Input parameters:

- `interactionId` (string, required): Convai interaction id.

### `get_p95_latency_over_time` (~141 tokens)

Get P95 Latency Over Time

Answer whether p95 end-to-end voice latency is getting better or worse over time.

Input parameters:

- `appKey` (string): Optional Convai app key filter.
- `characterId` (string): Optional character filter.
- `endUserId` (string): Optional end-user filter.
- `experienceId` (string): Optional experience filter.
- `granularity` (string): Bucket size for trend charts.
- `model` (string): Optional model filter.
- `processor` (string): Optional processor filter.
- `provider` (string): Optional provider filter.
- `range` (string): Relative time range.
- `status` (string): Optional status filter.

### `get_latency_percentile_series` (~152 tokens)

Get Latency Percentile Series

Fetch one raw P50/P95/P99 end-to-end latency timeseries for custom analysis or charting.

Input parameters:

- `appKey` (string): Optional Convai app key filter.
- `characterId` (string): Optional character filter.
- `endUserId` (string): Optional end-user filter.
- `experienceId` (string): Optional experience filter.
- `granularity` (string): Bucket size for trend charts.
- `model` (string): Optional model filter.
- `percentile` (string)
- `processor` (string): Optional processor filter.
- `provider` (string): Optional provider filter.
- `range` (string): Relative time range.
- `status` (string): Optional status filter.

### `get_latency_percentile_chart` (~148 tokens)

Generate Latency Percentile Chart

Generate a Vega-Lite line chart for aggregate P50/P95/P99 latency distribution over time for production readiness sign-off.

Input parameters:

- `appKey` (string): Optional Convai app key filter.
- `characterId` (string): Optional character filter.
- `endUserId` (string): Optional end-user filter.
- `experienceId` (string): Optional experience filter.
- `granularity` (string): Bucket size for trend charts.
- `model` (string): Optional model filter.
- `processor` (string): Optional processor filter.
- `provider` (string): Optional provider filter.
- `range` (string): Relative time range.
- `status` (string): Optional status filter.

### `get_latency_threshold_chart` (~147 tokens)

Generate P95 Threshold Chart

Generate a Vega-Lite chart showing p95 latency against a production-readiness threshold.

Input parameters:

- `appKey` (string): Optional Convai app key filter.
- `characterId` (string): Optional character filter.
- `endUserId` (string): Optional end-user filter.
- `experienceId` (string): Optional experience filter.
- `granularity` (string): Bucket size for trend charts.
- `model` (string): Optional model filter.
- `processor` (string): Optional processor filter.
- `provider` (string): Optional provider filter.
- `range` (string): Relative time range.
- `status` (string): Optional status filter.
- `thresholdMs` (number)

### `get_latency_heatmap_chart` (~145 tokens)

Generate Latency Heatmap

Generate a Vega-Lite heatmap of p95 latency by day and UTC hour to spot systemic slow windows.

Input parameters:

- `appKey` (string): Optional Convai app key filter.
- `characterId` (string): Optional character filter.
- `endUserId` (string): Optional end-user filter.
- `experienceId` (string): Optional experience filter.
- `granularity` (string): Bucket size for trend charts.
- `model` (string): Optional model filter.
- `processor` (string): Optional processor filter.
- `provider` (string): Optional provider filter.
- `range` (string): Relative time range.
- `status` (string): Optional status filter.

### `get_component_latency_breakdown` (~132 tokens)

Get Component Latency Breakdown

Answer which processor/component is contributing most to p95 end-to-end latency.

Input parameters:

- `appKey` (string): Optional Convai app key filter.
- `characterId` (string): Optional character filter.
- `endUserId` (string): Optional end-user filter.
- `experienceId` (string): Optional experience filter.
- `model` (string): Optional model filter.
- `percentile` (string)
- `processor` (string): Optional processor filter.
- `provider` (string): Optional provider filter.
- `range` (string): Relative time range.
- `status` (string): Optional status filter.

### `generate_component_latency_chart` (~131 tokens)

Generate Component Latency Chart

Generate a Vega-Lite bar chart showing p95 latency by processor/component.

Input parameters:

- `appKey` (string): Optional Convai app key filter.
- `characterId` (string): Optional character filter.
- `endUserId` (string): Optional end-user filter.
- `experienceId` (string): Optional experience filter.
- `model` (string): Optional model filter.
- `percentile` (string)
- `processor` (string): Optional processor filter.
- `provider` (string): Optional provider filter.
- `range` (string): Relative time range.
- `status` (string): Optional status filter.

### `find_component_latency_bottlenecks` (~144 tokens)

Find Component Latency Bottlenecks

Rank the top latency offenders by component so an agent can explain likely bottlenecks.

Input parameters:

- `appKey` (string): Optional Convai app key filter.
- `characterId` (string): Optional character filter.
- `endUserId` (string): Optional end-user filter.
- `experienceId` (string): Optional experience filter.
- `model` (string): Optional model filter.
- `percentile` (string)
- `processor` (string): Optional processor filter.
- `provider` (string): Optional provider filter.
- `range` (string): Relative time range.
- `status` (string): Optional status filter.
- `topN` (integer)

### `generate_interaction_waterfall` (~40 tokens)

Generate Interaction Waterfall

Generate a Vega-Lite waterfall chart for one interaction id's per-component latency breakdown.

Input parameters:

- `interactionId` (string, required): Convai interaction id.

### `explain_slow_session` (~125 tokens)

Explain Slow Session

Find a traceable slow interaction in a session or slow-session list and return the session timeline, trace, top span, and waterfall chart.

Input parameters:

- `appKey` (string): Optional Convai app key filter.
- `characterId` (string): Optional character filter.
- `endUserId` (string): Optional end-user filter.
- `experienceId` (string): Optional experience filter.
- `limit` (integer)
- `range` (string): Relative time range.
- `sessionId` (string): Optional specific session id. If omitted, the tool scans slow sessions.

### `get_error_trend` (~132 tokens)

Get Error Trend

Answer whether errors are rising or falling over time.

Input parameters:

- `appKey` (string): Optional Convai app key filter.
- `characterId` (string): Optional character filter.
- `endUserId` (string): Optional end-user filter.
- `experienceId` (string): Optional experience filter.
- `granularity` (string): Bucket size for trend charts.
- `model` (string): Optional model filter.
- `processor` (string): Optional processor filter.
- `provider` (string): Optional provider filter.
- `range` (string): Relative time range.
- `status` (string): Optional status filter.

### `generate_error_trend_chart` (~135 tokens)

Generate Error Trend Chart

Generate a Vega-Lite line chart showing errors over time.

Input parameters:

- `appKey` (string): Optional Convai app key filter.
- `characterId` (string): Optional character filter.
- `endUserId` (string): Optional end-user filter.
- `experienceId` (string): Optional experience filter.
- `granularity` (string): Bucket size for trend charts.
- `model` (string): Optional model filter.
- `processor` (string): Optional processor filter.
- `provider` (string): Optional provider filter.
- `range` (string): Relative time range.
- `status` (string): Optional status filter.

### `get_error_breakdown` (~135 tokens)

Get Error Breakdown

Break down errors by processor/component to identify reliability hotspots.

Input parameters:

- `appKey` (string): Optional Convai app key filter.
- `characterId` (string): Optional character filter.
- `endUserId` (string): Optional end-user filter.
- `experienceId` (string): Optional experience filter.
- `groupBy` (string)
- `limit` (integer)
- `model` (string): Optional model filter.
- `processor` (string): Optional processor filter.
- `provider` (string): Optional provider filter.
- `range` (string): Relative time range.
- `status` (string): Optional status filter.

### `generate_error_breakdown_chart` (~138 tokens)

Generate Error Breakdown Chart

Generate a Vega-Lite bar chart of errors by processor/component.

Input parameters:

- `appKey` (string): Optional Convai app key filter.
- `characterId` (string): Optional character filter.
- `endUserId` (string): Optional end-user filter.
- `experienceId` (string): Optional experience filter.
- `groupBy` (string)
- `limit` (integer)
- `model` (string): Optional model filter.
- `processor` (string): Optional processor filter.
- `provider` (string): Optional provider filter.
- `range` (string): Relative time range.
- `status` (string): Optional status filter.

### `get_dropped_error_persist_trend` (~139 tokens)

Get Dropped Error Persist Trend

Track dropped error-persistence events over time as a reliability signal.

Input parameters:

- `appKey` (string): Optional Convai app key filter.
- `characterId` (string): Optional character filter.
- `endUserId` (string): Optional end-user filter.
- `experienceId` (string): Optional experience filter.
- `granularity` (string): Bucket size for trend charts.
- `model` (string): Optional model filter.
- `processor` (string): Optional processor filter.
- `provider` (string): Optional provider filter.
- `range` (string): Relative time range.
- `status` (string): Optional status filter.

### `generate_dropped_error_persist_chart` (~139 tokens)

Generate Dropped Error Persist Chart

Generate a Vega-Lite trend chart for dropped error-persistence events.

Input parameters:

- `appKey` (string): Optional Convai app key filter.
- `characterId` (string): Optional character filter.
- `endUserId` (string): Optional end-user filter.
- `experienceId` (string): Optional experience filter.
- `granularity` (string): Bucket size for trend charts.
- `model` (string): Optional model filter.
- `processor` (string): Optional processor filter.
- `provider` (string): Optional provider filter.
- `range` (string): Relative time range.
- `status` (string): Optional status filter.

### `generate_reliability_summary_chart` (~79 tokens)

Generate Reliability Summary Chart

Generate a Vega-Lite chart of interactions, sessions, errors, and error rate for a time range.

Input parameters:

- `appKey` (string): Optional Convai app key filter.
- `characterId` (string): Optional character filter.
- `experienceId` (string): Optional experience filter.
- `range` (string): Relative time range.

### `generate_reliability_trends_chart` (~140 tokens)

Generate Reliability Trends Chart

Generate a Vega-Lite trend chart that combines errors and dropped persistence events.

Input parameters:

- `appKey` (string): Optional Convai app key filter.
- `characterId` (string): Optional character filter.
- `endUserId` (string): Optional end-user filter.
- `experienceId` (string): Optional experience filter.
- `granularity` (string): Bucket size for trend charts.
- `model` (string): Optional model filter.
- `processor` (string): Optional processor filter.
- `provider` (string): Optional provider filter.
- `range` (string): Relative time range.
- `status` (string): Optional status filter.

### `get_usage_trends` (~145 tokens)

Get Usage Trends

Fetch sessions, interactions, and unique end users over time for usage trend analysis.

Input parameters:

- `appKey` (string): Optional Convai app key filter.
- `characterId` (string): Optional character filter.
- `endUserId` (string): Optional end-user filter.
- `experienceId` (string): Optional experience filter.
- `granularity` (string): Bucket size for trend charts.
- `metrics` (array)
- `model` (string): Optional model filter.
- `processor` (string): Optional processor filter.
- `provider` (string): Optional provider filter.
- `range` (string): Relative time range.
- `status` (string): Optional status filter.

### `generate_usage_trends_chart` (~141 tokens)

Generate Usage Trends Chart

Generate a Vega-Lite chart for sessions, interactions, and unique end users over time.

Input parameters:

- `appKey` (string): Optional Convai app key filter.
- `characterId` (string): Optional character filter.
- `endUserId` (string): Optional end-user filter.
- `experienceId` (string): Optional experience filter.
- `granularity` (string): Bucket size for trend charts.
- `model` (string): Optional model filter.
- `processor` (string): Optional processor filter.
- `provider` (string): Optional provider filter.
- `range` (string): Relative time range.
- `status` (string): Optional status filter.

### `get_character_usage_leaderboard` (~89 tokens)

Get Character Usage Leaderboard

Rank characters by session volume for the selected time range.

Input parameters:

- `appKey` (string): Optional Convai app key filter.
- `characterId` (string): Optional character filter.
- `endUserId` (string): Optional end-user filter.
- `experienceId` (string): Optional experience filter.
- `limit` (integer)
- `range` (string): Relative time range.

### `generate_character_usage_chart` (~88 tokens)

Generate Character Usage Chart

Generate a Vega-Lite leaderboard chart of sessions by character.

Input parameters:

- `appKey` (string): Optional Convai app key filter.
- `characterId` (string): Optional character filter.
- `endUserId` (string): Optional end-user filter.
- `experienceId` (string): Optional experience filter.
- `limit` (integer)
- `range` (string): Relative time range.

### `generate_session_duration_scatter` (~103 tokens)

Generate Session Duration Scatter

Generate a Vega-Lite scatter plot of session duration versus interactions, colored by p95 latency.

Input parameters:

- `appKey` (string): Optional Convai app key filter.
- `characterId` (string): Optional character filter.
- `endUserId` (string): Optional end-user filter.
- `experienceId` (string): Optional experience filter.
- `limit` (integer)
- `range` (string): Relative time range.
- `sort` (string)

### `estimate_active_session_concurrency` (~101 tokens)

Estimate Active Session Concurrency

Estimate active session and LiveKit room pressure from session start/end/duration telemetry.

Input parameters:

- `appKey` (string): Optional Convai app key filter.
- `bucketMinutes` (integer)
- `characterId` (string): Optional character filter.
- `endUserId` (string): Optional end-user filter.
- `experienceId` (string): Optional experience filter.
- `limit` (integer)
- `range` (string): Relative time range.

### `generate_active_session_concurrency_chart` (~99 tokens)

Generate Active Session Concurrency Chart

Generate a Vega-Lite area chart estimating active sessions over time.

Input parameters:

- `appKey` (string): Optional Convai app key filter.
- `bucketMinutes` (integer)
- `characterId` (string): Optional character filter.
- `endUserId` (string): Optional end-user filter.
- `experienceId` (string): Optional experience filter.
- `limit` (integer)
- `range` (string): Relative time range.

### `generate_peak_concurrency_chart` (~101 tokens)

Generate Peak Concurrency Chart

Generate a Vega-Lite chart showing estimated active sessions with a peak concurrency annotation.

Input parameters:

- `appKey` (string): Optional Convai app key filter.
- `bucketMinutes` (integer)
- `characterId` (string): Optional character filter.
- `endUserId` (string): Optional end-user filter.
- `experienceId` (string): Optional experience filter.
- `limit` (integer)
- `range` (string): Relative time range.

### `get_tts_provider_attribution` (~132 tokens)

Get TTS Provider Attribution

Show which TTS voice providers contributed samples in the selected time range.

Input parameters:

- `appKey` (string): Optional Convai app key filter.
- `characterId` (string): Optional character filter.
- `endUserId` (string): Optional end-user filter.
- `experienceId` (string): Optional experience filter.
- `limit` (integer)
- `model` (string): Optional model filter.
- `processor` (string): Optional processor filter.
- `provider` (string): Optional provider filter.
- `range` (string): Relative time range.
- `status` (string): Optional status filter.

### `generate_tts_provider_chart` (~129 tokens)

Generate TTS Provider Chart

Generate a Vega-Lite chart of TTS provider attribution.

Input parameters:

- `appKey` (string): Optional Convai app key filter.
- `characterId` (string): Optional character filter.
- `endUserId` (string): Optional end-user filter.
- `experienceId` (string): Optional experience filter.
- `limit` (integer)
- `model` (string): Optional model filter.
- `processor` (string): Optional processor filter.
- `provider` (string): Optional provider filter.
- `range` (string): Relative time range.
- `status` (string): Optional status filter.

### `get_llm_model_latency` (~132 tokens)

Get LLM Model Latency

Rank LLM models by p95 latency to spot model-driven latency issues.

Input parameters:

- `appKey` (string): Optional Convai app key filter.
- `characterId` (string): Optional character filter.
- `endUserId` (string): Optional end-user filter.
- `experienceId` (string): Optional experience filter.
- `limit` (integer)
- `model` (string): Optional model filter.
- `processor` (string): Optional processor filter.
- `provider` (string): Optional provider filter.
- `range` (string): Relative time range.
- `status` (string): Optional status filter.

### `generate_llm_model_latency_chart` (~133 tokens)

Generate LLM Model Latency Chart

Generate a Vega-Lite chart ranking LLM models by p95 latency.

Input parameters:

- `appKey` (string): Optional Convai app key filter.
- `characterId` (string): Optional character filter.
- `endUserId` (string): Optional end-user filter.
- `experienceId` (string): Optional experience filter.
- `limit` (integer)
- `model` (string): Optional model filter.
- `processor` (string): Optional processor filter.
- `provider` (string): Optional provider filter.
- `range` (string): Relative time range.
- `status` (string): Optional status filter.

### `compare_providers` (~142 tokens)

Compare Providers

Compare provider or model latency for LLM, TTS, ASR, or NeuroSync components.

Input parameters:

- `appKey` (string): Optional Convai app key filter.
- `characterId` (string): Optional character filter.
- `component` (string)
- `endUserId` (string): Optional end-user filter.
- `experienceId` (string): Optional experience filter.
- `model` (string): Optional model filter.
- `percentile` (string)
- `processor` (string): Optional processor filter.
- `provider` (string): Optional provider filter.
- `range` (string): Relative time range.
- `status` (string): Optional status filter.

### `detect_regressions` (~67 tokens)

Detect Regressions

Plan-gated. Detect whether latency regressed in the current window compared with a baseline window.

Input parameters:

- `baselineRange` (string)
- `currentRange` (string)
- `groupBy` (string)
- `measure` (string)
- `threshold` (number)

### `advanced_query` (~44 tokens)

Advanced Query

Plan-gated. Run an advanced analytics query through the public API for questions not covered by curated tools.

Input parameters:

- `query` (object, required): Public analytics query body accepted by the API.

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/conv-ai-convai-analytics-mcp/convai-analytics-mcp#diagnostics

## Score history

- 2026-08-03: 77
- 2026-08-02: 66
- 2026-08-01: 61
- 2026-07-31: 34
- 2026-07-30: 52
- 2026-07-28: 52
- 2026-07-27: 52

## Links

- npm package: https://www.npmjs.com/package/@convai/analytics-mcp
- Socket report: https://socket.dev/npm/package/@convai/analytics-mcp
- Repository: https://github.com/Conv-AI/convai-analytics
- Website: https://github.com/Conv-AI/convai-analytics/tree/main/packages/mcp
- Changelog RSS feed: https://verifymcp.io/servers/conv-ai-convai-analytics-mcp/convai-analytics-mcp/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/conv-ai-convai-analytics-mcp/convai-analytics-mcp/changelog.json
- HTML version of this page: https://verifymcp.io/servers/conv-ai-convai-analytics-mcp/convai-analytics-mcp
