Skip to main content
Glama

cpu_list_lots

Discover and filter marketplace lots by hub, resource, seller, price, or proximity, then sort by price, recency, or distance. Use to browse open and incoming offers while excluding sold, cancelled, or evicted lots.

Instructions

Browse marketplace lots with filters (hub, resourceId, seller, minPrice/maxPrice), sort (price_asc | recent | nearest — nearest needs a zone), pagination (limit ≤ 200, offset), and an optional zone (aroundTokenId + radius in grid steps). availability defaults to open (buyable now); use incoming for en-route lots or all — all means open plus incoming, never a sold, cancelled or evicted lot. An evicted lot is not an offer and never shows up here; its seller finds it with cpu_list_my_lots. Public read — start with cpu_get_markets for a compact overview, then drill in here.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
hubNoFilter to a Hub by its cell token id.
sortNoprice_asc | recent | nearest (nearest requires aroundTokenId).
limitNoPage size (default 50, max 200).
offsetNoPage offset.
radiusNoZone radius in grid steps around aroundTokenId (server clamps to 50).
sellerNoFilter by seller address.
maxPriceNoMaximum price per unit ($CPU decimal string).
minPriceNoMinimum price per unit ($CPU decimal string).
resourceIdNoFilter by resource id.
availabilityNoopen (default, buyable now — frozen lots hidden) | incoming (paid & en route) | frozen (live rate exceeds the seller tolerance — not buyable until the hub lowers it) | all.
aroundTokenIdNoZone anchor as a cell token id.

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed1 schema field changedv0.10.0
    • changedInput schema / properties / hub / anyOf
      Previous value: -[
      -  {
      -    "maximum": 48990,
      -    "minimum": 1,
      -    "type": "integer"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "maximum": 29150,
      +    "minimum": 1,
      +    "type": "integer"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  2. First observedv0.8.0

TDQS

A4.9/5.0
Behavior5/5

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

With no annotations, the description carries the full behavioral burden, and it does so thoroughly: it discloses this is a public read, explains that 'all' means open plus incoming and never sold/cancelled/evicted lots, notes that frozen lots are hidden under the default 'open', and mentions server clamping of radius to 50 and limit max 200.

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?

The description is dense but every clause earns its place: it front-loads the core purpose, packs the key parameters into one readable sentence, and finishes with routing and a critical exclusion case. No filler or repetition of schema text.

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?

Despite no output schema, the description covers the important edge cases an agent needs before calling: availability nuances, evicted-lot exclusion, nearest/zone coupling, pagination bounds, and server clamping. For a complex 11-parameter, all-optional listing tool, nothing essential for correct selection and invocation 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 real meaning beyond the schema: it clarifies that 'availability' defaults to open, defines 'all' precisely, ties 'nearest' to the zone requirement, and explains radius in grid steps with clamping. This extra semantic context justifies an above-baseline score.

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?

The description states a specific verb ('Browse marketplace lots') and resource, then enumerates the filtering, sorting, pagination, and zone capabilities. It also explicitly distinguishes this tool from cpu_get_markets (compact overview) and cpu_list_my_lots (seller's evicted lots), so an agent can tell it apart without inspecting the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit routing guidance: 'start with cpu_get_markets for a compact overview, then drill in here' and says an evicted lot never appears here, with the seller finding it via cpu_list_my_lots. It also explains the availability semantics (open, incoming, all) well enough to choose the right parameter value.

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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/projectcpu/project-cpu-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server