Skip to main content
Glama

Solana Wallet Tokens

solana_wallet_tokens
Read-onlyIdempotent

SPL token holdings of a Solana wallet: mint address, token balance, decimals and token-account address for every position, sorted largest first, covering both the SPL Token and Token-2022 programs. Answers "which tokens does this Solana address hold and how much of each". Sourced live from public Solana JSON-RPC (getTokenAccountsByOwner). Zero balances are dropped and results paginate, because a busy wallet can hold thousands of token accounts.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoHoldings per page, 1-200 (default 25)
offsetNoPage offset into the balance-sorted list (default 0)
walletYesBase58 Solana wallet address (32-44 chars)
programNoWhich token program to scan (default both)
min_amountNoKeep only holdings at or above this token balance
include_zeroNoInclude emptied token accounts (default false)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, open-world), so the bar is lower, yet the description still adds real context: the data source (public Solana JSON-RPC getTokenAccountsByOwner), the live/non-cached nature, and that zero balances are dropped by default. It omits rate limits, caching TTL, and failure behavior for invalid mints, which keeps it short of a 5.

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 sentences, front-loaded with the resource and its returned fields, then usage framing, then operational caveats. Every clause carries information and nothing is duplicated from the schema or annotations.

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?

With six parameters fully documented in the schema and no output schema, the description fills the remaining gaps an agent needs: what fields come back, the sort order, zero-balance filtering, program scope, and the pagination reality for large wallets. Nothing material is missing 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, but the description adds meaning the schema does not: results are sorted largest-first, which defines what offset actually pages over, and both count and program coverage (SPL Token plus Token-2022) clarify the semantics of offset, min_amount, and include_zero. It still doesn't explain pagination interaction (e.g., what happens past the last page).

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?

It names a specific resource (SPL token holdings of a Solana wallet), enumerates exactly what each position contains (mint address, balance, decimals, token-account address), and frames the answer as 'which tokens does this Solana address hold and how much of each'. That phrasing cleanly separates it from the inverse sibling solana_token_holders and from solana_wallet_balance/solana_wallet_transactions.

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 question-style framing implies when the tool is relevant, but there is no explicit 'use this instead of X when Y' routing and no stated exclusions or prerequisites. An agent can infer the intended use, but the definition never names an alternative sibling or a condition that would disqualify this tool.

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.