Skip to main content
Glama

land_deeds_bundle

Read-onlyIdempotent

List every deed for one explicit player or one region_number as a compact projection, read with one GET /land/deeds?limit=1000 whose body is buffered up to an 8 MiB limit and parsed whole.

Instructions

List every deed for one explicit player or one region_number as a compact projection, read with one GET /land/deeds?limit=1000 whose body is buffered up to an 8 MiB limit and parsed whole. A region holds at most 1,000 plots; on 2026-10-11 region 65 returned 1,000 deeds in 3.6 MB, above the general 2 MB cap that makes land_deeds_search return only {status}. Each row carries deed_uid, plot_id, plot_label, region_number, tract_number, plot_number, region_uid, territory, player, rarity, deed_type (the terrain), magic_type, plot_status, worksite_type, resource_symbol, listed, in_use and is_construction. It also carries staking (is_powered, worker_count, powered_worker_count, max_workers_allowed, total_harvest_pp, total_base_pp_after_cap, efficiency, total_work_per_hour) and worksite (is_active, is_harvesting, is_construction, project_type, token_symbol, hours_till_next_op), joined by deed_uid. A deed without a staking row has staking null and complete false; worksite null means no worksite row was returned. Values are passed through unchanged. The projection is cached for 120 seconds per scope, and cursor pages of up to 100 rows are served from it. Every page reports retrieved_at and age_ms. truncated is true when a player scope returned 1,000 deeds, because more may exist; upstream offset is not used, so a fuller list is not available. A region scope cannot exceed 1,000 plots and is never marked truncated. An over-limit or malformed body is reported as an error with a reason, never as a bare status or an empty list.

Input Schema

NameRequiredDescriptionDefault
limitNo
cursorNo
playerNo
region_numberNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.0.7

TDQS

A4.3/5.0
Behavior5/5

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

Annotations cover only the read-only/idempotent safety profile, and the description adds substantial non-obvious behavior: an 8 MiB body buffer, a 2 MB general upstream cap, a 120-second per-scope cache with 100-row cursor pages, retrieved_at/age_ms on every page, and distinct truncation semantics for player (may be truncated at 1,000) versus region (never truncated). It also promises errors with a reason rather than a bare status or empty list.

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 purpose and scope, then progressively narrower detail, with no filler sentences. It is dense and runs long, and the exhaustive field enumeration would read better as a list, but nearly every clause conveys operational information that the schemas do not.

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?

With no output schema, the description compensates by enumerating the returned row fields, the joined staking/worksite sub-objects, and the null/complete/false semantics for missing rows, which is exactly what an agent needs to interpret results. The only gap is the unresolved limit-vs-1,000-fetch and missing-parameter behavior, which slightly blurs call-time expectations.

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 0%, so the description carries the full burden, and it does address all four parameters at least implicitly: player scope, region_number scope, cursor pages, and page size up to 100 rows. However, it never states the mutual exclusivity requirement explicitly nor what happens when neither player nor region_number is supplied (required=0), leaving real ambiguity in a tool whose parameters are entirely undocumented 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 scoped precisely: 'List every deed for one explicit player or one region_number as a compact projection'. It even contrasts itself with the sibling land_deeds_search by explaining why that tool fails on large bodies, so an agent can distinguish the two without opening a schema.

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 clear context on when this tool succeeds where land_deeds_search does not (region 65's 3.6 MB body exceeding the 2 MB cap), and states the scope constraint (one player OR one region_number). It stops short of explicit exclusions against the other deed siblings (land_deed_by_plot, land_deeds_owned), so it is a strong 4 rather than a 5.

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

Deploy Server

Other Tools