Skip to main content
Glama

Tracklution

Verify installation and score

verify_and_score
Destructive

Force-processes recent events, recalculates scoring and returns a verification diagnosis. Mutating: idempotency_key is required; the same key within 30 s returns the cached response, a fresh key runs a new pass. Done = top-level status ok (verification.not_ready_reason === null). scoring_complete can stay false on a finished install (organic metrics mature with traffic). not_ready_reason:

  • awaiting_connector_activation, awaiting_first_party_mode: code done; the user finishes a dashboard step.

  • only_pageview_seen, missing_bottom_funnel_event: code done; no purchase / lead until the user triggers one on the live site.

  • no_events_after_install, script_not_seen, event_not_received_yet, events_processing: events not in yet (transient).

  • missing_contact_info, domain_mismatch: needs a code or deploy fix. verification.message is user-facing, retry the retry budget, next_action the next tool for this state. After the budget, get_next_steps + create_login_link give progress and the dashboard link. data.event_names_seen lists track events; ContactInfo is a set call, only in data.set_events_seen. Non-main server: next_action.tool is null, data.manual_handoff names the server; create_login_link is refused (container_pinned_to_other_server).

Input Schema

NameRequiredDescriptionDefault
auth_tokenNo
server_nameNoWhich connected Tracklution server the container lives on (the server name shown at Connect time, e.g. `Main`). Required when this MCP session is connected to more than one server; pass the SAME server_name on every follow-up installation call for the container — the MCP fills it into `next_action.args` / `next_steps[].tool_args` for you. Ignored when only one server is connected.
container_idYes
container_hashNoSECRET: required when auth_token is omitted. See get_installation_scripts for the rationale.
expected_domainNo
expected_eventsNo
idempotency_keyYes
onboarding_session_idNo

Output Schema

NameRequiredDescriptionDefault
dataNo
fieldNo
errorsNo
statusNo
detailsNo
warningsNo
rate_limitNo
http_statusNo
next_actionNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • removedOutput schema / properties / _request_id
      Removed value: -{
      -  "type": "string"
      -}
  2. Added
  3. Removed
  4. First observed

TDQS

A4.1/5.0
Behavior5/5

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

With annotations already declaring destructiveHint=true and idempotentHint=false, the description still adds substantial context the structured fields cannot: it states the tool is mutating, that `idempotency_key` is required, that the same key within 30s returns a cached response while a fresh key runs a new pass, and that `create_login_link` is refused on a non-main server. This is exactly the kind of side-effect, caching, and refusal behavior an agent needs before invoking.

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?

The core action and the mutating/idempotency warning are front-loaded, then status interpretation is organized into terse bulleted groups, which suits the high branching complexity. It is long, and lines like the `data.set_events_seen` nuance sit near the edge of what earns its place, but the structure keeps it navigable.

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 high-complexity, many-state tool with an output schema present, the description supplies the missing behavioral and routing context (state meanings, follow-up tools, multi-server handling). Because a return schema exists, its detailed restatement of `status`/`scoring_complete`/`retry` fields is partly redundant, but nothing essential is absent.

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 only 25%, so the description must compensate, and it does for the most important parameter: it explains that `idempotency_key` is required and defines its 30-second caching semantics. However it says nothing about `expected_domain`, `expected_events`, `onboarding_session_id`, `auth_token`, or `container_hash`, leaving most parameters documented only by pattern/type.

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 opening sentence states a specific, multi-part action: force-process recent events, recalculate scoring, and return a verification diagnosis. That clearly separates it from list/get siblings like get_status or get_summary, though it never explicitly names what it is NOT, so an agent must infer the boundary from behavior rather than an explicit contrast.

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 gives strong conditional routing: it tells the agent what each `not_ready_reason` means and what to do after the retry budget is exhausted (`get_next_steps` + `create_login_link`). It stops short of an explicit 'call this when...' statement or an exclusion against similar verification/status siblings, so context is clear but not exhaustive.

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.

Resources