Skip to main content
Glama

SOL Forge

SOL Forge is a Model Context Protocol (MCP) server that enables any AI agent to interact with the Solana blockchain. It provides 20 tools covering wallet management, SPL token operations, blockchain exploration, DeFi integration via Jupiter, and built-in safety guards.


Why SOL Forge?

The Solana ecosystem has powerful tools — @solana/web3.js, SPL Token library, Jupiter aggregator — but they require developers to write custom integration code. SOL Forge wraps these into a standardized MCP interface, meaning any AI agent can interact with Solana with zero custom code.

Key Features

  1. First Comprehensive Solana MCP Server: Exposes the full Solana interaction surface (wallets, tokens, explorer, DeFi) through MCP, the emerging standard for AI-tool interop.

  2. Safety-First Design: Every destructive operation supports simulateOnly mode. Transaction simulation and fee estimation happen before execution. Critical for autonomous agents.

  3. Zero API Keys Required for Queries: Price data via Jupiter is free (no key). Explorer queries use public Solana RPC. Only on-chain transactions require a funded wallet.


Related MCP server: Solafon MCP

How Solana Is Used

SOL Forge uses Solana meaningfully across multiple layers:

Layer

How

RPC

Full connection management to any Solana cluster (mainnet, devnet, testnet) via @solana/web3.js

On-chain Programs

Interacts with System Program (SOL transfers) and SPL Token Program (token creation, minting, transfers, burns)

Transactions

Constructs, simulates, signs, and confirms real on-chain transactions

Indexing

Reads parsed transactions, token accounts, block data, and account info from Solana's indexer

DeFi

Integrates with Jupiter V6 aggregator for real-time pricing and swap quotes across all Solana DEXs


Tools (20 Total)

Wallet Operations (6 tools)

Tool

Description

create_wallet

Generate new Solana keypair, stored locally

list_wallets

List all locally stored wallets

get_balance

Get SOL balance for any address

get_wallet_info

Full wallet info: SOL, tokens, executable status

transfer_sol

Send SOL with simulation-first safety

request_airdrop

Devnet SOL airdrop (max 2 SOL)

SPL Token Operations (6 tools)

Tool

Description

create_token

Create new SPL token with configurable decimals

mint_tokens

Mint tokens to any wallet

transfer_token

Transfer SPL tokens between wallets

get_token_info

Token mint info: supply, decimals, authorities

get_token_accounts

List all token accounts for a wallet

burn_tokens

Burn tokens permanently

Blockchain Explorer (5 tools)

Tool

Description

get_transaction

Detailed parsed transaction info

get_account_info

Account data: owner, balance, data size

get_recent_blocks

Recent block information

get_slot

Current slot, block height, epoch info

get_signatures_for_address

Recent tx signatures for any address

DeFi & Prices (4 tools)

Tool

Description

get_token_price

Real-time price via Jupiter (no API key)

get_multi_prices

Batch price queries for multiple tokens

get_swap_quote

Swap quote between any two Solana tokens

list_known_tokens

Built-in token registry (SOL, USDC, BONK, JUP, etc.)

Safety (built into transfer tools)

  • simulateOnly flag on all destructive operations

  • Automatic fee estimation before execution

  • LAMPORTS_PER_SOL precision handling


Quick Start

Install

git clone https://github.com/Fahrur-Rozi-dev/sol-forge.git
cd sol-forge
npm install
npm run build

Use with Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "sol-forge": {
      "command": "node",
      "args": ["/path/to/sol-forge/dist/index.js"],
      "env": {
        "SOLANA_RPC_URL": "https://api.mainnet-beta.solana.com"
      }
    }
  }
}

Use with Any MCP Client

# Start the MCP server (stdio transport)
node dist/index.js

# Or set custom RPC
SOLANA_RPC_URL="https://api.devnet.solana.com" node dist/index.js

Use Programmatically

import { createSolForgeServer } from './src/server.js';

const server = createSolForgeServer({
  rpcUrl: 'https://api.devnet.solana.com',
  commitment: 'confirmed',
});

// Server is now ready with all 20 tools registered

Environment Variables

Variable

Default

Description

SOLANA_RPC_URL

https://api.mainnet-beta.solana.com

Solana RPC endpoint

