Skip to main content
Glama

Solana MCP Server

A production-grade Model Context Protocol server for interacting with the Solana blockchain. Gives AI agents (Claude, Cursor, etc.) the ability to read chain data, execute transactions, swap tokens, manage wallets, and more.

38 tools across 7 modules: Wallet, SPL Tokens, DeFi, NFT, Programs, Analytics, Network.

Quick Start

npx @visioneth/solana-mcp@latest

Claude Desktop / Cursor

Add to your MCP configuration:

{
  "mcpServers": {
    "solana-mcp": {
      "command": "npx",
      "args": ["-y", "@visioneth/solana-mcp@latest"],
      "env": {
        "SOLANA_RPC_URL": "https://api.mainnet-beta.solana.com"
      }
    }
  }
}

For write operations (transfers, swaps, minting), add your private key:

{
  "env": {
    "PRIVATE_KEY": "your_base58_private_key",
    "SOLANA_RPC_URL": "https://api.mainnet-beta.solana.com"
  }
}

SSE Mode (Remote)

npx @visioneth/solana-mcp@latest --sse
# Server starts on http://localhost:3001

Related MCP server: Solana AI Terminal

Tools

Wallet (7 tools)

Tool

Description

get_balance

SOL balance of any address

get_account_info

Detailed account info

transfer_sol

Send SOL

request_airdrop

Test SOL on devnet/testnet

get_transaction

Transaction details by signature

get_recent_transactions

Recent transactions for an address

get_wallet_address

Public key from configured private key

SPL Tokens (7 tools)

Tool

Description

get_token_balance

Token balance for a wallet

get_token_info

Mint info (supply, decimals, authorities)

get_token_accounts

All token holdings

create_token

Create new SPL token

mint_tokens

Mint tokens to an address

transfer_token

Transfer SPL tokens

burn_tokens

Burn SPL tokens

DeFi (4 tools)

Tool

Description

get_token_price

USD price via Jupiter

get_swap_quote

Jupiter swap quote with routing

execute_swap

Execute swap on Jupiter

get_stake_accounts

Staking info for a wallet

NFT (3 tools)

Tool

Description

get_nft_metadata

On-chain NFT metadata

get_nfts_by_owner

All NFTs in a wallet

get_nft_collection_info

Collection info from sample NFT

Programs (4 tools)

Tool

Description

is_program

Check if address is executable

get_program_accounts

Accounts owned by a program

read_account_data

Raw account data

identify_program

Look up known programs

Analytics (5 tools)

Tool

Description

get_tps

Current transactions per second

get_largest_token_holders

Top holders of any token

get_token_supply

Total supply info

get_sol_price

Current SOL price in USD

get_largest_accounts

Biggest SOL holders

Network (8 tools)

Tool

Description

get_epoch_info

Current epoch and progress

get_slot

Current slot number

get_block_height

Current block height

get_block

Block details by slot

get_cluster_nodes

Validator/node info

get_supply

Total and circulating SOL

get_minimum_balance_for_rent

Rent exemption calculator

get_health

RPC node health check

Prompts

Built-in prompts for common workflows:

  • analyze_wallet — Full wallet analysis

  • inspect_transaction — Transaction deep-dive

  • analyze_token — Token due diligence with risk score

  • portfolio_check — All holdings summary

  • swap_analysis — Pre-swap analysis

  • analyze_nft — NFT metadata analysis

  • analyze_program — Program investigation

  • token_research — Comprehensive token research

  • network_health — Network status dashboard

  • solana_overview — Full network overview

Safety

  • Write operations require explicit network specification — the server will never default to mainnet for transactions

  • Private key only needed for writes — read-only tools work without credentials

  • Confirmation prompts before executing state-changing operations

  • All amounts use human-readable UI values (not raw lamports)

Development

git clone https://github.com/visioneth/solana-mcp.git
cd solana-mcp
npm install
cp .env.example .env
npm run dev        # stdio mode
npm run dev:sse    # SSE mode

Environment Variables

Variable

Required

Description

PRIVATE_KEY

For writes

Base58-encoded Solana private key

SOLANA_RPC_URL

No

Custom RPC endpoint (defaults to mainnet-beta)

LOG_LEVEL

No

DEBUG, INFO, WARN, ERROR (default INFO)

PORT

No

SSE server port (default 3001)

Supported Networks

  • mainnet-beta — Production (real funds)

  • devnet — Development and testing

  • testnet — Validator testing

License

MIT

Available Tools

38 tools
burn_tokensA

Burn SPL tokens from the configured wallet. Requires PRIVATE_KEY.

ParametersJSON Schema
NameRequiredDescriptionDefault
mint_addressYesToken mint address
amountYesAmount of tokens to burn (UI amount)
networkYesNetwork — MUST be specified

TDQS

A4/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. Mentions 'Requires PRIVATE_KEY' (security), but omits side effects (irreversible), failure conditions (insufficient balance), or return behavior.

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?

Two concise sentences with no wasted words. Information is front-loaded.

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 simple burn tool, the description and schema cover essential info (wallet, private key, parameters). Lacks output details but returns are likely minimal.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline 3 is appropriate. Description adds no parameter-specific meaning beyond the schema's descriptions (e.g., 'UI amount').

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?

Description clearly states action ('Burn'), object ('SPL tokens'), and source ('configured wallet'). It distinguishes from siblings like mint_tokens and transfer_token by specifying a destructive operation.

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

Usage Guidelines4/5

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

Implies when to use (burn tokens), but lacks explicit guidance on when not to use or alternatives. Sibling tools provide context, but description could be more direct.

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

create_tokenB

Create a new SPL token mint. Requires PRIVATE_KEY.

ParametersJSON Schema
NameRequiredDescriptionDefault
decimalsNoToken decimals (default 9)
networkYesNetwork — MUST be specified

TDQS

B3.1/5.0
Behavior2/5

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

