Skip to main content
Glama

Compare before and after each event

compare_events
Read-only

Compares metrics before and after each app event to show what followed, using visibility score or keyword rank, with adjustable window.

Instructions

Measure what followed each event of an application: the user's notes and the app updates detected, newest first, over the last year. For each event, the average over the window days before against the same number of days after (the event day itself in neither): the app's visibility score (0-100, higher is better) by default, or with keyword_id, that keyword's rank for the app (lower is better, so a negative change means the app climbed; a day outside the top 100 counts as #101, and unranked_days says how many there were). Returns metric, window_days, history_start, total (how many events there are) and comparisons[] (the newest limit) of { day, notes[], app_updates[], before, after, change, locked, alongside }, where before/after hold { from, to, average, measured_days, pending_days (not measured yet), hidden_days (before the plan's history) }. alongside names the other notes, app updates and store algorithm updates inside the same days: a comparison describes what followed an event, not what caused it, so read it with them. Read-only.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoHow many comparisons, newest first: 1 to 100, default 20
app_idYesThe application internal ID (numeric, from list_applications results)
windowNoDays compared on each side of an event: 7 (default), 14 or 30
keyword_idNoA keyword internal ID (from list_keywords) to compare its rank for this app instead of the visibility score

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.7.0

TDQS

A4.2/5.0
Behavior5/5

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

Annotations already declare read-only/non-destructive, but the description adds substantial context: the causal caveat ('what followed... not what caused it'), metric direction, top-100 cap, unranked_days, pending_days, hidden_days, and the 'alongside' field. This is richer than the safety annotations and appropriately transparent.

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?

Dense but front-loaded, opening with the core measurement purpose and then unpacking return semantics. Every sentence adds needed context for a complex comparison tool without an output schema, though the single-paragraph nested format is heavy.

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?

Given a complex, read-only tool with no output schema, the description supplies return structure, metric behavior, data limitations, and the causality caveat. Together with annotations and fully covered input schema, an agent has enough to invoke and interpret it 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 100%, so all four parameters are documented structurally; the description largely duplicates those fields while clarifying window-day symmetry and keyword-rank direction. Baseline 3 is appropriate because the schema already does the heavy lifting, with only marginal added meaning.

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

Purpose5/5

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

States a specific verb ('Measure what followed each event') and resource (application events, user notes, app updates), and distinguishes the default visibility-score metric from the keyword-rank alternative via keyword_id. An agent can tell this apart from general history tools like get_app_score_history.

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

Usage Guidelines3/5

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

Implies the use case—comparing before/after windows around application events over the last year—but does not state when to choose this over history-specific siblings such as get_app_score_history or get_keyword_rank_history. It gives clear context but lacks explicit alternatives or exclusions.

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