SOLANA_COMMITMENT

confirmed

Transaction commitment level


Architecture

sol-forge/
├── src/
│   ├── index.ts              # Entry point — stdio MCP transport
│   ├── server.ts             # MCP server factory with tool registration
│   ├── types.ts              # TypeScript interfaces
│   ├── tools/
│   │   ├── index.ts          # Re-exports all tool categories
│   │   ├── wallet.ts         # Wallet CRUD + transfer + airdrop
│   │   ├── token.ts          # SPL token lifecycle (create/mint/transfer/burn)
│   │   ├── explorer.ts       # Blockchain data queries
│   │   └── defi.ts           # Jupiter price + swap quotes
│   └── utils/
│       ├── connection.ts     # Solana RPC connection singleton
│       ├── keypair.ts        # Wallet file storage (~/.sol-forge-wallets/)
│       └── safety.ts         # Transaction simulation + fee estimation
├── tests/
│   └── core.test.ts          # Unit tests
├── package.json
├── tsconfig.json
├── jest.config.js
├── LICENSE                   # MIT
└── README.md

Development

# Build
npm run build

# Test
npm test

# Dev mode (auto-recompile)
npm run dev

License

MIT — use it for anything. Attribution appreciated but not required.

Available Tools

21 tools
burn_tokensB

Burn SPL tokens (reduce supply permanently).

ParametersJSON Schema
NameRequiredDescriptionDefault
amountYesAmount to burn (UI units)
mintAddressYesToken mint address
ownerPrivateKeyYesToken account owner private key (base58)

TDQS

B3.1/5.0
Behavior2/5

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

