UNRENT
Server Details
Reclaim overpaid rent from Solana token accounts (SIMD-0437). Non-custodial, no API key.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 4 tools
Each tool maps to a clear step in the reclaim workflow: scan_wallet (read-only scan), build_reclaim (construct unsigned txs), submit_reclaim (validate and broadcast), and get_rent_status (protocol-wide rent state). The only mild overlap is that both scan_wallet and get_rent_status surface rent-step forecasts, but their scopes (per-wallet vs. network) are distinguishable.
All four names follow a consistent verb_noun snake_case pattern (scan_wallet, build_reclaim, submit_reclaim, get_rent_status). Verbs (scan, build, submit, get) are distinct and predictable, making the set easy to reason about.
Four tools is well-scoped for a focused rent-reclaim service: one read, one build, one submit, and one informational tool. Every tool earns its place and there is no redundancy.
The reclaim lifecycle (scan → build → submit) is fully covered, including fee handling, optional burn, and browser-wallet fallback via signUrl. The only minor gap is no explicit tool to re-query or cancel a pending submission, though submit_reclaim returns per-transaction status.
Available Tools
4 toolsbuild_reclaimBuild the reclaim transactionsAInspect
Re-scans the wallet on the chain and builds the reclaim as unsigned, simulated Solana transactions (base64, versioned). They withdraw excess rent, close empty accounts and pay the service fee as the last instruction; nothing else leaves the wallet. Tokens are only burned for accounts listed in burn. The wallet's owner signs every transaction unchanged (the fee payer is the wallet, compute budget instructions may be added) and passes them to submit_reclaim within about 60 seconds, before the blockhash expires. Do not send them yourself.
| Name | Required | Description | Default |
|---|---|---|---|
| ref | No | Optional UNRENT referral code. The referrer gets a share of the service fee; the wallet pays the same. | |
| burn | No | Token accounts to burn and close (from the scan's burn.candidates). Only when the wallet owner explicitly asked for it. | |
| wallet | Yes | Solana wallet address (base58). | |
| accounts | No | Only these account addresses (from a scan). Default: everything reclaimable. | |
| burnMaxUsd | No | Highest USD value per account that may be burned (capped by burn.cleanupMaxUsd). Dust is burned regardless. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds substantial context beyond the annotations: output format (base64, versioned), what the instructions do and that nothing else leaves the wallet, that tokens are only burned for accounts in `burn`, that the owner signs unchanged, that the wallet is the fee payer, and that compute budget instructions may be injected. The destructiveHint=false annotation is consistent because this tool only emits unsigned transactions — the on-chain destruction happens only after signing and submit_reclaim, and the description makes that two-step separation explicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the core action and output format, then layers the signing/submission constraints. Four dense sentences where each carries a distinct constraint (scope, burn gate, signing, deadline), though it runs slightly long as a single block.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description correctly explains the return value (unsigned base64 versioned transactions) and the full handoff contract, including the 60-second blockhash deadline and the do-not-send warning. Nothing an agent needs to call this correctly and safely is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all five parameters including `ref`, `burn`, `accounts` and `burnMaxUsd` with their caps and sources. The description only reinforces the `burn` parameter ("Tokens are only burned for accounts listed in `burn`"), which is useful confirmation but adds little syntax or semantics beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource with precise scope: "builds the reclaim as unsigned, simulated Solana transactions (base64, versioned)." It also enumerates the exact instructions produced (withdraw excess rent, close empty accounts, service fee last), which distinguishes it cleanly from submit_reclaim without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit downstream routing ("passes them to submit_reclaim within about 60 seconds, before the blockhash expires") and an explicit exclusion ("Do not send them yourself"). The 60-second blockhash window is a concrete usage constraint that tells the agent when the output is still valid.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_rent_statusSolana rent reduction status (SIMD-0437)ARead-onlyIdempotentInspect
Where Solana's rent reduction (SIMD-0437) stands: the live lamports_per_byte, which of the five steps are live, and when the next is expected. Older accounts keep their higher deposit until it is withdrawn; each step makes more SOL reclaimable.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint, idempotentHint and openWorldHint, so the safety profile is covered. The description adds genuinely non-obvious domain behavior: older accounts retain their higher deposit until withdrawn, and each step increases reclaimable SOL, which is needed to interpret the returned step state correctly.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences, front-loaded with the core deliverable (the live lamports_per_byte and step status) before the interpretive context. Each sentence carries information; no filler or repetition of the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters, no output schema and only read-only annotations, the description must carry the burden of telling the agent what comes back. It does so by naming the three reported items, though it leaves the exact response shape (field names, step identifiers) implicit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there are no parameter semantics to explain; the baseline for a no-arg tool applies. The 100% schema description coverage is trivially satisfied by the empty properties object.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource and scope: Solana's SIMD-0437 rent reduction status, and enumerates what is reported (live lamports_per_byte, which of five steps are live, next-expected timing). It does not distinguish itself from siblings like build_reclaim or submit_reclaim, but the read-only status nature is unambiguous from the verb framing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than stated: an agent can infer this is the lookup-side tool versus the build/scan/submit siblings, but the description never says when to call it or when to prefer an alternative. No prerequisites or exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scan_walletScan a wallet for reclaimable rentARead-onlyIdempotentInspect
Reads the token accounts and mints of a Solana wallet and returns the SOL that can be reclaimed now: excess rent (WithdrawExcessLamports, accounts stay open), empty token accounts (CloseAccount) and mint excess, the UNRENT service fee, the net amount, a forecast for the remaining rent steps, and tokens that may optionally be burned and closed (dust). Read-only, needs no signature. Amounts are in SOL. Also returns signUrl: a link to finish the reclaim on unrent.xyz with a browser wallet (Phantom, Solflare, Backpack…), for when you cannot sign for the wallet yourself.
| Name | Required | Description | Default |
|---|---|---|---|
| ref | No | Optional UNRENT referral code. The referrer gets a share of the service fee; the wallet pays the same. | |
| wallet | Yes | Solana wallet address (base58). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already carry readOnlyHint/idempotentHint/openWorldHint, but the description adds real context beyond them: no signature required, amounts denominated in SOL, the WithdrawExcessLamports vs CloseAccount distinction, and the external signUrl fallback with named wallets. This meaningfully informs behavior for a mutation-adjacent workflow.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core purpose is front-loaded in the first clause, and the long enumeration of return fields is dense with distinct information rather than filler. It is a single long sentence plus a fallback sentence, which is slightly heavy but every clause carries weight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of describing return values, and it does so comprehensively (excess rent, empty accounts, mint excess, fee, net, forecast, dust, signUrl). Safety and signature requirements are also covered. Only the relationship to the sibling build/submit tools is left unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters (wallet, ref). The description adds only the SOL unit convention and does not explain the referral code semantics shown in the schema, so it neither compensates nor detracts. Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states a specific verb and resource: it reads a Solana wallet's token accounts and mints and returns reclaimable SOL. It elaborates exactly what is returned (excess rent, empty accounts, mint excess, service fee, net, forecast, dust), which is unusually precise. It does not, however, explicitly differentiate itself from siblings like get_rent_status or build_reclaim, so an agent must infer the read-vs-build-vs-submit split.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than stated: it is a read-only scan that returns a signUrl for when 'you cannot sign for the wallet yourself,' which hints at a browser fallback flow. But there is no explicit guidance on when to prefer this over get_rent_status, or that this is the discovery step preceding build_reclaim/submit_reclaim, so the agent must infer the ordering.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
submit_reclaimSend the signed reclaimADestructiveInspect
Checks the signed transactions against the ones build_reclaim made (same instructions, same fee, signed by the wallet) and sends them to Solana. Returns the signature and status of every transaction. A claim can be submitted once; after an expired blockhash, build again.
| Name | Required | Description | Default |
|---|---|---|---|
| signed | Yes | The signed transactions, base64, in the order the build returned them. | |
| claimId | Yes | claimId from the build. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=false and openWorldHint=true; the description adds real context on top, confirming the once-only submission semantics, the blockhash expiry failure mode, and that the return payload contains signature and status per transaction. It does not spell out irreversibility or fee/auth requirements, but the annotation contradiction is absent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences: what it does, what it returns, and the one-shot/expiry caveat is front-loaded first. No filler or repetition of the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description carries the return burden — and it does, stating the signature and status of every transaction. Combined with the validation contract against build_reclaim and the expiry caveat, an agent has everything needed to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3; however the description adds semantic constraints the schema does not carry — that the signed array must match build_reclaim's instructions and fee and be signed by the wallet, and that ordering matters ('in the order the build returned them'). That is genuine meaning beyond the field types.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (checks then sends) and resource (signed reclaim transactions to Solana), and explicitly ties itself to the sibling build_reclaim whose output it validates against. An agent can distinguish it from build_reclaim without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives the operative constraint ('A claim can be submitted once') and the recovery path ('after an expired blockhash, build again'), which implicitly routes back to build_reclaim. It does not name explicit when-not-to-use conditions beyond the single-submission rule, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
4 tool updates
- First observed
build_reclaim - First observed
get_rent_status - First observed
scan_wallet - First observed
submit_reclaim
Related MCP Connectors
Batch send SOL or any SPL token to 1000+ wallets via x402. AI agent payments on Solana.
Read-only tools for agents: everything a Solana or Robinhood Chain wallet can get back (rent, wrapped SOL, LP fees, dead positions, failed deploys), whether a token is safe, when it unlocks, which protocol upgrades are live, and what a token operation costs. Every answer names the page where the user acts with their own wallet. Nothing here moves funds or holds keys.
Paid Solana token safety checks over Streamable HTTP MCP (x402 USDC on Solana + Base).
SolanaOracle - 12 Solana tools: SPL tokens, Jupiter, validators, rent, programs, NFTs.
Related MCP Servers
- AlicenseAqualityDmaintenanceSolana wallet cleanup, token trading on 12+ DEXes, and market data. Scan wallets for reclaimable SOL, close empty token accounts, burn dust tokens, buy/sell with Jito MEV protection. 7 tools for AI agents.411 npmMIT
- AlicenseNot gradedqualityCmaintenanceBatch send SOL or any SPL token to 1000+ Solana wallets in one call. x402 payment protocol for AI agents.MIT
- AlicenseAqualityAmaintenanceAn MCP server that enables AI assistants to analyze Solana wallets for empty or low-value token accounts. It allows users to identify opportunities to recover SOL rent by closing or burning these accounts through the SOL Claimer API.48 npmMIT
- AlicenseAqualityBmaintenanceScan and claim reclaimable SOL from dormant Solana wallet accounts. The first Vibe Claiming MCP server.173 npm5MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.