Skip to main content
Glama
stellar-expert-mcp

stellar-expert-mcp

by Bran18

List asset holders

list_asset_holders

Retrieve accounts that hold a non-zero balance of a specified Stellar asset, sorted by balance with pagination. Use it to identify current asset holders and page through results.

Instructions

List accounts holding a non-zero balance of an asset, sorted by balance. Zero-balance trustlines are omitted. Horizon-style paging.

Input Schema

NameRequiredDescriptionDefault
assetYesAsset identifier: native XLM, or CODE-ISSUER (optionally with -1), e.g. USDC-GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN
limitNoPage size (1–200). Defaults to 10 on the API.
orderNoResults sort order
cursorNopaging_token from a previous page
networkNoStellar network. Defaults to STELLAR_EXPERT_NETWORK or public.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.9/5.0
Behavior4/5

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

No annotations exist, so the description carries the burden and does disclose behavior: sort ordering by balance, omission of zero-balance trustlines, and Horizon-style paging semantics. It does not mention auth, rate limits, or what a page response looks like, leaving gaps but covering the key traits.

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 compact sentences, front-loaded with the core action and scope, then filtering and paging details. No wasted wording.

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 5-param list tool with no annotations and no output schema, the description covers scope, ordering, and paging shape well. It stops short of describing the returned record structure or pagination termination, which would fully close the loop.

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 baseline is 3; the description adds meaning by tying 'sorted by balance' to the order param and clarifying that paging is Horizon-style, which informs how cursor is used beyond the schema's 'paging_token from a previous page'.

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?

Specific verb+resource ('List accounts holding a non-zero balance of an asset') with scope qualifiers: sorted by balance, zero-balance omitted. It clearly separates itself from get_asset_supply and get_asset_holder_rank by describing a full holder listing, though it never names those siblings explicitly.

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?

'Zero-balance trustlines are omitted' implies the data scope, but there is no explicit guidance on when to use this versus get_asset_holder_rank or list_assets, and no exclusions or prerequisites stated.

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