No annotations exist, so description is the sole source. It mentions 'reduce supply permanently' implying irreversibility, but lacks details on required permissions, error conditions (insufficient balance, invalid mint), gas fees, or transaction confirmation.

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 is concise and front-loaded with the core action and effect. However, it may be too brief given the destructive nature of the operation.

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, yet description omits return value (e.g., transaction signature), error handling, prerequisites (owner key, token existence), and fees. For a permanent destructive action, this is inadequate.

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 is 3. Description does not add extra meaning beyond the schema; for example, 'UI units' is not clarified relative to raw token units. Parameter descriptions are adequate but not enhanced.

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 'Burn', resource 'SPL tokens', and the effect 'reduce supply permanently', which distinguishes it from siblings like mint_tokens (increase supply) and transfer_token (move 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, such as prerequisites (e.g., token account ownership, SOL for fees) or scenarios where burning is appropriate.

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 on Solana. Returns mint address.

ParametersJSON Schema
NameRequiredDescriptionDefault
decimalsNoNumber of decimal places (0-9)
simulateOnlyNoIf true, only simulate
authorityPrivateKeyYesToken authority private key (base58) — becomes mint & freeze authority

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 important behavioral traits such as cost, permission requirements, or the effect of simulateOnly. The description minimally states 'creates' and 'returns mint address', leaving the agent uninformed.

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 short and front-loaded with the core purpose. It contains no filler words, though it could be slightly expanded for completeness without being verbose.

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 mentions the return value (mint address), which is helpful given no output schema. However, it lacks context about prerequisites, potential side effects, or cost, making it only minimally complete for a creation action.

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 parameters. The description adds no additional meaning beyond what is already in the schema, 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 clearly states the action 'Create', the resource 'new SPL token on Solana', and the outcome 'Returns mint address.' This differentiates it from sibling tools like burn_tokens or mint_tokens.

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 is clear on what the tool does but does not provide explicit guidance on when to use it versus alternatives like mint_tokens or transfer_token. The context is somewhat implied by the purpose.

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

create_walletA

Generate a new Solana wallet (keypair). Stores locally.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoOptional wallet name (auto-generated if omitted)

TDQS

A3.5/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 fully disclose behavior. It states 'Stores locally' but does not detail what is stored, how it is stored, or any side effects/permissions. For a mutation tool, this is insufficient.

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 extremely concise with two sentences, front-loading the core purpose. Every word contributes meaning, with zero redundancy.

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 no output schema, the description should hint at what the tool returns (e.g., public key). It lacks this information and the 'stores locally' is somewhat vague. Complexity is low, so it is adequate but not 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?

With 100% schema description coverage, the schema already explains the 'name' parameter. The description adds no additional semantic context 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 the action ('Generate') and the resource ('new Solana wallet'), and specifies that it stores locally. This directly distinguishes it from sibling tools like 'list_wallets' and 'get_wallet_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 creating a new wallet but provides no explicit when-to-use or when-not-to-use guidance, nor does it mention alternatives like importing an existing wallet.

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 account info: owner, data size, executable status, SOL balance.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesAccount address (base58)

TDQS

A3.5/5.0
Behavior3/5

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

Disclosed return fields (owner, data size, executable status, SOL balance) but omits failure behavior for invalid addresses, rate limits, or read-only nature. Adequate for simple read, but not comprehensive without annotations.

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 filler, efficiently conveying core function. Front-loaded with 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 tool with one parameter and no output schema, but lacks explanation of 'executable status' and potential errors. Could be more 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% of parameters with description 'Account address (base58)'. Description adds no further semantics beyond 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?

Description explicitly states verb 'Get' and resource 'account info', listing specific fields (owner, data size, executable status, SOL balance). Differentiates from siblings like get_balance (only balance) or get_wallet_info (wallet 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 vs alternatives (e.g., get_balance for just balance, get_wallet_info for wallet-level info). No prerequisites or failure conditions mentioned.

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

get_balanceB

Get SOL balance for a wallet address.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesSolana wallet address (base58)

TDQS

B3.2/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 whether the balance is returned in SOL or lamports, or whether it supports all valid Solana addresses. Lacks behavioral context beyond the basic 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?

A single, clear sentence with no unnecessary words. It efficiently conveys the tool's purpose without redundancy.

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 is provided, and the description does not explain the return format (e.g., lamports or SOL). For a simple tool, this omission leaves agents uncertain about the response 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 input schema covers one required parameter with a clear description. The description adds minimal extra meaning beyond the schema, which has 100% coverage, so a 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 clearly states the verb 'Get', the resource 'SOL balance', and the target 'wallet address', making it specific and distinguishable from sibling tools like get_account_info or 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, nor any prerequisites or context for usage. The description is purely functional without usage advice.

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

get_multi_pricesA

Get prices for multiple tokens at once.

ParametersJSON Schema
NameRequiredDescriptionDefault
tokensYesList of token symbols or mint addresses

TDQS

A3.5/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 does not disclose behavioral traits such as rate limits, data freshness, error handling, or maximum batch size, which are important for a batch query tool.

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, efficient and to the point, with no unnecessary 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 one parameter and no output schema, the description is adequate but lacks details on the return format, which would be valuable for an agent. Minimal but not 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?

The input schema covers 100% of parameters with a clear description. The tool description adds no additional meaning beyond what is already in 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 the tool gets prices for multiple tokens, using a specific verb and resource, and the word 'multiple' distinguishes it from the sibling tool get_token_price which likely handles single tokens.

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. The name implies it is for batch queries, but there is no mention of when not to use it or prerequisites.

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

get_recent_blocksB

Get recent block information (last N blocks).

ParametersJSON Schema
NameRequiredDescriptionDefault
countNoNumber of blocks to fetch (1-10)

TDQS

B3.2/5.0
Behavior2/5

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

No annotations exist, so the description must carry the full burden. It does not disclose side effects, data format, or potential constraints beyond the schema's count limit. For a read operation, it's minimally adequate but lacks detail.

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 with zero wasted words. It is front-loaded and efficiently conveys 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?

With no output schema, the description should explain what 'block information' includes (e.g., hash, timestamp, transactions). It does not, leaving the agent uncertain about the return value. Incomplete for a tool with multiple siblings.

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 description adds 'last N blocks' which clarifies the retrieval order. However, it does not add further meaning beyond the schema's existing count description, earning the baseline score.

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 ('recent block information'), and qualification ('last N blocks'). It distinguishes from sibling tools like get_slot and get_transaction by focusing specifically on blocks.

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_slot for specific slots, get_transaction for transactions). The description only states what it does without context for selection.

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

get_signatures_for_addressB

Get recent transaction signatures for an address.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax signatures (1-50)
addressYesAddress to query (base58)

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 full burden but only states it's a read operation. No mention of response format, ordering, or what 'recent' means. Lacks details 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?

Single sentence, no filler words, directly states the tool's purpose. Efficient and 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?

The description is adequate for a simple list tool but misses return format and pagination guidance. Given no output schema, these details would improve 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% with descriptions for both parameters (address and limit). The description adds no additional 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 'recent transaction signatures', and the scope 'for an address'. It is distinct from sibling tools like 'get_transaction' and 'get_wallet_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 like 'get_transaction' for specific signatures. 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_slotA

Get current Solana slot, block height, and cluster info.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior2/5

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

With no annotations provided, the description must disclose behavioral traits. It does not mention idempotency, authentication needs, rate limits, or potential side effects. For a read operation, minimal disclosure is acceptable, but the description lacks even basic context like response timing or data freshness.

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 with no extraneous words. It efficiently conveys the tool's 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 simple read tool with no parameters and no annotations, the description is adequate but minimal. It could be improved by noting that the slot is the latest confirmed slot, or by referencing any dependencies like RPC node requirements.

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 schema coverage is effectively 100%. The description adds value beyond the schema by explicitly listing the returned data items (slot, block height, cluster info), helping the agent understand the output without an output 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 the function: getting current Solana slot, block height, and cluster info. It uses a specific verb ('Get') and resource, differentiating it from siblings like 'get_recent_blocks' which may provide block data but not the current slot.

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 retrieving current blockchain state information, but provides no explicit guidance on when to use this tool versus alternatives such as 'get_recent_blocks' or 'get_account_info'. No exclusions or conditions are mentioned.

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 between two tokens via Jupiter aggregator.

ParametersJSON Schema
NameRequiredDescriptionDefault
amountYesAmount of input token (in UI units)
inputTokenYesInput token symbol or mint address
outputTokenYesOutput token symbol or mint address
slippageBpsNoSlippage tolerance in basis points (default: 50 = 0.5%)

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 fails to disclose critical behavioral traits such as whether the tool is read-only, what is returned, or any side effects. It only states it gets a quote, leaving the agent to infer semantics.

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 concise sentence that is easily scannable. However, it could slightly benefit from structured formatting to highlight key points, but it is not verbose.

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 has 4 parameters, no output schema, and moderate complexity. The description is minimal and does not explain what the quote contains, how to interpret it, or any prerequisites like token existence. It is incomplete for effective use.

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 any additional parameter meaning beyond what the schema already provides, such as clarifying the difference between token symbols and mint addresses.

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 retrieves a swap quote between two tokens via Jupiter aggregator, specifying the verb and resource. However, it does not explicitly differentiate from sibling tools like 'transfer_token' or 'burn_tokens', but the purpose is distinct enough.

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 a quote before swapping, but it lacks explicit guidance on when to use this tool versus alternatives, such as when to use slippage or not. No when-not or alternative tool mentioned.

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

get_token_accountsA

List all SPL token accounts owned by a wallet.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesWallet address (base58)

TDQS

A3.5/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 operation ('List') but does not disclose output format, pagination, or whether it returns addresses or full account data. 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?

A single sentence with no redundancy. Every word adds value, and the information is 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?

With no output schema, the description should hint at the return format (e.g., list of addresses or account objects). It only says 'List all', which is vague. For a simple tool it's acceptable but could be more 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% of parameters with a clear description of 'address' as a base58 wallet address. The tool description adds context (SPL token accounts per wallet) but does not enhance parameter details beyond schema, so baseline 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 verb 'List', the resource 'all SPL token accounts', and the scope 'owned by a wallet'. It distinguishes from sibling tools like get_balance (SOL balance) and get_account_info (generic 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 vs alternatives (e.g., get_account_info). There is no mention of prerequisites or exclusions, leaving the agent without context for selection.

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 SPL token mint info: supply, decimals, authorities.

ParametersJSON Schema
NameRequiredDescriptionDefault
mintAddressYesToken mint address (base58)

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 like read-only nature or error conditions. It only lists output fields, omitting permissions, rate limits, or what happens if the mint address is invalid.

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 efficiently conveys the tool's purpose and key outputs without any 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?

For a simple read tool with one parameter and no output schema, the description minimally covers purpose and output fields. However, it lacks details on return format, pagination, or error behavior, leaving some gaps.

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 the parameter fully with a description of 'Token mint address (base58)'. The tool description adds no additional parameter context, 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 tool retrieves SPL token mint info including supply, decimals, and authorities, distinguishing it from siblings that deal with accounts, balances, or transactions.

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_token_accounts or get_balance. The description only states what it does, not when or why it should be chosen.

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 current price of a Solana token by symbol or mint address.

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYesToken symbol (SOL, USDC, BONK) or mint address

TDQS

A3.7/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 does not disclose whether the price is real-time or cached, any rate limits, network requirements, or error conditions. The description is minimal 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 sentence that is front-loaded with the key action and resource, with no unnecessary words. Every word earns its place.

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 price lookup tool with one parameter and no output schema, the description is adequate but lacks information on the price denomination (e.g., USD), precision, or any additional context about the return format.

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 single parameter 'token' has a description that includes examples (SOL, USDC, BONK) and alternative input type (mint address), adding value beyond the schema definition. Schema coverage is 100%.

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 'current price of a Solana token', and specifies two identification methods (symbol or mint address). It distinguishes itself from sibling tool 'get_multi_prices' which fetches multiple token prices.

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 implied usage is for fetching a single token price, but no mention of alternatives like 'get_multi_prices' for multiple tokens or 'get_token_info' for details.

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

get_transactionB

Get detailed transaction information by signature.

ParametersJSON Schema
NameRequiredDescriptionDefault
signatureYesTransaction signature (base58)

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 but only says 'detailed transaction information' without specifying what 'detailed' entails, such as status, fees, or account changes. No behavioral traits beyond fetching are disclosed.

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 unnecessary words. Every element serves the 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?

Given no output schema and the need to understand what 'detailed' means, the description is incomplete. It fails to specify return fields or conditions, leaving the agent uninformed 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% (1 parameter with description). The description repeats 'signature' and 'base58' from the schema, adding no new meaning beyond what the schema provides. 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), resource (detailed transaction information), and the means (by signature). It is specific and distinguishes from sibling tools like get_account_info or get_balance.

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_signatures_for_address). There is no mention of prerequisites or context for invocation.

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

