Skip to main content
Glama

Build Native SOL Transfer Transaction

sap_build_sol_transfer

Build an unsigned native SOL transfer transaction using SystemProgram.transfer. Returns serialized base64 transaction for the agent to sign locally with sap_payments_finalize_transaction or sap_sign_transaction → sap_submit_signed_transaction. This is the hosted-safe equivalent of spl-token_transferSol (which is local-signer-only and cannot run on the hosted accountless server). Builder fee applies.

SAP MCP execution guidance: Intent: hosted unsigned transaction builder. Pricing: paid builder; estimate first, then pay/build and finalize unsigned transactions locally when returned. Routing: paid hosted call; call sap_estimate_tool_cost first, then use sap_payments_call_paid_tool if the runtime cannot handle x402 natively. Signer boundary: hosted reads/builders never receive keypair bytes; value-moving results must be finalized locally when signing is required.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
lamportsNoAmount in lamports (1 SOL = 1,000,000,000 lamports). Use sap_estimate_tool_cost to check the builder fee before calling.
toPubkeyNoRecipient public key in base58.
fromPubkeyNoSender public key in base58. This is the fee payer and must sign the transaction locally.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
contentYesMCP content blocks returned to the caller.
isErrorNoTrue when the tool result represents an application-level error.

TDQS

A4.8/5.0
Behavior5/5

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

The description discloses key behavioral traits: it is a paid hosted call that builds an unsigned transaction, never receives keypair bytes, and requires local signing. This adds context beyond annotations (readOnlyHint: false, destructiveHint: false) about the signing boundary and pricing model.

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 informative but somewhat lengthy due to repeated guidance (e.g., the SAP MCP execution guidance appears in both the description and the input schema). However, it is well-structured with key info upfront.

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?

The description covers the tool's purpose, usage flow, pricing, signing boundary, and what to do with the output. Given the complexity of the tool (paid, hosted unsigned builder), it is complete and provides sufficient context for an AI agent to use it correctly.

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

Parameters4/5

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

Schema coverage is 100% with each parameter described, meeting the baseline of 3. The description adds extra context like using lamports and referencing the estimate tool cost, which enhances understanding 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 clearly states the tool builds an unsigned native SOL transfer transaction using SystemProgram.transfer, returns a serialized base64 transaction for local signing, and distinguishes itself from spl-token_transferSol by noting it's the hosted-safe equivalent.

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

Usage Guidelines5/5

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

The description provides explicit guidance on when to use this tool versus spl-token_transferSol, outlines the full workflow (estimate first, then pay/build, then finalize locally), and mentions calling sap_estimate_tool_cost and possibly sap_payments_call_paid_tool.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

B3.2/5.0
Disambiguation4/5

Tools are organized by protocol prefix (e.g., adrena_, jupiter_, sap_) which helps distinguish domains. Within each protocol, tool names clearly indicate actions (e.g., openPosition, getQuote). However, with 360 tools, some cross-protocol overlaps (e.g., multiple swap tools) and many similar fetch tools in the sap_* family require careful reading of descriptions to disambiguate.

Naming Consistency4/5

Each protocol group follows a consistent naming convention (e.g., snake_case for adrena_, camelCase for 3land, sap_ prefix for SAP SDK tools). The mix of conventions across protocols is acceptable, though a uniform style would improve predictability. Minor inconsistency: hyphenated names like metaplex-nft_ vs underscores.

Tool Count2/5

360 tools is far too many for a well-scoped MCP server. This aggregates dozens of protocols and SAP-specific features, making navigation difficult. The server would benefit from being split into focused micro-servers (e.g., SAP identity, Jupiter DEX, NFT tools). The current count overwhelms the coherence of the set.

Completeness4/5

The tool set covers a vast range of Solana ecosystem activities: token operations, swaps, staking, NFT management, bridging, oracle data, identity registration, chat, escrow, subscriptions, and premium streaming. Major lifecycle operations are present, though some niche subdomains may have missing functions (e.g., detailed governance or lending management). Overall, it's comprehensive for the intended scope.