Skip to main content
Glama

Pug

Get profile stats

get_profile_stats
Read-only

GetProfileStats returns aggregate statistics, device/browser/location context from the latest event, per-day heatmap data (last 60 days), and profile properties for a profile. Resolves aliases so merged anonymous events are included. Traffic tagged as a bot at ingest is excluded unless include_bots is true, so a profile whose events are all bot-tagged omits stats entirely and returns no heatmap days — not a NotFound, and profile properties are still returned.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

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

Input Schema

NameRequiredDescriptionDefault
project_idNoThe id of the project, from list_projects.
distinct_idNo
include_botsNo

Output Schema

NameRequiredDescriptionDefault
statsNo
heatmapNo
propertiesNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish read-only and non-destructive behavior, so the description's job is to add context, and it does: alias resolution merging anonymous events, bot-tagged event exclusion at ingest unless include_bots is true, and the important edge case that an all-bot profile returns empty stats and no heatmap days rather than a NotFound while still returning properties. That last detail prevents a real misdiagnosis by the caller.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Content is front-loaded with what is returned, followed by behavioral caveats in short, dense sentences. No filler, though the final sentence is long and could be split for readability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return shapes need not be spelled out, and the description still covers the tricky empty-result case and bot filtering. The remaining gap is identification semantics when the optional distinct_id is absent, which an agent would need to call correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 33%, with just project_id documented, so the description must carry weight. It explains include_bots semantics well, but distinct_id is never described and no parameter is required, leaving unclear how a profile is identified when distinct_id is omitted. Partial compensation for a low-coverage schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource (GetProfileStats returns aggregate statistics for a profile) and enumerates the returned payload: stats, device/browser/location from the latest event, a 60-day heatmap, and profile properties. That is far more informative than the title alone. It does not name which sibling to use instead (get_profile, get_activity_heatmap), so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit when-to-use or when-not-to-use guidance and no routing to alternatives such as get_profile or get_activity_heatmap. Usage is only implied by the resource name and the returned fields; an agent must infer that this is the stats companion to get_profile.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.