get_wallet_infoA

Get detailed wallet info: SOL balance, token accounts, executable status.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesSolana wallet address (base58)

TDQS

A3.8/5.0
Behavior3/5

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

No annotations provided, so description carries burden. It discloses the type of information returned but omits behavioral traits such as error handling, authentication needs, or response format. Adequate for a simple query tool.

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?

One sentence with no wasted words; front-loaded with key information about the tool's output.

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 parameter, no output schema), the description is mostly complete. It lists the three components of wallet info. Missing mention of return format but sufficient for basic use.

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 3. The description adds no additional meaning beyond the schema's 'Solana wallet address (base58)' for the address 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 verb 'Get' and resource 'detailed wallet info' and lists specific contents (SOL balance, token accounts, executable status), which distinguishes it from sibling tools like get_balance and 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?

The description implies usage for retrieving combined wallet details but does not explicitly state when to use this tool versus alternatives (e.g., 'For only balance, use get_balance').

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

list_known_tokensA

List all built-in known token symbols and their mint addresses.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

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

No annotations are provided, so the description carries the burden of behavioral disclosure. It correctly implies a read-only list operation without stating it explicitly. The behavior is transparent enough for an agent to understand it is non-destructive and returns a list of token data.

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, with no filler. Every word adds value: verb, scope ('built-in known'), resource ('token symbols and their mint addresses').

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?

