Skip to main content
Glama
p1xelapp

solana-nft-mcp

by p1xelapp

Find listings and deals

find_listings
Read-only

Show current NFT listings in a collection, cheapest first, with filters for traits, name, or serial numbers.

Instructions

What is for sale in a collection right now, cheapest first, with optional trait filters, a name filter, and a lowest-serials mode that reads the whole book and sorts by edition number. Answers 'cheapest Rex', 'find #1390', 'is a #1 or #100 for sale', 'lowest serial I can buy and what it costs versus floor', 'is there a deal on a Judge card', 'what is listed under 1 SOL', 'which traits are cheap right now'. Several trait filters mean all of them. Rarity ranks appear when the marketplace publishes them (Core collections usually carry none). Prices are asks on Magic Eden, not what buyers pay; get_collection_sales shows that.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoHow many listings to return. Default 20.
symbolYesMagic Eden collection symbol
traitsNoTrait filters, combined with AND
openseaSlugNoOpenSea collection slug; adds OpenSea's per-trait floor next to Magic Eden's on every deal. Registry entries that carry one are used automatically.
nameContainsNoKeep only listings whose name contains this text, e.g. '#1390' or 'Judge'
lowestSerialsNoHunt low edition numbers: read up to 1,000 listings, parse the serial from each name (#9, 12/250) and return the lowest serials with their asks against the floor

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.17.2

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the annotations (readOnlyHint, openWorldHint), the description discloses significant behavioral traits: 'cheapest first' ordering, 'lowest-serials mode that reads the whole book' (heavy operation), trait filter AND semantics ('Several trait filters mean all of them'), the conditional nature of rarity ranks, and the distinction between ask prices and sale prices. No contradiction with annotations exists.

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?

The description is dense and front-loaded with the core purpose, followed by usage examples and important caveats. Every sentence earns its place, though it is a single stream-of-consciousness paragraph; a bulleted structure would improve scannability. Still, it is concise relative to the complexity of six parameters and multiple modes.

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 tool with six parameters and no output schema, the description covers the essential behavioral context: what it returns (listings cheapest first), filtering modes, the heavy read behavior of lowestSerials, rarity rank caveats, and pricing semantics. It does not describe pagination or output field details, but the schema documents parameters and the annotations cover safety. This is nearly complete for correct invocation.

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. The description adds value beyond the schema by explaining the semantics of 'lowestSerials' ('reads the whole book and sorts by edition number'), clarifying that multiple trait filters are ANDed, and providing concrete examples for 'nameContains' ('#1390' or 'Judge'). This extra context lifts it above baseline.

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 opens with a precise statement of what the tool does: 'What is for sale in a collection right now, cheapest first' – a specific verb and resource with a clear scope. It then names concrete capabilities (trait filters, name filter, lowest-serials mode) and differentiates itself from a sibling by noting that prices are asks on Magic Eden and that get_collection_sales shows buyer-paid prices.

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 provides explicit when-to-use guidance through example user intents ('cheapest Rex', 'find #1390', 'is there a deal on a Judge card') that map directly to this tool's features. It also names an alternative (get_collection_sales) for a specific need (buyer-paid prices), giving clear when-not guidance. This is more than enough for an agent to route correctly.

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