Skip to main content
Glama

SoFinance

prepare_compound_transaction

Prepare an unsigned compound transaction. Returns base64 transaction, permit, and summary. Same safety as prepare_transaction: full simulation, HMAC permit, no private keys. After signing, use submit_compound_transaction.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "wallet": "<wallet>",
      "positionMint": "<positionMint>"
    },
    "name": "prepare_compound_transaction"
  }
}

Input Schema

NameRequiredDescriptionDefault
walletYesWallet public key
positionMintYesPosition NFT mint address
sourceSignaturesNoOptional: prior harvest signatures (max 3)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Beyond the annotations (which only declare non-read-only, open-world, non-idempotent, non-destructive), the description adds that the output is unsigned and must be signed before submission, that full simulation runs, that an HMAC permit is issued, and that no private keys are involved. That is substantive behavioral context, though it does not cover whether the call reserves state or expiring permit lifetimes.

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

Conciseness5/5

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

Three short sentences, front-loaded with purpose and return payload, then safety, then the next step. No filler or repetition; every sentence carries information the agent needs.

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?

With no output schema, the description usefully enumerates the return payload, and the safety/signing story is complete for correct invocation. What it leaves unexplained is what 'compound' actually bundles (the underlying operations), which matters for an agent reasoning about effects, but that is a modest gap given the rich schema coverage.

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 wallet, positionMint, and the optional sourceSignatures (prior harvest signatures, max 3) all documented inline. The description adds no parameter-level meaning, so the baseline 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 opening sentence gives a specific verb and resource ('Prepare an unsigned compound transaction') and immediately states the payload returned (base64 transaction, permit, summary). It also names the natural counterpart, submit_compound_transaction, so an agent can place it in the prepare/submit workflow without opening a schema.

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 last sentence explicitly routes the agent onward: 'After signing, use submit_compound_transaction,' which is clear downstream guidance. It also implicitly contrasts with prepare_transaction via 'Same safety as prepare_transaction,' but it never states when to choose compound over a single-operation prepare or over quote_compound, leaving that inference to the agent.

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.

Resources