The description covers the tool's purpose and output (list of symbols and addresses). Without an output schema, it does not detail the exact structure, but it is sufficient for a simple list tool. Could be slightly more explicit about return format, but adequate given sibling context.

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 zero parameters and schema coverage is 100% (no properties). Per guidelines, baseline is 4. The description does not need to add parameter details since 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 tool lists all built-in known token symbols and mint addresses. It uses a specific verb ('list') and resource ('known tokens'), and distinguishes itself from sibling tools that perform actions like burn, create, or transfer tokens.

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 provide explicit guidance on when to use this tool vs alternatives. However, since it is the only list tool among siblings and the action is clear, usage is implied. No exclusions or when-not-to-use information is given.

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

list_walletsB

List all locally stored wallets.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/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 states the tool lists locally stored wallets but does not disclose whether it is read-only, whether it requires network calls, or any side effects. This leaves behavioral ambiguity.

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, clear sentence with no wasted words. It is appropriately concise for a tool with no parameters, but could perhaps add a brief note about the scope of 'locally stored'.

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 (zero parameters, no output schema), the description is minimally adequate. However, it lacks context about what 'locally stored' means (e.g., file-based, memory) and does not hint at the return format, which could be improved.

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, so the baseline is 4. The description adds no parameter information, but none is needed since the schema already fully covers the empty parameter set.

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 verb 'list' and resource 'locally stored wallets', indicating a read operation on local storage. However, it does not distinguish from sibling tools like 'get_wallet_info' or 'list_known_tokens', which could cause confusion.

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_wallet_info). The description does not include exclusions, prerequisites, or context for selection.

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