No annotations provided, so description must carry full burden. It discloses a mutation (creates on-chain token mint) and requires a private key, but does not mention side effects (e.g., cost in SOL, mint authority implications), return value format, or failure modes.

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 a single, front-loaded sentence that states the action and a key requirement. It is concise and to the point, though it could include more detail without becoming wordy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is moderately complex (creates a token mint on a blockchain), but the description lacks details on return values, prerequisites (e.g., network funding), and other behavioral context. No output schema exists, so the description should provide more completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Both parameters (decimals, network) have descriptions in the input schema covering their meaning and constraints. The description adds no additional parameter information beyond the schema, so baseline 3 is appropriate.

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 clearly states 'Create a new SPL token mint' using a specific verb and resource. It distinguishes from sibling tools like mint_tokens (which mints into existing token accounts) and transfer_token (which transfers tokens).

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

Usage Guidelines2/5

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

The description only mentions 'Requires PRIVATE_KEY', which is a prerequisite but does not provide explicit guidance on when to use this tool versus alternatives (e.g., mint_tokens, create_token_account). No when-not-to-use or alternative references.

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

execute_swapB

Execute a token swap on Jupiter DEX aggregator. Requires PRIVATE_KEY.

ParametersJSON Schema
NameRequiredDescriptionDefault
input_mintYesInput token mint address (or 'SOL')
output_mintYesOutput token mint address (or 'SOL')
amountYesAmount of input token (UI amount)
slippage_bpsNoSlippage tolerance in basis points (default 50 = 0.5%)
networkYesNetwork — MUST be specified

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description must convey behavioral traits. It only mentions the private key requirement, but fails to disclose destructive nature, on-chain state changes, fee implications, or error behaviors. This is insufficient for a token swap execution.

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 concise with two sentences, no wasted words. However, it is slightly too brief and could benefit from a bit more context without harming conciseness. Front-loading is adequate.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (executing a swap on a DEX), the description lacks return value information, no mention of gas fees or confirmation requirements, and provides no output schema. It is incomplete for an agent to understand the full behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage with clear explanations for each parameter (e.g., input_mint, amount, slippage_bps with default, network with enum). The description adds no extra parameter information beyond requiring a private key, so it meets the 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 clearly states the tool executes a token swap on Jupiter DEX aggregator, using a specific verb and resource. It is distinct from the sibling 'get_swap_quote' which likely provides quotes, making the purpose unambiguous.

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

Usage Guidelines2/5

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

The only guidance is 'Requires PRIVATE_KEY.' There is no information on when to use this tool versus alternatives like get_swap_quote, no conditions for use, and no mention of prerequisites beyond the key.

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

get_account_infoA

Get detailed account information for a Solana address including owner, lamports, data size, and executable status

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesThe Solana wallet or account address
networkNoSolana network to use

TDQS

A3.8/5.0
Behavior3/5

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

No annotations provided; description indicates read-only behavior but does not disclose error handling, rate limits, or required permissions. Adequate for a simple read tool but lacks depth.

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?

Single sentence with no redundancy, directly conveying the core functionality and key output fields.

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 straightforward tool with 2 params and no output schema, the description covers purpose and return fields. Lacks mention of return format or error scenarios, but sufficiently complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers 100% with clear descriptions. Tool description adds context about returned fields (owner, lamports, etc.) but not parameter specifics. Baseline score applies.

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?

Description clearly states the verb 'Get' and resource 'detailed account information for a Solana address', listing specific fields (owner, lamports, data size, executable status), distinguishing it from sibling tools like get_balance or get_token_accounts.

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?

No explicit when-to-use or when-not-to-use guidance. The description implies usage for detailed account info, but does not contrast with alternatives or mention prerequisites.

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

get_balanceA

Get the SOL balance of a Solana wallet address

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesThe Solana wallet address (base58 public key)
networkNoSolana network to use (defaults to mainnet-beta)

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose any behavioral traits such as rate limits, error responses, or authentication requirements. The full burden is on the description, but it only states the basic purpose.

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 a single, concise sentence that gets straight to the point with no unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simplicity of the tool (2 parameters, no output schema), the description is adequate but lacks details on the return format (e.g., lamports vs SOL) and error handling behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, with both parameters having descriptions. The description does not add extra meaning beyond what the schema provides, so baseline 3 is appropriate.

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 clearly states the verb 'Get', the resource 'SOL balance', and the specific context 'of a Solana wallet address'. It effectively differentiates from sibling tools like get_token_balance or get_account_info.

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 description implies usage for checking SOL balances when you have a wallet address, but does not explicitly state when to prefer this over alternatives or mention any prerequisites or limitations.

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

get_blockB

Get block details by slot number

ParametersJSON Schema
NameRequiredDescriptionDefault
slotYesSlot number of the block
networkNoSolana network

TDQS

B3.1/5.0
Behavior2/5

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

No annotations provided, and the description does not disclose behavioral traits like idempotency, error handling for invalid slots, or any potential side effects. The read-only nature is implied but not stated.

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?

Single sentence with no excess. Front-loaded with the action and key identifier.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with two parameters and no output schema, the description is functional but could be more informative about the nature of 'block details' (e.g., whether it includes transactions, rewards).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so both parameters are adequately described. The description adds no extra meaning beyond the schema, meeting baseline expectations.

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?

Description clearly specifies verb 'Get' and resource 'block details' accessed by 'slot number'. It distinguishes from siblings like get_block_height and get_slot, but 'block details' is somewhat vague without listing included fields.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives such as get_transaction or get_slot. No exclusions or prerequisites provided.

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

get_block_heightB

Get the current block height

ParametersJSON Schema
NameRequiredDescriptionDefault
networkNoSolana network

TDQS

B3.1/5.0
Behavior2/5

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

No annotations provided; description does not disclose cost, default behavior for optional network parameter, or any side effects. Agent cannot assess impact or performance.

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?

Description is a single sentence that is efficient and front-loaded. However, it borders on tautology by restating the tool name.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one optional parameter, the description omits default network behavior and return format. Without output schema, agent has no idea what the response looks like.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers 100% of the single parameter (network) with enum description. The description adds no additional context beyond the schema, so baseline 3 applies.

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 clearly states the verb (Get) and resource (current block height), distinguishing it from siblings like get_block which retrieves full block details.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like get_slot or get_block. No context on prerequisites or typical use cases.

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

get_cluster_nodesB

Get info about all nodes in the Solana cluster

