Skip to main content
Glama

Tracklution

Create account and container

register_and_provision
DestructiveIdempotent

Creates or reuses a Tracklution account and the first tracking container for website_url. Mutating: idempotency_key is required (UUID v7). New email: creates the account, emails a welcome / set-password link (pending_user_activation, welcome_email_sent_to) and returns a 60-minute JWT in data.auth._sensitive_access_token, the auth_token for later onboarding calls in this conversation. With auth_token instead of email / name: returns the existing-or-new container for (user, website_url).

Errors:

  • duplicate_account (409): the email has an account; the user signs in at https://app.tracklution.com (setup link: https://app.tracklution.com/account-recovery), then auth_token works.

  • multi_client_ambiguous (409): several companies, none with a container for website_url; next_action.reason holds the dashboard URL to create it, then the user re-runs this tool with the same website_url and gets that container.

  • insufficient_permissions (403): creating a NEW container under an existing company requires admin permission (details.required_permission = "admin"); an existing container needs view or higher (details.required_permission = "view" otherwise). errors[0].message is user-facing.

  • rate_limited (429): retry_after_seconds is the wait; domain:<host> in errors[0].details.key means a per-domain cap.

In a session connected to several servers the returned next_action.args.server_name names the server this container was created on.

Input Schema

NameRequiredDescriptionDefault
goalNo
nameNo
emailNo
phoneNo
companyNo
dry_runNo
frameworkYes
auth_tokenNoSENSITIVE: existing-user path. JWT held by the agent in memory; passes to /mcp-api/v1/* as Authorization: Bearer.
heard_fromNo
website_urlYes
agent_clientYes
idempotency_keyYesUUID v7 recommended. Required.
event_source_systemNo
onboarding_session_idNo
onboarding_session_tokenNoSENSITIVE: required when onboarding_session_id is supplied and the session has no user yet.

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.3/5.0
Behavior5/5

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

Goes well beyond the annotations: discloses the required idempotency_key, the welcome/set-password email and its pending_user_activation/welcome_email_sent_to signals, the 60-minute JWT lifetime, admin-vs-view permission requirements per container state, per-domain rate-limit semantics, and multi-server next_action.server_name behavior. This is rich operational context the annotations (readOnly/destructive/idempotent hints only) cannot convey.

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?

Long but well-structured: the core behavior and mode branching are front-loaded, followed by a scannable error list. Nearly every sentence carries operational value (recovery URLs, permission names, retry semantics), though the enumeration of returned token fields is somewhat verbose given an output schema exists.

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 15-parameter mutating entry-point tool with an output schema present, the description covers the critical paths, error taxonomy, and permission model well, so return values need not be re-explained. The remaining gap is the large set of undocumented optional parameters (dry_run, framework, agent_client, event_source_system, company), whose semantics an agent must infer.

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 20% across 15 parameters, so the description must compensate. It does add meaning for idempotency_key (UUID v7), auth_token (existing-user path), website_url, and the email/name branch, but leaves goal, phone, company, dry_run, framework, agent_client, heard_from, event_source_system, and the onboarding_session_* pair unexplained in both schema and description.

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 and resource ('Creates or reuses a Tracklution account and the first tracking container for website_url') and immediately distinguishes the two operating modes (new email vs. existing auth_token). An agent can tell what the tool produces without opening the schema.

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?

Explicitly says which path applies when ('New email: ...' vs. 'With auth_token instead of email/name: ...') and gives recovery actions for each error condition, including re-running the tool after the user creates a container. It does not, however, position itself against any named sibling (e.g., create_login_link, get_onboarding_session), so routing among siblings is left implicit.

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