mint_tokensB

Mint SPL tokens to a destination wallet.

ParametersJSON Schema
NameRequiredDescriptionDefault
amountYesAmount to mint (in UI units, before decimals)
mintAddressYesToken mint address (base58)
destinationAddressYesRecipient wallet address (base58)
mintAuthorityPrivateKeyYesMint authority private key (base58)

TDQS

B3.1/5.0
Behavior2/5

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

No annotations provided; description only says 'Mint' without disclosing side effects (token supply increase), irreversibility, required permissions, or success conditions.

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 excess words, but could be expanded with minimal behavioral context without losing conciseness.

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, no annotations, and description lacks return information, conditions, or limitations. Incomplete for a critical mutation 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 all 4 parameters with descriptions (100% coverage). Tool description adds no extra meaning beyond schema, so baseline 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 clearly states action 'Mint SPL tokens' and target 'destination wallet', distinguishing it from siblings like burn_tokens or transfer_token.

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 vs alternatives, no prerequisites (e.g., need mint authority private key), and no context on when minting is appropriate.

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

request_airdropA

Request SOL airdrop on devnet/testnet (max 2 SOL per request).

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesWallet address to receive airdrop
amountSolNoAmount of SOL (max 2)

TDQS

A3.8/5.0
Behavior3/5

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

The description mentions the max 2 SOL constraint, providing some behavioral insight beyond the schema. However, it does not disclose whether the request is idempotent, what happens on failure, or if any prerequisites exist (e.g., wallet must exist). With no annotations, more transparency would be beneficial.

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 with no redundant words. It is front-loaded and perfectly concise for the tool's simplicity.

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 airdrop request with no output schema, the description covers the essential purpose, environment, and constraint. Minor gaps exist (e.g., no mention of idempotency or address validation), but these are not critical for typical usage.

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 described. The description adds value by specifying the network context (devnet/testnet) not in the schema, but the max constraint is already present in the amountSol 'maximum' field. Overall, it adds marginal additional meaning.

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 SOL airdrop), the specific network (devnet/testnet), and a constraint (max 2 SOL). This distinguishes it from sibling tools like transfer_sol, which sends existing SOL.

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 use for development/testing environments but does not explicitly state when to use this tool versus alternatives like transfer_sol or other token operations. No when-not-to-use guidance is provided.

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 one wallet to another. Requires sender private key (base58).

ParametersJSON Schema
NameRequiredDescriptionDefault
amountSolYesAmount of SOL to transfer
toAddressYesRecipient wallet address (base58)
simulateOnlyNoIf true, only simulate (no actual transfer)
fromPrivateKeyYesSender wallet private key (base58)

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 is responsible for behavioral disclosure. It states 'transfer' (implying mutation) but does not mention side effects (e.g., fees, nonce reuse), the 'simulateOnly' parameter's existence, or what happens on success/failure. This is a significant gap for a mutation tool.

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 extremely concise, consisting of two clear sentences. The first sentence front-loads the core purpose, and the second provides a critical prerequisite. No unnecessary words or repetition.

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 (mutation with 4 parameters, no output schema), the description is insufficient. It does not explain return values, error conditions, transaction fees, or network prerequisites. Context signals show no output schema, so the description should provide behavioral context, which it lacks.

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?