ParametersJSON Schema
NameRequiredDescriptionDefault
networkNoSolana network

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations provided, the description must fully convey behavioral traits. It merely says 'Get info', implying a read-only operation, but does not confirm idempotency, potential rate limits, or what 'info' specifically includes. The lack of detail forces the agent to infer behavior.

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 a single, concise sentence that directly states the tool's purpose without extraneous information. It is front-loaded and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With only one parameter and no output schema, the description is minimal. It fails to specify what 'info' the tool returns (e.g., node addresses, versions, status). An agent cannot determine if this tool meets its needs without additional context about the output structure.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single parameter 'network' has 100% schema description coverage with enumerated values. The description adds no extra meaning beyond what the schema already provides (e.g., default behavior when omitted, or implications of each network). Baseline score of 3 is appropriate.

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 clearly states the verb 'Get info' and the specific resource 'all nodes in the Solana cluster'. It distinguishes from sibling tools like get_health or get_block, as no other tool targets cluster nodes. The purpose is precise and unambiguous.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. Sibling tools such as get_health or get_epoch_info exist, but no context is given for selection criteria, prerequisites, or typical use cases.

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

get_epoch_infoB

Get current epoch information including slot, epoch progress, and timing

ParametersJSON Schema
NameRequiredDescriptionDefault
networkNoSolana network

TDQS

B3.4/5.0
Behavior2/5

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

With no annotations provided, the description must carry the full burden of behavioral disclosure. It only states what information is returned but does not mention any behavioral traits such as side effects, authentication requirements, rate limits, or potential errors. The absence of such details leaves the agent uninformed about important operational aspects.

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 a single sentence of 10 words, directly stating what the tool does and what information it returns. It is extremely concise and front-loaded with the core purpose.

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 simple read tool with one optional parameter and no output schema, the description adequately conveys the output content (slot, progress, timing). However, it does not mention the default behavior when the network parameter is omitted, which is a minor gap in completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% since the only parameter 'network' has a description ('Solana network') in the schema. The tool description adds no further meaning to this parameter (e.g., default value if omitted). Therefore, baseline score of 3 is appropriate.

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 clearly states the tool returns 'current epoch information' with specific details like slot, epoch progress, and timing. This distinguishes it from siblings such as get_slot (which only returns the current slot) and get_block_height (which returns block height).

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

Usage Guidelines2/5

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

No usage guidance is provided. The description does not specify when to use this tool versus alternatives like get_slot or get_block_height. It lacks any mention of context, prerequisites, or when not to use it.

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

get_healthA

Check if the Solana RPC node is healthy

ParametersJSON Schema
NameRequiredDescriptionDefault
networkNoSolana network

TDQS

A3.9/5.0
Behavior3/5

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

No annotations are provided, and the description does not disclose behavioral details beyond simple check. However, the operation is straightforward and unlikely to be destructive.

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 a single, concise sentence with no unnecessary words, achieving perfect conciseness.

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?

For a simple health-check tool with one optional parameter and no output schema, the description sufficiently covers what the tool does.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema fully describes the single parameter (network) with an enum. The description adds no extra meaning beyond the schema.

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 uses a specific verb 'Check' and resource 'Solana RPC node is healthy', clearly distinguishing it from sibling tools like get_balance or get_block.

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 description implies usage as a health check but provides no explicit when-to-use or when-not-to-use guidance nor alternatives among siblings.

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

get_largest_accountsB

Get the largest SOL-holding accounts on the network

ParametersJSON Schema
NameRequiredDescriptionDefault
filterNoFilter by circulating or non-circulating
networkNoSolana network

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations, the description carries the full burden for behavioral disclosure. It does not mention that the tool returns a list, whether results are sorted, paginated, or any rate limits. The description is minimal and lacks transparency beyond the basic purpose.

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 a single, clear sentence without any redundancy. It is appropriately sized and front-loaded with the core action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that there are no annotations, no output schema, and simple parameters, the description is minimally adequate but lacks details on return format, ordering, or any constraints. It is complete enough for a very simple tool but could be more informative.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the schema already describes both parameters with enums and brief descriptions. The description adds no additional meaning beyond 'largest SOL-holding accounts', so it meets the baseline expectation but provides no extra value.

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 uses a specific verb ('Get') and clearly identifies the resource ('largest SOL-holding accounts') and scope ('on the network'). It effectively distinguishes this tool from siblings like 'get_largest_token_holders' which focus on tokens.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives (e.g., 'get_largest_token_holders' or 'get_account_info'). The description does not mention prerequisites, limitations, or exclusions.

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

get_largest_token_holdersC

Get the largest holders of an SPL token

ParametersJSON Schema
NameRequiredDescriptionDefault
mint_addressYesToken mint address
networkNoSolana network

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description should disclose behavioral traits. It does not specify what 'largest' means, whether results are sorted, any pagination, or rate limits.

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?

Single sentence, front-loaded, and to the point. Could be more informative without bloat.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Lacks output schema or description of return format. Does not clarify what data is returned (e.g., addresses, amounts). Partially complete for a simple tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers both parameters fully; description adds minimal extra meaning beyond stating it's for an SPL token.

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?

The description clearly states the tool gets the largest holders of an SPL token, matching the name. However, it does not differentiate from sibling tools like get_token_accounts that might also list holders.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives (e.g., get_token_accounts). Missing context about suitable use cases.

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

get_minimum_balance_for_rentA

Calculate the minimum SOL balance needed to keep an account rent-exempt

ParametersJSON Schema
NameRequiredDescriptionDefault
data_sizeYesAccount data size in bytes
networkNoSolana network

TDQS

A3.7/5.0
Behavior3/5

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

No annotations are provided, so the description must convey behavioral traits. It indicates a read-only calculation with no side effects, but lacks details on authorization, rate limits, or whether it reads blockchain state.

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 a single, front-loaded sentence with no filler. Every word adds value, making it highly concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given two parameters and no output schema, the description is minimally complete. However, it does not mention the output format (e.g., lamports or SOL) or clarify how the network parameter affects the calculation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The tool description adds overall context but does not provide additional meaning beyond the schema's parameter descriptions.

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 uses a clear verb 'Calculate' and specifies the resource 'minimum SOL balance' with context 'to keep an account rent-exempt'. It directly states the tool's function and distinguishes it from sibling tools like get_balance or get_account_info.

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 description does not explicitly state when to use this tool versus alternatives, nor does it provide context like prerequisites or when not to use it. The usage is implied but not guided.

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

