Skip to main content
Glama

Find a port / UN/LOCODE (no key)

find_port
Read-onlyIdempotent

Resolve a port name, country, or partial UN/LOCODE to LOCODEs the routing engine recognizes before score_voyage, avoiding code guesses. No API key required.

Instructions

Resolve a port name, country or partial UN/LOCODE to the LOCODEs the routing engine knows. Routes are addressed by LOCODE, so call this before score_voyage rather than guessing a code. Works with no API key.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum matches to return (default 5)
queryYesPort name, country, or LOCODE fragment, e.g. "rotterdam", "NLRTM", "Piraeus"

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.1

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, and openWorld, so the safety profile is covered. The description adds a genuinely useful behavioral fact beyond them — 'Works with no API key' — which tells the agent about auth requirements the annotations do not express.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, each earning its place: purpose, dependency ordering, and auth. The purpose statement is front-loaded and nothing is redundant.

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 simple two-parameter lookup with no output schema, the description gives enough: it says it returns LOCODEs (plural, matching the search nature) and where they are consumed. It stops short of describing return shape or match ranking, but nothing critical to a correct call is missing.

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 100% for both parameters (query and limit), so the schema already carries the parameter documentation. The description restates the accepted query forms (name, country, partial LOCODE) but adds no new syntax or constraint detail, so the 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?

Specific verb 'Resolve' plus a precise resource (port name, country, or partial UN/LOCODE) and a clear output ('the LOCODEs the routing engine knows'). It is unambiguous and distinct from the screening/vessel siblings, which share no verb or object with it.

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?

Gives an explicit sequencing rule: 'call this before score_voyage rather than guessing a code', naming the sibling and the condition that selects this tool. It does not enumerate when-not-to-use cases, but the dependency rationale is clear enough to route correctly.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.