All four parameters are described in the input schema (100% coverage). The description adds 'Requires sender private key (base58)', which reiterates the schema's description of 'fromPrivateKey'. No additional meaning is added beyond the schema, so the baseline score of 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 action ('transfer'), the resource ('SOL'), and the direction ('from one wallet to another'). It distinguishes this tool from siblings like 'transfer_token' by specifying the asset type. The requirement of a private key is also mentioned, adding specificity.

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 guide when to use this tool over alternatives. It mentions the requirement of a private key, which is implicit for any transfer, but does not differentiate from other transfer tools like 'transfer_token' or provide context for optimal use.

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 between wallets.

ParametersJSON Schema
NameRequiredDescriptionDefault
amountYesAmount to transfer (UI units)
toAddressYesRecipient address (base58)
mintAddressYesToken mint address
fromPrivateKeyYesSender private key (base58)

TDQS

B3.2/5.0
Behavior2/5

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

No annotations provided; description lacks disclosure of side effects (e.g., token account existence, fee handling, reversibility) or what happens on failure. Basic description for a mutation tool.

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?

Single sentence of 6 words is concise but could include more context without being verbose. The structure is adequate but under-specified.

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, 4 required params, simple mutation. Missing details like decimals handling, token account creation, and error conditions. Incomplete for a mutation tool with no 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?

Schema coverage is 100% and each parameter has a description. The tool description adds no extra meaning 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?

Description clearly states verb 'Transfer', resource 'SPL tokens', and scope 'between wallets'. It distinguishes from sibling 'transfer_sol' which transfers native SOL.

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?

Implies usage for transferring SPL tokens but provides no explicit guidance on when to use or when not to use, nor any prerequisites or alternatives among siblings.

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. 21 tool updatesv1.0.0
    • First observedburn_tokens
    • First observedcreate_token
    • First observedcreate_wallet
    • First observedget_account_info
    • First observedget_balance
    • First observedget_multi_prices
    • First observedget_recent_blocks
    • First observedget_signatures_for_address
    • First observedget_slot
    • First observedget_swap_quote
    • First observedget_token_accounts
    • First observedget_token_info
    • First observedget_token_price
    • First observedget_transaction
    • First observedget_wallet_info
    • First observedlist_known_tokens
    • First observedlist_wallets
    • First observedmint_tokens
    • First observedrequest_airdrop
    • First observedtransfer_sol
    • First observedtransfer_token

TDQS

B3.4/5.0
Disambiguation3/5

Several tools overlap in purpose: get_balance, get_account_info, and get_wallet_info all provide balance information, and get_token_price and get_multi_prices both retrieve token prices. Descriptions partially disambiguate but could lead to agent confusion.

Naming Consistency4/5

Tools mostly follow a consistent verb_noun snake_case pattern (e.g., create_token, get_balance, transfer_sol). Minor deviations like request_airdrop and list_known_tokens are still predictable.

Tool Count3/5

21 tools is on the heavier side for a server but still manageable. Some tools like get_wallet_info could be merged with get_account_info and get_balance, but the count is not extreme.

Completeness4/5

The tool set covers core Solana operations: wallet creation, token lifecycle (create, mint, burn, transfer), balance queries, transaction retrieval, and even swap quotes via Jupiter. Missing elements like token account creation or stake operations are minor gaps.

Maintenance

ActivityStale
ResponsivenessSyncing

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

  • A
    license
    B
    quality
    D
    maintenance
    An MCP server for building AI-powered bots and interacting with Solana wallets on the Solafon platform. It enables users to manage messages, check token balances, and handle transactions through natural language in MCP-compatible AI tools.
    17
    12
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    MCP server giving AI agents access to Solana blockchain data. 7 tools: wallet balances, transaction history, token prices (Jupiter + CoinGecko), token metadata, DeFi yields (Raydium + Orca), and token safety checks (RugCheck scores, holder concentration, insider detection).
    8
    1
    MIT
  • F
    license
    A
    quality
    B
    maintenance
    MCP server providing AI agents with native access to Jupiter's full DeFi stack on Solana. It offers 17 tools covering swaps, tokens, lending, limit orders, DCA, prediction markets, perpetuals, and portfolio management.
    16
    -

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/Fahrur-Rozi-dev/sol-forge'

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