get_nft_collection_infoA

Get info about an NFT collection by checking a sample NFT from the collection

ParametersJSON Schema
NameRequiredDescriptionDefault
mint_addressYesMint address of any NFT in the collection
networkNoSolana network

TDQS

A3.7/5.0
Behavior3/5

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

No annotations are provided, so the description carries full burden. It describes a read-only operation (get info) but does not explicitly state safety characteristics or limitations, such as what happens if the mint address is not part of a collection.

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 a single sentence with no wasted words, front-loaded with the core purpose. It is as concise as possible while conveying the essential information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with two parameters and no output schema, the description provides the essential purpose and parameter usage. However, it lacks information about the return value or potential errors, which would help the agent fully understand the behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/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 clarifies the purpose of the mint_address parameter as for any NFT in the collection, but this is already present in the schema description. No additional meaning is added beyond the schema.

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 tool name and description clearly state it retrieves information about an NFT collection by checking a sample NFT. The verb 'get' and resource 'NFT collection info' are specific, and the method 'by checking a sample NFT' distinguishes it from sibling tools like get_nft_metadata.

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 description implies usage for obtaining collection info via a sample NFT, but it does not provide explicit guidance on when to use this tool versus alternatives like get_nft_metadata, nor does it mention when not to use it.

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

get_nft_metadataA

Get on-chain metadata for an NFT by its mint address

ParametersJSON Schema
NameRequiredDescriptionDefault
mint_addressYesNFT mint address
networkNoSolana network

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden. It implies a read-only operation ('Get'), but does not disclose behavioral traits like response format, error handling, or any side effects. Adequate for a simple read action but lacks depth.

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 a single sentence of 6 words, front-loading the purpose with zero wasted words. Every word earns its place.

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?

Given the tool's simplicity (2 parameters, no output schema), the description is mostly complete. It covers the core action and key parameter, though it omits what metadata includes or potential error cases. Adequate for a straightforward read tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% with both parameters having descriptions ('NFT mint address' and 'Solana network'). The description adds no additional meaning beyond the schema, so baseline score of 3 is appropriate.

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 clearly states 'Get on-chain metadata for an NFT by its mint address', using a specific verb and resource, which distinguishes it from sibling tools like get_nft_collection_info (collection-level) and get_nfts_by_owner (owner-level).

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

Usage Guidelines4/5

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

The description implies usage for retrieving metadata of a single NFT by mint address, but does not explicitly state when not to use it or mention alternative tools for broader queries.

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

get_nfts_by_ownerB

Get all NFTs owned by a wallet address

ParametersJSON Schema
NameRequiredDescriptionDefault
wallet_addressYesWallet address
networkNoSolana network

TDQS

B3.4/5.0
Behavior2/5

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

No annotations provided; description does not disclose any behavioral traits such as pagination, rate limits, or response size handling. For a tool that may return many NFTs, this is a gap.

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?

Single sentence, no wordiness. Perfectly concise and front-loaded with the essential purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite clean schema and concise description, the lack of detail on what 'NFTs' means (e.g., full metadata vs. just mint addresses) and the presence of similar sibling tools (get_nft_collection_info, get_nft_metadata) leaves the agent underinformed. No output schema explanation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with clear parameter descriptions ('Wallet address', 'Solana network' with enum). Description adds no extra meaning beyond schema, so baseline score of 3 is appropriate.

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?

Description clearly states 'Get all NFTs owned by a wallet address' with a specific verb and resource, distinguishing it from sibling tools like get_balance or get_token_accounts.

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?

Description implies usage for retrieving NFTs but lacks explicit guidance on when to use this tool versus alternatives like get_nft_collection_info or get_nft_metadata. No when-not or conditions mentioned.

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

get_program_accountsB

Get all accounts owned by a program with optional filters

ParametersJSON Schema
NameRequiredDescriptionDefault
program_idYesProgram address
data_sizeNoFilter by account data size in bytes
limitNoMax accounts to return (default 20)
networkNoSolana network

TDQS

B3/5.0
Behavior2/5

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

No annotations exist, so the description should disclose behavioral traits. It only says 'get' which implies read-only, but doesn't mention side effects, performance implications, or other behaviors beyond what the schema provides.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, which is concise but lacks structure. It could be improved by adding a second sentence about return format or usage, but as is, it does not fully earn its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, so the description should explain return values (e.g., list of accounts). It doesn't mention pagination or limit behavior. Given the complexity of 4 params and no output description, it's incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 100% coverage, so the description adds minimal value. 'With optional filters' is redundant given schema's optional fields. No additional meaning or usage hints for parameters.

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 clearly states the tool gets all accounts owned by a program with optional filters. The verb 'Get' and resource 'accounts owned by a program' are specific and distinguish it from sibling tools like get_token_accounts.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives (e.g., get_account_info for a single account). No mention of prerequisites or when it might be inappropriate.

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

get_recent_transactionsB

Get recent transaction signatures for a Solana address

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesSolana wallet address
limitNoNumber of transactions to return (default 10, max 50)
networkNoSolana network to use

TDQS

B3.3/5.0
Behavior2/5

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

No annotations provided, so the description must disclose behavioral traits. It only states it 'gets' signatures, without mentioning whether it's read-only, rate limits, or what format the signatures return. Lacks depth.

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?

Single sentence of 9 words, front-loaded with the purpose, no redundant information. Maximally concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with full schema coverage, the description is adequate but could elaborate on output format or limitations. Lacks completeness about what 'transaction signatures' entails.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description does not add additional meaning beyond the schema's parameter descriptions.

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 clearly states the verb 'Get', the resource 'recent transaction signatures', and the target 'Solana address'. It distinguishes itself from siblings like 'get_transaction' that retrieves a single transaction.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like 'get_transaction' or 'get_token_accounts'. No conditions or prerequisites mentioned.

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

