Skip to main content
Glama
OOBE-PROTOCOL

SAP MCP Server

Finalize Transaction With Local Signer

sap_payments_finalize_transaction

Preview, sign, and optionally submit unsigned Solana transactions locally using your SAP MCP profile signer.

Instructions

Local non-custodial transaction finalizer for hosted SAP MCP builders. Use this when a hosted tool returns transactionBase64, transaction, or an unsigned Solana transaction. It previews, signs with the active local SAP MCP profile signer, and optionally submits through the configured RPC. Never create temporary signing scripts, read keypair JSON, or call hosted sap_sign_transaction for user-owned signatures. Requires confirm: true.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
submitNoWhen true, submit the signed transaction after preview and signing. When false or omitted, return the signed transaction for inspection.
confirmNoMust be true. Confirms the user allows the local SAP MCP signer to sign this transaction.
encodingNoEncoding for transaction or transactionBase64. Defaults to base64.
intentIdNoOptional caller-provided id used to bind preview, signature, submission, and audit output.
maxRetriesNoOptional Solana RPC sendRawTransaction maxRetries value, used only when submit is true.
transactionNoSerialized unsigned or partially signed Solana transaction. Accepts base64 by default.
skipPreflightNoOptional Solana RPC sendRawTransaction skipPreflight flag, used only when submit is true.
transactionBase64NoAlias for transaction when the builder returns transactionBase64.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
auditYesProof object binding intent, local signer, preview, signing, submission, and secret-material guarantee.
actionYespreview-sign or preview-sign-submit.
previewYesDecoded transaction preview and policy result.
successYesWhether finalization succeeded.
encodingNoEncoding of signedTransaction.
signatureNoSolana transaction signature when submit is true.
submittedYesWhether the signed transaction was submitted to RPC.
signerPublicKeyYesPublic key of the local signer that signed the transaction.
nativeTransferSolYesEstimated native SOL transferred by the transaction.
signedTransactionNoBase64 signed transaction when submit is false or for audit.
Behavior4/5

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

The description adds useful behavioral context beyond the minimal annotations, such as previewing, signing with the active local signer, optionally submitting through RPC, and requiring confirm: true. However, it does not detail error conditions, latency, or prerequisites like whether a signer must be pre-configured. Given annotations only provide safety hints, this is a solid 4.

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 concise (four sentences) and front-loaded with the tool's purpose. Each sentence serves a distinct function: definition, usage context, core operations, and caution. 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?

The description adequately covers the core functionality and usage scenarios. It explains the workflow (preview, sign, optionally submit) and gives important context about local signing. It does not explain the return format, but an output schema exists to document that. It might be slightly more complete if it explicitly noted that the tool can be used to sign and then submit later, but it is sufficient.

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 mentions the requirement for confirm: true, but the schema already documents this constraint. It does not add significant new meaning for individual parameters beyond what the schema provides. Therefore, no boost beyond 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 it is a local non-custodial transaction finalizer for hosted SAP MCP builders. It specifies the action (preview, sign, submit) and the resource (unsigned Solana transaction). It distinguishes from sibling tools like sap_sign_transaction by explicitly advising against using that hosted tool for user-owned signatures.

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 explicitly states when to use this tool: 'Use this when a hosted tool returns transactionBase64, transaction, or an unsigned Solana transaction.' It also provides clear what-not-to-do guidance: 'Never create temporary signing scripts, read keypair JSON, or call hosted sap_sign_transaction for user-owned signatures.' This effectively steers the agent away from alternatives.

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

Install Server

Other Tools

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/OOBE-PROTOCOL/sap-mcp'

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