Skip to main content
Glama

look_from

Map lane: pins near a point (lat/lng + radius_km). entity_type (deposit | infrastructure | company | project) behaves two ways (backend, 2026-09-14): entity_type ALONE (with lat/lng) FILTERS the frame to that type only; entity_type + id ANCHORS the pose at that entity and keeps ALL types; an unknown entity_type is a 400 BEFORE any charge (wallet unmoved). Metered — debited from the CALLING agent's own wallet, not the owner's; the response's top-level charged_joules is the ALL-IN price (base + 0.5% rail — the same figure as price.charged_joules; the price block stays as the breakdown). Read the wallet with the joules_balance tool. For the exact per-caller price before you call, use the billing_quote tool (free, tier-aware; returns joules_all_in) or check affordability with the joules_deficit tool; the true debit is the base joule_cost plus a 0.5% rail surcharge rounded up (a 100 J call debits 101 J) = joules_all_in. Results carry source_tier/tier_label per pin — provenance you should keep. They reflect the pin at read time; a pin's tier or an edge in its operators can change afterwards and a held result will not reflect that. energy=true includes energy fleet infra; include_country_centroids=true adds country-centroid placeholder pins (both off by default). ⚠ CHARGING: the meter RESERVES before the query runs and SETTLES after delivery for what was actually delivered (an empty result settles to 0; a partial traversal settles for the hops delivered; a 4xx releases the reservation). An abandoned or timed-out call still settles once the backend delivers. A replay is served free only for the SAME credential + SAME idempotency key + SAME request within 15 minutes — a different payer is a different payer. Every call through this relay carries a fresh key, so a retry here is always a new charge. Price with billing_quote first; verify any charge with the billing_attempts tool (own wallet: reserved vs settled, per attempt). WHAT YOU PAID: the JSON response carries a top-level charged_joules — the all-in PRICE of this call — and a metering block written AFTER the settle has run: {attempt_id, settlement, settled_joules, check}. metering.settlement is whether you PAID: settled · settled_zero (empty result, nothing moved) · settle_failed (delivered but UNPAID — the wallet is then locked until it clears; the next metered call 402s naming the attempt, the amount and what clears it) · released (4xx/5xx, nothing moved) · unknown. settled_joules is what actually left the wallet (0 unless settled). A cached replay carries no block.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idNo
latNo
lngNo
energyNo
radius_kmNo
entity_typeNo
include_country_centroidsNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": true,
      +  "title": "look_fromDictOutput",
      +  "type": "object"
      +}
  2. First observed

TDQS

A4.2/5.0
Behavior5/5

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

With no annotations, the description fully discloses metering and settlement behavior: debited from the calling agent's wallet, top-level `charged_joules` as all-in price, 0.5% rail surcharge, reservation/settle cycle, 4xx releases, replay policy requiring same credential+key, and settlement states. It also exposes the `entity_type` dual behavior and the 400-on-unknown-type before charge, leaving no ambiguity about side effects.

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

Conciseness3/5

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

The description is front-loaded with the core purpose and covers essential operational detail, but it is verbose and somewhat redundant—e.g., the all-in price and 0.5% rail surcharge are stated both in the first paragraph and again in the 'WHAT YOU PAID' section. With careful trimming it could be tightened without losing information.

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?

Given the tool's complexity—7 optional params, metering, settlement states, idempotency—the description covers all necessary context for correct invocation: parameter semantics, charging workflow, error behavior, response indicators, and companion tools. The presence of an output schema covers return structure, and the description adds the behavioral context that the schema cannot.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description compensates by explaining every parameter: `lat`/`lng`/`radius_km` as the point and radius, `entity_type` with its filtering vs anchoring dual behavior, `id` as the anchor, `energy` for fleet infrastructure, and `include_country_centroids` for placeholder pins. The interaction between `entity_type` and `id` is made explicit, which is critical and absent from the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific operation—'pins near a point (lat/lng + radius_km)'—and names the resource (pins) and geographic inputs. It clearly distinguishes itself from the billing/wallet siblings it references, though it does not explicitly contrast itself with geospatial siblings like `look_at` or `nearby`. The core purpose is unambiguous.

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 gives clear context for pre-call steps (use `billing_quote`, `joules_deficit`, etc.) but does not explicitly state when to use this tool instead of other geospatial tools like `look_at` or `nearby`. There is no when-not or alternative selection for the geospatial lane, so usage guidance is implied from the 'Map lane' label rather than explicit.

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