get_slotB

Get the current slot number

ParametersJSON Schema
NameRequiredDescriptionDefault
networkNoSolana network

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It only states the operation without disclosing behavioral traits such as rate limits, authentication needs, or that it is a read-only operation.

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 a single, efficient sentence with no wasted words. It is appropriately sized for a simple tool.

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?

Given the tool's simplicity (one optional parameter, no output schema), the description is largely complete. It implicitly conveys that the return value is a number (the slot), though explicitly stating the return type would be an improvement.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema covers 100% of parameters with a description for 'network', so the baseline is 3. The description adds no further meaning beyond the schema.

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 'Get the current slot number' uses a specific verb and resource, clearly stating what the tool does. It distinguishes itself from sibling tools like get_block_height or get_epoch_info by targeting a unique blockchain concept.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. The description does not mention any context, exclusions, or prerequisites for using get_slot.

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

get_sol_priceA

Get the current SOL price in USD via Jupiter

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior3/5

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

The description adds the context 'via Jupiter', disclosing the data source. However, no annotations are provided, and the description does not mention side effects, rate limits, or whether the price is real-time. It is adequate for a simple read operation.

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 a single sentence of 9 words, front-loaded with the verb and resource. It contains no extraneous information and is highly efficient.

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?

Given zero parameters, no output schema, and a straightforward purpose, the description fully covers the necessary context. The source (Jupiter) is disclosed, and the sibling tools provide enough differentiation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has no parameters, and schema description coverage is 100%. According to the rules, baseline is 3 when coverage is high. The description adds no parameter info, which is fine as there are none.

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 clearly states the action (Get), the resource (current SOL price in USD), and the source (via Jupiter). It distinguishes itself from siblings like get_token_price (for other tokens) and get_swap_quote (for swap quotes).

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 description implies when to use it (when needing SOL price) but does not explicitly mention when not to use it or provide alternatives. The sibling list includes other price tools, but no guidance on selection.

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

get_stake_accountsB

Get all stake accounts for a Solana wallet

ParametersJSON Schema
NameRequiredDescriptionDefault
wallet_addressYesWallet address to check
networkNoSolana network

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure but fails to mention any traits like pagination, error handling, or that the tool is read-only. It simply restates the purpose.

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 a single, well-structured sentence with no unnecessary words, making it highly concise and front-loaded with the essential action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Without an output schema, the description should indicate the response format or completeness (e.g., returns full stake account details), but it provides no such context, leaving the agent uncertain about the tool's output.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and both parameters are clearly described. The description adds no additional semantic details beyond what the schema provides, so a baseline score of 3 is appropriate.

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 uses a specific verb-resource pair ('Get all stake accounts') and clearly scopes to a Solana wallet, making the purpose unambiguous and distinguishing it from sibling tools like get_account_info or get_token_accounts.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like get_account_info or get_token_accounts, nor does it mention any prerequisites or context such as wallet address format.

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

get_supplyC

Get the total SOL supply and circulation info

ParametersJSON Schema
NameRequiredDescriptionDefault
networkNoSolana network

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It only says 'Get', implying read-only, but does not disclose any side effects, return format, or potential errors. It lacks behavioral detail beyond the basic purpose.

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 extremely concise (one sentence) and front-loaded with the key action. It could be slightly more informative without damaging conciseness, but it is efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read tool with one optional parameter and no output schema, the description is adequate but vague. It does not explain what 'circulation info' includes or how the network parameter affects results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% (one parameter fully defined with enum). The description adds no parameter-level information, so it meets the baseline of 3 without adding extra value.

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?

The description clearly states it gets total SOL supply and circulation info, which distinguishes it from sibling tools like get_token_supply (for other tokens) and get_balance (account-level). However, it could be more explicit about being for Solana blockchain supply.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. There is no mention of prerequisites, nor any exclusions or recommended contexts.

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

get_swap_quoteB

Get a swap quote from Jupiter DEX aggregator

ParametersJSON Schema
NameRequiredDescriptionDefault
input_mintYesInput token mint address (or 'SOL' for native SOL)
output_mintYesOutput token mint address (or 'SOL' for native SOL)
amountYesAmount of input token (UI amount)
slippage_bpsNoSlippage tolerance in basis points (default 50 = 0.5%)

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It only says 'Get a swap quote' without disclosing that it's a read-only operation, or any potential side effects, rate limits, or prerequisites. Minimal behavioral context.

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 a single, concise sentence with no redundant information. It is appropriately sized for the tool's simplicity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations and no output schema, the description should provide more context about what the quote includes and how it relates to swap execution. It lacks completeness for a tool that is a prerequisite for another operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 parameters. The description adds no extra meaning beyond what is in the schema, meeting baseline but not exceeding.

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 clearly states the verb ('Get'), resource ('swap quote'), and specific source ('Jupiter DEX aggregator'). It distinguishes itself from siblings like 'execute_swap' which actually performs the swap.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs alternatives. It does not mention that it should be used before 'execute_swap' or that it provides a quote without executing the trade.

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

get_token_accountsA

Get all SPL token accounts owned by a wallet address

ParametersJSON Schema
NameRequiredDescriptionDefault
wallet_addressYesWallet address to check
networkNoSolana network

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description must cover behavioral aspects. It states a read operation ('Get'), but does not disclose potential behaviors like pagination limits, rate limits, or what 'all' entails. The description lacks detail beyond the basic function.

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?

A single, clear sentence with no redundant words. The description is economically structured and front-loaded with the key action and resource.

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 simple retrieval tool with well-described parameters and no nested objects, the description is mostly complete. However, it lacks output schema or explanation of return format (e.g., list of token accounts), which would be helpful. Still, the core purpose is clear.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% (both parameters described in the input schema). The description adds no additional meaning beyond the schema; it essentially restates the param names. Baseline of 3 is appropriate.

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 uses a specific verb ('Get') and resource ('all SPL token accounts') and clearly indicates the scope ('owned by a wallet address'). It effectively distinguishes this tool from siblings like get_token_balance, which retrieves a single account balance.

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?

No explicit guidance on when to use this tool versus alternatives (e.g., get_token_balance). Usage is implied but not compared or contrasted with sibling tools. Missing when-not-to-use or prerequisite conditions.

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

