Skip to main content
Glama

Log Mileage

log_mileage

Records one trip the signed-in person drove for a job as a mileage claim on a project (by projectId, or by its code or name), priced at the published rate for the workspace currency and the trip's year (the IRS standard rate per mile in USD, the CRA allowance per kilometer in CAD; not offered in other currencies), with the arithmetic kept on the claim. Owed back to the person unless they say otherwise. Handles "I drove 34 miles to the RISE site today". The result carries the call that undoes it.

Input Schema

NameRequiredDescriptionDefault
dateNoThe day of the cost, YYYY-MM-DD. Defaults to today in the person's time zone; never in the future.
userIdNoNot needed when signed in: these tools act for the signed-in person, and any other ID is refused. Applies only to a workspace connection with no signed-in user, naming whose expenses these are.
projectNoThe project as the person said it: its code (e.g. "RISE") or its name, matched exactly on code first. When several projects match, nothing is recorded and the candidates come back.
billableNoWhether the client pays for it (default false).
distanceYesHow far was driven, in miles for a USD workspace or kilometers for CAD, like 34 or 42.5.
projectIdNoThe project the cost is on, by id. Give projectId or project.
descriptionNoThe trip, e.g. "Office to the RISE site and back".
reimbursableNoWhether it is owed back to the person (default true).

Output Schema

NameRequiredDescriptionDefault
undoNoThe call that reverses this one, with its arguments.
expenseNo
receiptNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A3.9/5.0
Behavior4/5

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

Annotations only declare the generic write profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false); the description goes further by disclosing the pricing model, that the computed arithmetic is stored on the claim, the default reimbursable=true, and that the result returns the call that undoes the entry. It stops short of warning that repeated calls create duplicate claims despite idempotentHint=false.

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, then layered with pricing, default, example, and return-value note — each clause earns its place. It is dense but not padded; only the reimbursable restatement is mildly redundant with the schema.

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 an 8-parameter mutation with an output schema, the description covers the essentials: rate sourcing, currency limitation, project resolution by code/name/id, and the undo handle. Minor gaps remain around duplicate-submission behavior and what happens when no published rate exists for the currency.

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 the schema already documents every parameter including the distance unit-to-currency mapping and the projectId/project choice. The description's only marginal addition is reinforcing the reimbursable default ('owed back to the person unless they say otherwise'), which the schema already states. Baseline 3 applies.

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 ('Records one trip ... as a mileage claim on a project') plus the scoping rules that define the operation (rate by workspace currency and trip year, USD/CAD only). The mileage framing and currency constraint separate it cleanly from the sibling log_expense without needing to open either schema.

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?

Usage context is implied through the worked example ('Handles "I drove 34 miles to the RISE site today"'), which shows the intended natural-language trigger. However, it never explicitly says when to choose this over log_expense, nor what conditions make it the wrong tool (e.g., non-mileage costs, non-USD/CAD workspaces).

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