Skip to main content
Glama

Generate trip

generate_trip
Destructive

Generate the route for a DRAFT (or previously errored/ready) road trip: flips it to 'generating' and builds the per-day road geometry via OrgLines' own Valhalla + PostGIS stack (deterministic — NO AI enrichment; your own model writes any day narrative). Poll get_trip for the resulting status ('ready' on success). FREE but fair-use limited: counts against this month's road_trip_generations_month allowance and refuses a trip longer than 21 days — over the limit it returns {status:'refused', reason, used, limit} and changes nothing. Only the caller's own trip is reachable. CONFIRMATION: this tool is PROPOSED, never performed directly. You get status='confirmation_required' with an action_id and a plan_token, and the write happens only after confirm_action.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "trip_id": "<trip_id>"
    },
    "name": "generate_trip"
  }
}

Input Schema

NameRequiredDescriptionDefault
trip_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior4/5

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

Annotations only give the coarse safety profile (readOnlyHint=false, destructiveHint=true, openWorldHint=false); the description adds substantial context beyond that: deterministic/no-AI behavior, the fair-use quota counted against road_trip_generations_month, the 21-day cap, the refusal payload shape, and caller-scoped ownership. The two-phase 'PROPOSED, never performed directly' flow is exactly the kind of behavior annotations cannot express. Minor deduction only because the mutation itself (status flip to 'generating') is not reconciled with the destructiveHint label.

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?

Front-loaded with the core action and state transition, then behavior, then quota, then the confirmation protocol — a sensible ordering with no filler sentences. It is dense and heavy on capitalized emphasis, which slightly hurts scannability but nothing is genuinely redundant.

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?

No output schema exists, so the description carries the return burden and does so: it names the success status via get_trip, the refusal object, and the confirmation_required response with action_id and plan_token. For a one-parameter async mutation this is complete enough to call and follow up correctly.

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?

Schema coverage is 0%, so the single trip_id parameter is undocumented in the schema, but the description compensates by constraining which values are valid: it must be the caller's own trip and must currently be DRAFT/errored/ready. That is real semantic value, though the identifier's format/source is still not spelled out.

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 ('Generate the route for a ... road trip') plus the exact state transition ('flips it to generating') and what it produces ('per-day road geometry'). It also distinguishes itself from the siblings an agent would confuse it with, naming get_trip for polling and confirm_action for the actual write.

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

Usage Guidelines5/5

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

Explicit preconditions ('DRAFT (or previously errored/ready)'), an explicit post-call action ('Poll get_trip for the resulting status'), and an explicit routing rule to the alternative ('the write happens only after confirm_action'). Exclusions are stated: trips longer than 21 days and over-quota calls are refused.

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