get_token_balanceB

Get the SPL token balance of a wallet for a specific token mint

ParametersJSON Schema
NameRequiredDescriptionDefault
wallet_addressYesWallet address to check
mint_addressYesSPL token mint address
networkNoSolana network

TDQS

B3.4/5.0
Behavior2/5

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

No annotations provided, so the description must fully convey behavioral traits. It only states the action, omitting details like return format (raw balance vs. human-readable), side effects, or required permissions.

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?

Single, clear sentence with no extraneous words. Employs front-loading of the key action and resource.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Minimal description for a 3-parameter tool with no output schema. Missing details on network defaults, decimal handling, or interpretation of the returned balance. Agent would lack sufficient context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema descriptions cover all three parameters (100% coverage). The tool description adds no additional meaning beyond the schema, so baseline score of 3 is appropriate.

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?

Description clearly states the verb 'Get', the resource 'SPL token balance', and the scope 'of a wallet for a specific token mint'. It distinguishes from siblings like get_balance (SOL balance) and get_token_supply.

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?

No explicit guidance on when to use this tool versus siblings such as get_token_accounts or get_balance. The specificity implies usage for SPL token balances by mint, but no alternatives 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.

get_token_infoB

Get metadata and supply info for an SPL token by its mint address

ParametersJSON Schema
NameRequiredDescriptionDefault
mint_addressYesSPL token mint address
networkNoSolana network

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose behavioral traits such as read-only nature, data freshness, authentication needs, or rate limits. The agent is left unaware of any important behavioral context.

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?

Single sentence, no fluff, and efficiently conveys the tool's purpose. Could benefit from slightly more structure but is appropriately concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read tool with 2 parameters, the description is fairly complete but lacks detail on the return format or what specific metadata is provided. No output schema exists to fill the gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% with both parameters having descriptions. The description adds minimal extra meaning beyond 'by its mint address', which maps to the mint_address parameter. No additional context for the network parameter.

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 clearly states the tool gets metadata and supply info for an SPL token by its mint address. It uses a specific verb and resource, and distinguishes from sibling tools like get_token_supply or get_token_balance.

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 description implies usage when needing token info, but lacks explicit guidance on when to use this tool versus alternatives like get_token_supply or get_token_balance. No when-not-to-use or alternative references are provided.

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

get_token_priceA

Get the current USD price of a Solana token using Jupiter price API

ParametersJSON Schema
NameRequiredDescriptionDefault
mint_addressYesToken mint address (or 'SOL' for native SOL)

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries full burden. It discloses the basic behavior (gets price via Jupiter API) but does not mention latency, rate limits, error handling (e.g., if mint address is invalid), or any side effects (likely none). Adequate but not detailed.

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 a single sentence of 12 words, efficiently conveying purpose and method with zero wasted words.

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?

Given the tool's simplicity (single parameter, no output schema) and high schema coverage, the description is largely complete for its purpose. However, it lacks usage guidance and behavioral transparency, which slightly detracts from completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the parameter description in the schema already states 'Token mint address (or 'SOL' for native SOL)'. The tool description adds no extra semantic value beyond what is in the schema, meeting 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 clearly states the verb 'Get', the resource 'current USD price of a Solana token', and the method 'using Jupiter price API'. It distinguishes itself from sibling tool 'get_sol_price' by specifying that it gets price for any Solana token (including SOL via special address).

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like 'get_sol_price', or on any prerequisites or limitations. The agent has to infer usage context from the tool name and description alone.

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

get_token_supplyB

Get the total and circulating supply of an SPL token

ParametersJSON Schema
NameRequiredDescriptionDefault
mint_addressYesToken mint address
networkNoSolana network

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations, the description should disclose behavioral traits but only states the function; missing details like rate limits, error handling, or response format.

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?

Single sentence, no filler, front-loaded with key verb and resource.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequate for a simple query but lacks descriptions for return values or edge cases, especially given no output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers 100% of parameters with descriptions; the description adds no extra meaning beyond what's already in the schema, so baseline score applies.

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 clearly states the verb 'Get' and the resource 'total and circulating supply of an SPL token', distinguishing it from sibling tools like get_supply (likely for SOL) and get_token_info.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives such as get_supply or get_token_info, nor any prerequisites or exclusions.

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

get_tpsB

Get the current transactions per second (TPS) on Solana

ParametersJSON Schema
NameRequiredDescriptionDefault
networkNoSolana network

TDQS

B3.3/5.0
Behavior2/5

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

No annotations provided; description says 'current' but doesn't clarify if real-time, cached, or how often it updates; no mention of side effects or data source.

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?

Single sentence, no extraneous text, front-loaded with key information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Simple tool with one optional parameter; no output schema, but description is minimally adequate; lacks details on return format or potential errors.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage 100% with enum for network; description does not add value beyond schema, but baseline 3 is appropriate as schema already explains parameter.

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?

Clearly states the tool retrieves current TPS on Solana, a specific verb-resource combination that distinguishes it from other get_* tools.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like get_health or get_block; no mention of rate limits or caching behavior.

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

get_transactionB

Get details of a Solana transaction by its signature

ParametersJSON Schema
NameRequiredDescriptionDefault
signatureYesTransaction signature (base58)
networkNoSolana network to use

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations, the description carries the full burden for behavioral disclosure. It simply says 'Get details', but omits what those details include (no output schema), whether it is read-only (implicit but not explicit), or any potential costs or rate limits. The behavior is minimally transparent.

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 a single sentence that immediately conveys the tool's purpose. Every word is necessary, with no fluff. It is effectively front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the low complexity and high schema coverage, the description is minimally adequate. However, the absence of any detail about return values or additional behavior (e.g., handling of invalid signatures) leaves gaps, especially without an output schema or annotations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already provides 100% coverage with descriptions for both parameters (signature as base58, network as enum). The description adds no new meaning beyond restating the purpose; it does not explain network defaults or how the signature is used. Baseline 3 is appropriate.

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 clearly states the verb 'get' and the resource 'details of a Solana transaction', and specifies the key parameter 'by its signature'. It effectively distinguishes from sibling tools like get_recent_transactions or get_block, which serve different retrieval purposes.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites (e.g., needing a valid transaction signature), nor does it advise against using it without a specific signature or suggest other tools for broader queries.

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

