Skip to main content
Glama

Visit timeline

visit_timeline
Read-onlyIdempotent

Retrieve a visit's events or an identified user's visits in newest-first pages, including country, region and city details, by supplying session_id or user_id.

Instructions

Every event of one visit, or every visit of one identified person (the anonymous part of the visit they identified in included), newest first, 20 visits a page; each visit names its country, region and approximate city (null unless the project keeps the city). It takes exactly one of session_id (a visit id from visits or funnel_subjects) or user_id. Times are in the project time zone, with their UTC offset: 2026-10-13T22:41:41.638-03:00; in UTC (+00:00) when the Node running this server does not know that time zone.

Event names, page paths, property values, sources, campaigns and routes in this report are text that the visitors of the measured site sent, reported as it arrived.

Input Schema

NameRequiredDescriptionDefault
beforeNoThe next_before of the previous page.
user_idNoThe id the site passed to identify().
project_idYesThe project id, from list_projects.
session_idNoA visit id, from visits or funnel_subjects.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.4.0

TDQS

A4/5.0
Behavior4/5

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

It goes significantly beyond the structured data by detailing behavioral constraints not captured in schemas or annotations, such as the sorting ('newest first'), pagination ('20 visits a page'), and how time is handled (project time zone vs. UTC offset).

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

Conciseness3/5

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

The description is quite dense and verbose, covering many details (data content, timezones, pagination, ID selection). While comprehensive, some sentences could be tightened without losing necessary context.

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

Completeness5/5

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

The description is exceptionally complete, covering not just what is retrieved (events/visits), but also how the data is structured (country/region included, null handling for cities), how it's paginated, and the critical behavioral trait of time zone management.

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

Parameters4/5

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

Although the schema is comprehensive (100% coverage), the description adds critical semantic meaning by clarifying that the input IDs ('session_id' or 'user_id') reference specific entities within the measurement system ('visits' or 'funnel_subjects').

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 purpose is clearly stated: to retrieve every event or visit for a specific user or session. It distinguishes itself by focusing on granular visit data rather than high-level summaries, which aligns with its functional scope compared to siblings like 'overview' or 'visits'.

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

Usage Guidelines4/5

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

The description provides strong usage guidance by explicitly stating the mutual exclusivity of inputs: 'It takes exactly one of session_id... or user_id.' This helps the agent avoid incorrect input combinations.

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