scenario-admin-analytics
Scenario Admin Analytics
Overview
Turn Scenario MCP usage data into answers, CSV, Markdown, a PDF with charts, or an offline dashboard. All Scenario data collection stays on MCP. No direct API, SDK, browser scraping, or credentials in reporting scripts. Use the scenario skill for connection setup. If a sibling skill named here is missing from your available skills, ask the user to install it (npx skills add scenario-labs/skills --skill <name>); unattended, proceed from tool schemas and flag the gap.
Resolve the customer through teams_list and, when needed, projects_list({team_id}). Reuse the user's selected scope. If several names match, ask using the discovered choices; unattended, use the task's explicit team/project ID pair, otherwise stop and list the choices. Never choose the first silently. For an organization-wide request, use scope:"team" with an accessible context project. This covers projects accessible to the credential, not additional access rights. For a project use scope:"project" (default); project_id supplies authentication context and the default analytics filter. project_ids selects other projects within that team and cannot accompany scope:"team". Deduplicate selected IDs. Do not add a team total to its project subtotals or sum project unique-user counts.
Quick reference
| Question | MCP usage data | Calculation |
|---|---|---|
| Top three models | modelUsages |
Sort by totalCU for CU or totalJobs for frequency; show both. |
| All model CU for three months | Add modelUsages.daily |
Export every model, grouping time buckets by UTC month. |
| Who consumed most CU? | consumption, entities |
Rank value; join userId to entities.users[].id. |
| Top models per user | Repeat scoped usage with one user_ids ID |
Rank each response's models; include CU and jobs. |
| Top five users for ten models | Same per-user queries | Select the top ten models overall, then rank five identities within each. |
| Explain a difference | usages.daily, activity |
Inspect recorded evidence; follow activityPagination.nextOffset to null if complete activity is needed. |