get_wallet_addressA

Get the public wallet address from the configured PRIVATE_KEY

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description must convey behavioral traits. It reveals that the address comes from a configured PRIVATE_KEY, implying a read operation. However, it does not explicitly state that it is read-only, idempotent, or what happens if the key is missing. Minimal but adequate.

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 a single concise sentence with no extraneous words. It front-loads the action and resource, making it easy to parse.

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?

Given the tool's simplicity (no parameters, no output schema, no annotations), the description is largely sufficient. It explains the purpose and source. It could hint at the return type, but not necessary for basic usage.

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?

The tool has no parameters, and the schema coverage is 100%. According to the rubric, 0 parameters warrants a baseline of 4. The description adds no parameter info, but none is needed.

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 clearly states the verb 'Get' and the resource 'public wallet address' with the source 'from the configured PRIVATE_KEY'. It distinguishes itself from sibling tools, as no other tool retrieves the wallet address.

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 description implies usage when the wallet address is needed, but it does not explicitly state when to use or when not to use this tool compared to siblings like get_account_info or get_balance. Given the tool's simplicity, the lack of explicit alternatives is acceptable but not ideal.

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

identify_programB

Look up a well-known Solana program by its address

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesProgram address to identify

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description carries full burden for behavioral disclosure. It does not indicate side-effects (e.g., read-only or destructive), what 'identify' entails (e.g., returns metadata or just existence), or any prerequisites. This is insufficient for safe invocation.

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 a single concise sentence with no unnecessary words. It is front-loaded with the key action and resource.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description should hint at the return value or behavior. It does not explain what 'identify' returns, what qualifies as 'well-known', or error handling. This is incomplete for a simple but arbitrary lookup tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with a single parameter. The description merely restates the parameter ('by its address') without adding new meaning. Baseline score of 3 is appropriate as the schema already documents the parameter adequately.

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 clearly states the action ('look up'), the resource ('a well-known Solana program'), and the method ('by its address'). It distinguishes the tool from siblings like 'is_program' which likely only checks existence.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like 'is_program' or 'get_program_accounts'. The description lacks contextual cues for tool selection.

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

is_programB

Check if a Solana address is an executable program

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesSolana address to check
networkNoSolana network

TDQS

B3.3/5.0
Behavior2/5

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

No annotations provided, and description does not disclose side effects (none expected), error conditions, or return type. It fails to add behavioral context beyond the basic action.

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?

Single sentence, 9 words, front-loaded with purpose. No extraneous information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool is simple with 2 params, no output schema. Description omits return value format (likely boolean) and any edge cases, but is adequate for basic usage. Slightly incomplete due to lack of return type hint.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so parameters are already documented. Description adds no extra meaning beyond what schema provides, hence baseline score of 3.

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?

Description uses specific verb 'Check' and resource 'Solana address' with clear outcome 'is an executable program'. It is distinct from siblings, none of which have the same purpose.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs alternatives like 'identify_program' or other read-only tools. No context about prerequisites or typical usage scenarios.

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

mint_tokensA

Mint SPL tokens to a destination wallet. Requires PRIVATE_KEY with mint authority.

ParametersJSON Schema
NameRequiredDescriptionDefault
mint_addressYesToken mint address
to_addressYesDestination wallet address
amountYesAmount of tokens to mint (UI amount)
networkYesNetwork — MUST be specified

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations provided, the description must carry the full burden of behavioral disclosure. It reveals the authorization requirement (mint authority) and implies a write operation, but does not detail side effects, reversibility, or error handling. Adequate but not comprehensive.

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 exceptionally concise: two sentences, zero wasted words. The first sentence communicates the core action, and the second adds a critical requirement.

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?

Given the lack of output schema and annotations, the description provides the essential purpose and a key requirement. It could mention the return value or effect on supply, but the tool is straightforward enough that the current completeness is high.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage for all four parameters, so the schema already provides meanings. The description adds no additional parameter-specific information beyond the schema, earning a baseline score of 3.

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 clearly states the action (mint), the resource (SPL tokens), and the target (destination wallet). It distinguishes the tool from sibling tools like burn_tokens, create_token, and transfer_token by specifying the verb and context.

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 description mentions a requirement (PRIVATE_KEY with mint authority), which provides some usage context but does not explicitly state when to use this tool over siblings like create_token or transfer_token. The guidance is implied rather than explicit.

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

read_account_dataA

Read and return the raw data of a Solana account (base64 encoded)

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesAccount address to read
encodingNoData encoding (default base64)
networkNoSolana network

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations, the description carries the full burden. It explicitly states 'Read' indicating a read-only, non-destructive operation. This is sufficient to convey behavioral safety, though it does not detail error conditions or idempotency.

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?

A single sentence that is perfectly concise and informative. Every word serves a purpose, with no fluff or redundancy.

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 simple read tool with no output schema, the description adequately explains what the tool does and the default encoding. It could be more explicit about the return format (e.g., 'returns base64-encoded string'), but the current text is sufficient for basic usage. Given the low complexity, it is nearly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage for all three parameters. The description adds no new semantic information beyond what the schema already provides (e.g., encoding default). Baseline 3 is appropriate.

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 clearly states the verb 'Read and return' and the resource 'raw data of a Solana account'. It includes a specific detail about encoding (base64), which aligns with the default parameter. The tool's purpose is distinct from siblings like get_account_info which likely returns parsed data.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus siblings (e.g., get_account_info, get_balance). The description does not mention any prerequisites, alternatives, or best practices.

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

request_airdropA

Request a SOL airdrop on devnet or testnet (for testing purposes only)

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesSolana address to receive the airdrop
amount_solYesAmount of SOL to airdrop (max 2)
networkYesNetwork for airdrop (devnet or testnet only)

TDQS

A3.7/5.0
Behavior2/5

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

