Skip to main content
Glama
olaj

unofficial-trackjs-mcp

by olaj

Page views per hour

page_views_by_hour
Read-onlyIdempotent

Retrieves hourly page view counts newest first so you can compare traffic spikes with error spikes using errors_by_hour.

Instructions

Hourly page view counts (times the TrackJS agent loaded) newest first (GET /hits/hourly). Combine with errors_by_hour to see whether a spike in errors is just a spike in traffic.

Input Schema

NameRequiredDescriptionDefault
pageNo1-based page number. Defaults to 1. Use paging.nextPage from a previous result to continue.
sizeNoItems per page, 1-1000. TrackJS defaults to 20. Set to the number of hours wanted, e.g. 48.
endDateNoOnly include data before this ISO 8601 date/date-time (UTC), e.g. 2026-10-08 or 2026-10-08T00:00:00Z. Precision is 1 second.
startDateNoOnly include data after this ISO 8601 date/date-time (UTC), e.g. 2026-10-01 or 2026-10-01T14:00:00Z. Precision is 1 second.
applicationNoLimit results to one TrackJS application key (as configured in TrackJS). Omit for all applications.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, open-world behavior, so the safety profile is covered. The description adds useful beyond-schema context: result ordering (newest first) and the fact that the metric counts agent loads rather than page renders, which affects interpretation.

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

Conciseness5/5

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

Two sentences, zero filler. The definition and ordering come first and the cross-tool usage hint follows, so the most important identification information is front-loaded.

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?

For a read-only list tool with a fully documented schema and no output schema, the description covers the metric definition, ordering, and a cross-referencing use case. Minor gap: it doesn't characterize the returned record fields, though the ordering note partly compensates.

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 description coverage is 100% and every parameter carries a detailed description (including the paging.nextPage continuation hint), so the description's job here is minimal. It adds no parameter-level meaning beyond what the schema already provides, making the baseline 3 correct.

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?

States a specific resource and granularity (hourly page view counts), defines the metric precisely ('times the TrackJS agent loaded'), and adds ordering plus the underlying endpoint GET /hits/hourly. The hourly granularity implicitly distinguishes it from page_views_by_day, but no sibling is named directly.

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?

Gives a concrete usage context: combine with errors_by_hour to distinguish an error spike from a traffic spike. That is genuine guidance on when this tool is the right one, though it stops short of exclusions or stating when to prefer page_views_by_day instead.

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