Skip to main content
Glama

Train activity number for a point

train_activity
Read-onlyIdempotent

Get the train activity number for one US point: a number from 0 to 100 for the trains that pass within 1 mile, built from the train counts railroads report to the FRA. Give a latitude and longitude, or the point as at, like 41.587,-93.625. The point is rounded to 3 decimals. Returns the number, its band, the inputs behind it, the nearest crossing, the data date and a link to its page.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "train_activity"
  }
}

Input Schema

NameRequiredDescriptionDefault
atNoThe point as latitude,longitude, like 41.587,-93.625. Use this or latitude and longitude, not both.
latitudeNoLatitude in decimal degrees, like 41.587. Give it with longitude, or use at instead.
longitudeNoLongitude in decimal degrees, like -93.625. Give it with latitude, or use at instead.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and openWorld=false, so the description's job is to add context, and it does: FRA as the data source, the 3-decimal rounding of the input point, and the full contents of the response including nearest crossing and data date. It stops short of noting coverage limits beyond 'US' or any rate/quota behavior.

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?

Two sentences, front-loaded with the definition and followed by accepted inputs and return shape, with no waste. The first sentence is dense with stacked clauses, but every clause carries information an agent needs.

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?

With no output schema, the description carries the return-value burden and does so fully (number, band, inputs, nearest crossing, data date, page link), while also covering input form and units. Nothing needed to invoke or interpret the call is missing.

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 100%, so the baseline is 3, but the description adds meaning the schema lacks: the 'or' relationship between at and latitude/longitude is restated as an explicit either/or, and the 3-decimal rounding of the supplied point is documented nowhere in the schema.

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 ('Get the train activity number') plus the exact scale and semantic meaning (0-100, trains within 1 mile, from FRA-reported counts). The 'one US point' framing implicitly distinguishes it from the county_summary and state_summary siblings, which cover areas rather than a point.

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?

The description tells you how to supply the point but never says when to prefer this tool over county_summary, state_summary, or find_crossings_near. Usage is only implied by the 'one US point' scope; no explicit when/when-not or alternative routing is given.

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