With no annotations, the description bears full burden. It indicates the tool is for testing but does not disclose behavioral traits like success conditions, rate limits, or idempotency.

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 a single, concise sentence that efficiently conveys the tool's purpose without extraneous information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the essential network restriction but lacks details on return values, error handling, or behavioral specifics. Adequate for a simple tool with 3 params and no output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the description adds no additional meaning beyond the schema. Baseline score of 3 is appropriate.

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 clearly states the action (request), the resource (SOL airdrop), and the scope (devnet/testnet only). It distinguishes from siblings as no other tool offers an airdrop.

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

Usage Guidelines4/5

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

The description specifies that the tool is for testing purposes only on devnet/testnet, providing clear context. However, it does not explicitly mention when not to use it or suggest alternatives, though none exist.

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

transfer_solB

Transfer SOL from the configured wallet to a destination address. Requires PRIVATE_KEY environment variable.

ParametersJSON Schema
NameRequiredDescriptionDefault
to_addressYesDestination Solana address
amount_solYesAmount of SOL to transfer
networkNoSolana network to use — MUST be specified by user for safety

TDQS

B3.4/5.0
Behavior2/5

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

With no annotations provided, the description must fully disclose behavioral traits. It states the tool transfers SOL and requires a private key, but omits critical details: whether it is destructive (obviously mutation), the network parameter requirement (described only in schema), return values, error handling, and side effects. This leaves significant gaps for an agent.

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 very concise: two sentences, front-loaded with the primary action. However, it could be structured to include more details (e.g., listing prerequisites or mentioning the network parameter) without adding length. It efficiently conveys the core purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a financial transfer tool with 3 parameters, no output schema, and no annotations, the description is minimally adequate. It explains what the tool does and a key prerequisite, but lacks details on network usage, destination address format, success/failure behavior, and potential errors. Given the complexity, more completeness would be beneficial.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The tool description adds no parameter-specific information beyond what the schema already provides. The schema descriptions are adequate (e.g., destination address, amount with exclusiveMinimum, network with safety note), so the agent can rely on the schema.

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 clearly states 'Transfer SOL from the configured wallet to a destination address,' specifying the verb (transfer) and resource (SOL) while distinguishing it from sibling tools like transfer_token (for tokens) and request_airdrop (for airdrops). The requirement of PRIVATE_KEY further clarifies the context.

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 description mentions 'Requires PRIVATE_KEY environment variable,' which is a prerequisite but does not explicitly state when to use this tool versus alternatives (e.g., transfer_token or request_airdrop). No when-not or alternative usage guidance is provided, leaving the agent to infer from sibling names.

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

transfer_tokenB

Transfer SPL tokens from the configured wallet to a destination. Requires PRIVATE_KEY.

ParametersJSON Schema
NameRequiredDescriptionDefault
mint_addressYesToken mint address
to_addressYesDestination wallet address
amountYesAmount of tokens to transfer (UI amount)
networkYesNetwork — MUST be specified

TDQS

B3.4/5.0
Behavior2/5

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

No annotations provided, so the description carries full burden. It only discloses the need for a private key but omits other behavioral traits such as side effects (deduction from sender, addition to destination), error conditions (insufficient balance, invalid address), or transaction confirmation. Limited transparency.

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?

Extremely concise: one sentence plus a required note. No filler words, front-loaded with action. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (4 required params, no output schema, no annotations), the description is too sparse. It lacks information about return values, network-specific behavior, token decimal handling, and error scenarios. The schema covers parameter descriptions but the description fails to provide operational context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with all four parameters described adequately in the schema. The description adds no additional meaning beyond the schema; it does not clarify units (UI amount), network implications, or address format. Baseline score for high coverage.

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?

Clearly states the tool transfers SPL tokens from the configured wallet to a destination, using the verb 'transfer' and specifying the resource (SPL tokens) and direction (configured wallet to destination). This distinguishes it from siblings like transfer_sol (SOL) and other token operations.

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?

Mentions the prerequisite 'Requires PRIVATE_KEY', which is helpful, but does not provide guidance on when to use this tool versus alternatives (e.g., transfer_sol, burn_tokens) or when not to use it. No explicit usage context or exclusion criteria.

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. Dates show when Glama detected each change.

  1. 38 tool updatesv0.1.0
    • First observedburn_tokens
    • First observedcreate_token
    • First observedexecute_swap
    • First observedget_account_info
    • First observedget_balance
    • First observedget_block
    • First observedget_block_height
    • First observedget_cluster_nodes
    • First observedget_epoch_info
    • First observedget_health
    • First observedget_largest_accounts
    • First observedget_largest_token_holders
    • First observedget_minimum_balance_for_rent
    • First observedget_nft_collection_info
    • First observedget_nft_metadata
    • First observedget_nfts_by_owner
    • First observedget_program_accounts
    • First observedget_recent_transactions
    • First observedget_slot
    • First observedget_sol_price
    • First observedget_stake_accounts
    • First observedget_supply
    • First observedget_swap_quote
    • First observedget_token_accounts
    • First observedget_token_balance
    • First observedget_token_info
    • First observedget_token_price
    • First observedget_token_supply
    • First observedget_tps
    • First observedget_transaction
    • First observedget_wallet_address
    • First observedidentify_program
    • First observedis_program
    • First observedmint_tokens
    • First observedread_account_data
    • First observedrequest_airdrop
    • First observedtransfer_sol
    • First observedtransfer_token

TDQS

A3.5/5.0
Disambiguation5/5

Each tool targets a distinct resource or action (e.g., get_balance vs get_token_balance, get_account_info vs read_account_data). No overlapping purposes; descriptions clearly differentiate read vs write operations.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern in snake_case (e.g., get_block, create_token, transfer_sol). Exceptions like get_largest_accounts and get_nfts_by_owner still adhere to the pattern, making naming predictable.

Tool Count3/5

38 tools is on the higher end, but the broad scope of Solana operations (accounts, tokens, NFTs, transactions, etc.) justifies the count. It leans toward heavy but remains well-organized and not excessive for a full-featured blockchain server.

Completeness4/5

Covers major read and write operations for SOL, SPL tokens, NFTs, and network queries. Missing features like token delegation or wallet creation are minor, and the tool set handles most common agent workflows without dead ends.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

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/visioneth/solana-mcp'

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