SAP MCP Server
NPM · @OOBE-PROTOCOL-LABS/SAP-MCP-SERVER · 2 COMPONENTS · SCANNED SEP 20
Solana-native MCP gateway for SAP, DeFi tools, SNS identity, and x402 payments.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security89
- No malware found by supply-chain analysis.Pass
- CVE check failed: a known high-severity CVE affects langsmith 0.3.87, reached via @langchain/core > langsmith. A fixed version is available. View diagnostics → Fail
- No install/post-install scripts declared.Pass
- Dependency health was assessed across the 400 of 495 dependencies we could resolve, so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency48
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 4 days ago).Pass
- Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability80
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 32719 tokens (~121/item across 269 items; 269 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management83
- Stability observed for 25 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage96
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 87% of tool parameters carry a description.Partial
Tool Safety75
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- 0 of 26 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "sap_withdraw_escrow" implies "withdraw" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
- An AI judge read all 269 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
How do I install the SAP MCP Server server?
SAP MCP Server runs locally as an npm package, launched with npx -y @oobe-protocol-labs/sap-mcp-server. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
npm · @oobe-protocol-labs/sap-mcp-server
claude mcp add ai-oobeprotocol-sap-mcp-sap-mcp -- npx -y @oobe-protocol-labs/sap-mcp-server
{
"mcpServers": {
"ai-oobeprotocol-sap-mcp-sap-mcp": {
"command": "npx",
"args": [
"-y",
"@oobe-protocol-labs/sap-mcp-server"
]
}
}
} {
"servers": {
"ai-oobeprotocol-sap-mcp-sap-mcp": {
"command": "npx",
"args": [
"-y",
"@oobe-protocol-labs/sap-mcp-server"
]
}
}
} codex mcp add ai-oobeprotocol-sap-mcp-sap-mcp -- npx -y @oobe-protocol-labs/sap-mcp-server
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"ai-oobeprotocol-sap-mcp-sap-mcp": {
"type": "local",
"command": [
"npx",
"-y",
"@oobe-protocol-labs/sap-mcp-server"
],
"enabled": true
}
}
} openclaw mcp add ai-oobeprotocol-sap-mcp-sap-mcp --command npx --arg -y --arg @oobe-protocol-labs/sap-mcp-server
mcp_servers:
ai-oobeprotocol-sap-mcp-sap-mcp:
command: "npx"
args: ["-y", "@oobe-protocol-labs/sap-mcp-server"] {
"McpServers": {
"ai-oobeprotocol-sap-mcp-sap-mcp": {
"Transport": "stdio",
"Command": "npx",
"Arguments": [
"-y",
"@oobe-protocol-labs/sap-mcp-server"
]
}
}
} assistant mcp add ai-oobeprotocol-sap-mcp-sap-mcp -t stdio -c npx -a -y @oobe-protocol-labs/sap-mcp-server
{
"mcpServers": {
"ai-oobeprotocol-sap-mcp-sap-mcp": {
"command": "npx",
"args": [
"-y",
"@oobe-protocol-labs/sap-mcp-server"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 20 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.
- 19 Sept 26 −3
- Stability: pass → 0.80 functional
- 18 Sept 26 +1
- Stability: 0.97 → pass security
- 16 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.
- 15 Sept 26 0
- CVE-2026-82417 no longer affects this package ▲ security
- CVE-2026-82562 no longer affects this package ▲ security
- 14 Sept 26 +1
- Security disclosure: unverified → pass ▲ functional
- 13 Sept 26 0
- CVE-2026-77465 affects this package: high ▼ security
- CVE-2026-71429 affects this package: high ▼ security
- CVE-2026-63376 affects this package: high ▼ security
- CVE-2026-82417 affects this package: high ▼ security
- CVE-2026-41907 affects this package: high ▼ security
- CVE-2026-82562 affects this package: high ▼ security
- Security disclosure: pass → unverified ▼ functional
- 12 Sept 26 −3
- CVE-2026-71429 no longer affects this package ▲ security
- CVE-2026-77465 no longer affects this package ▲ security
- CVE-2026-41907 no longer affects this package ▲ security
- CVE-2026-63376 no longer affects this package ▲ security
- CVE-2026-82417 no longer affects this package ▲ security
- CVE-2026-82562 no longer affects this package ▲ security
- Stability: pass → 0.80 functional
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 20 Sept 2026 · Analysed npm/@oobe-protocol-labs/sap-mcp-server@0.7.1
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | npm |
Background: How many MCP packages publish verified provenance →
Vulnerabilities 9 findings
| ID | CVE | Severity | Vector | Fix available |
|---|---|---|---|---|
| GHSA-3gc7-fjrx-p6mg | CVE-2025-3194 | high | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H | no |
| GHSA-3644-q5cj-c5c7 | CVE-2026-45134 | high | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:L/A:N | yes |
| GHSA-fw9q-39r9-c252 | CVE-2026-40190 | medium | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:L | yes |
| GHSA-rr7j-v2q5-chgv | CVE-2026-41182 | medium | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N | yes |
| GHSA-v34v-rq6j-cj6p | CVE-2026-25528 | medium | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:N | yes |
| GHSA-528h-pc64-c93x | CVE-2026-71429 | medium | CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H | yes |
| GHSA-82x6-q7mm-w9cf | CVE-2026-77465 | high | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H | yes |
| GHSA-v5mp-jgw5-2x6j | CVE-2026-63376 | high | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:L | yes |
| GHSA-w5hq-g745-h8pq | CVE-2026-41907 | high | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N | yes |
Background: What a vulnerability scan can and cannot prove →
Dependencies 400 packages
| Packages resolved | 400 |
|---|---|
| Deprecated | 3 |
| Stale | 100 |
| No linked repository | 6 |
| Tree resolution | Partial |
The dependency tree was only partially resolved, so these counts may be incomplete.
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
jupiter_createDCA ~228
Create a Dollar-Cost Averaging (DCA) recurring order. Returns an unsigned transaction. SAP MCP context: Jupiter protocol tools are served as AgentKit ecosystem tools. Use them for quote, route, and swap preparation, then use SAP transaction preview/sign/submit tools when an unsigned transaction must pass MCP signer policy.
| Name | Type | Req | Description |
|---|---|---|---|
| frequency | string | yes | DCA interval |
| inputMint | string | yes | Token mint address (base58) |
| maxOutAmountPerOrder | string | – | Raw token amount as string (no decimals) |
| minOutAmountPerOrder | string | – | Raw token amount as string (no decimals) |
| numberOfOrders | number | yes | Total number of orders to split into |
| outputMint | string | yes | Token mint address (base58) |
| payer | string | yes | Wallet paying for the DCA setup |
| startAt | string | – | ISO 8601 start timestamp (default: now) |
| totalInAmount | string | yes | Total amount of input token to DCA |
| user | string | yes | Wallet executing the DCA |
No output schema declared.
No examples provided.
jupiter_createLimitOrder ~194
Create a limit order. Returns an unsigned transaction — sign and submit via executeTrigger. SAP MCP context: Jupiter protocol tools are served as AgentKit ecosystem tools. Use them for quote, route, and swap preparation, then use SAP transaction preview/sign/submit tools when an unsigned transaction must pass MCP signer policy.
| Name | Type | Req | Description |
|---|---|---|---|
| computeUnitPrice | string | – | Priority fee (µ-lamports/CU) |
| expiredAt | string | – | ISO 8601 expiry timestamp |
| feeBps | number | – | Referral fee in bps |
| inputMint | string | yes | Input token mint |
| maker | string | yes | Wallet address of the order creator |
| makingAmount | string | yes | Amount of input token to sell |
| outputMint | string | yes | Output token mint |
| payer | string | yes | Wallet paying for transaction fees |
| takingAmount | string | yes | Amount of output token to receive |
No output schema declared.
No examples provided.
jupiter_executeDCA ~96
Submit a signed DCA order creation/cancellation transaction. SAP MCP context: Jupiter protocol tools are served as AgentKit ecosystem tools. Use them for quote, route, and swap preparation, then use SAP transaction preview/sign/submit tools when an unsigned transaction must pass MCP signer policy.
| Name | Type | Req | Description |
|---|---|---|---|
| requestId | string | yes | Request ID from createDCA response |
| signedTransaction | string | yes | Base64-encoded signed transaction |
No output schema declared.
No examples provided.
jupiter_executeOrder ~97
Execute a signed swap transaction obtained from getOrder and receive execution status. SAP MCP context: Jupiter protocol tools are served as AgentKit ecosystem tools. Use them for quote, route, and swap preparation, then use SAP transaction preview/sign/submit tools when an unsigned transaction must pass MCP signer policy.
| Name | Type | Req | Description |
|---|---|---|---|
| requestId | string | yes | requestId from getOrder response |
| signedTransaction | string | yes | Base64-encoded signed transaction |
No output schema declared.
No examples provided.
jupiter_executeTrigger ~95
Submit a signed limit-order transaction for on-chain execution. SAP MCP context: Jupiter protocol tools are served as AgentKit ecosystem tools. Use them for quote, route, and swap preparation, then use SAP transaction preview/sign/submit tools when an unsigned transaction must pass MCP signer policy.
| Name | Type | Req | Description |
|---|---|---|---|
| requestId | string | yes | Request ID from createLimitOrder response |
| signedTransaction | string | yes | Base64-encoded signed transaction |
No output schema declared.
No examples provided.
jupiter_getDCAOrders ~216
Get all DCA orders (active and optionally historical) for a wallet. SAP MCP context: Jupiter protocol tools are served as AgentKit ecosystem tools. Use them for quote, route, and swap preparation, then use SAP transaction preview/sign/submit tools when an unsigned transaction must pass MCP signer policy.
| Name | Type | Req | Description |
|---|---|---|---|
| includeFailedTx | boolean | – | Include failed transactions in results (default: false) |
| inputMint | string | – | Token mint address (base58) |
| limit | number | – | – |
| orderStatus | string | yes | Filter by order status: "active" for running orders, "history" for completed/cancelled |
| outputMint | string | – | Token mint address (base58) |
| page | number | – | – |
| recurringType | string | yes | Recurring order type — "time" for time-based DCA, "price" for price-triggered, "all" for both |
| user | string | yes | Wallet address to query (sent as "user" query param to Jupiter) |
No output schema declared.
No examples provided.
jupiter_getHoldings ~88
Fetch token balances and holdings for specific token accounts, including USD valuations. SAP MCP context: Jupiter protocol tools are served as AgentKit ecosystem tools. Use them for quote, route, and swap preparation, then use SAP transaction preview/sign/submit tools when an unsigned transaction must pass MCP signer policy.
| Name | Type | Req | Description |
|---|---|---|---|
| tokenAccountAddresses | array | yes | Array of token account addresses to query balances for |
No output schema declared.
No examples provided.
jupiter_getLimitOrders ~151
Get all limit orders (active and optionally historical) for a wallet. SAP MCP context: Jupiter protocol tools are served as AgentKit ecosystem tools. Use them for quote, route, and swap preparation, then use SAP transaction preview/sign/submit tools when an unsigned transaction must pass MCP signer policy.
| Name | Type | Req | Description |
|---|---|---|---|
| inputMint | string | – | Token mint address (base58) |
| limit | number | – | – |
| orderStatus | string | yes | Filter by order status: "active" for open orders, "history" for filled/cancelled |
| outputMint | string | – | Token mint address (base58) |
| page | number | – | – |
| wallet | string | yes | Wallet address to query |
No output schema declared.
No examples provided.
jupiter_getOrder ~193
Get a quote + unsigned swap transaction in a single call (Ultra API). The recommended entry-point for swaps. SAP MCP context: Jupiter protocol tools are served as AgentKit ecosystem tools. Use them for quote, route, and swap preparation, then use SAP transaction preview/sign/submit tools when an unsigned transaction must pass MCP signer policy.
| Name | Type | Req | Description |
|---|---|---|---|
| amount | string | yes | Raw token amount as string (no decimals) |
| inputMint | string | yes | Token mint address (base58) |
| outputMint | string | yes | Token mint address (base58) |
| referralAccount | string | – | Solana wallet public key (base58) |
| referralFeeBps | number | – | Referral fee in bps |
| slippageBps | number | – | Slippage tolerance in bps (e.g. 50 = 0.5%) |
| taker | string | yes | Taker (sender) wallet address |
No output schema declared.
No examples provided.
jupiter_getPrice ~116
Get real-time heuristic prices for tokens. Supports buy/sell price, confidence, and depth info. SAP MCP context: Jupiter protocol tools are served as AgentKit ecosystem tools. Use them for quote, route, and swap preparation, then use SAP transaction preview/sign/submit tools when an unsigned transaction must pass MCP signer policy.
| Name | Type | Req | Description |
|---|---|---|---|
| ids | array | yes | Token mints to price |
| showExtraInfo | boolean | – | Include confidence, depth, timestamps |
| vsToken | string | – | Token mint address (base58) |
No output schema declared.
No examples provided.
jupiter_getQuote ~228
Get an optimally-routed swap quote with full route plan details (Metis engine). SAP MCP context: Jupiter protocol tools are served as AgentKit ecosystem tools. Use them for quote, route, and swap preparation, then use SAP transaction preview/sign/submit tools when an unsigned transaction must pass MCP signer policy.
| Name | Type | Req | Description |
|---|---|---|---|
| amount | string | yes | Raw token amount as string (no decimals) |
| asLegacyTransaction | boolean | – | Return a legacy transaction |
| dynamicSlippage | boolean | – | – |
| inputMint | string | yes | Token mint address (base58) |
| maxAccounts | number | – | Max accounts in transaction (default 64) |
| onlyDirectRoutes | boolean | – | Restrict to single-hop routes |
| outputMint | string | yes | Token mint address (base58) |
| platformFeeBps | number | – | Platform fee in bps |
| restrictIntermediateTokens | boolean | – | – |
| slippageBps | number | – | Slippage tolerance in bps (e.g. 50 = 0.5%) |
| swapMode | string | – | – |
No output schema declared.
No examples provided.
jupiter_getTokenInfo ~109
Search for token information by mint address, symbol, or name. Returns detailed metadata, price, organic score, and audit info. SAP MCP context: Jupiter protocol tools are served as AgentKit ecosystem tools. Use them for quote, route, and swap preparation, then use SAP transaction preview/sign/submit tools when an unsigned transaction must pass MCP signer policy.
| Name | Type | Req | Description |
|---|---|---|---|
| query | string | yes | Search by mint address, symbol, or name. Comma-separate for multiple (max 100) |
No output schema declared.
No examples provided.
jupiter_getTokenList ~99
Get Jupiter tokens by tag ("verified" or "lst"). Returns token metadata, organic score, price, and audit info. SAP MCP context: Jupiter protocol tools are served as AgentKit ecosystem tools. Use them for quote, route, and swap preparation, then use SAP transaction preview/sign/submit tools when an unsigned transaction must pass MCP signer policy.
| Name | Type | Req | Description |
|---|---|---|---|
| query | string | – | Tag to filter by — "verified" or "lst" |
No output schema declared.
No examples provided.
jupiter_programLabels ~75
Get a mapping from program ID to human-readable label for all DEX programs in the routing engine. SAP MCP context: Jupiter protocol tools are served as AgentKit ecosystem tools. Use them for quote, route, and swap preparation, then use SAP transaction preview/sign/submit tools when an unsigned transaction must pass MCP signer policy.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
jupiter_searchTokens ~90
Search for tokens by symbol, name, or mint address. Returns matching tokens with metadata. SAP MCP context: Jupiter protocol tools are served as AgentKit ecosystem tools. Use them for quote, route, and swap preparation, then use SAP transaction preview/sign/submit tools when an unsigned transaction must pass MCP signer policy.
| Name | Type | Req | Description |
|---|---|---|---|
| query | string | yes | Search by token symbol, name, or mint address |
No output schema declared.
No examples provided.
jupiter_shield ~89
Check token mints for potential security risks (honeypot, freeze authority, low liquidity, etc.). SAP MCP context: Jupiter protocol tools are served as AgentKit ecosystem tools. Use them for quote, route, and swap preparation, then use SAP transaction preview/sign/submit tools when an unsigned transaction must pass MCP signer policy.
| Name | Type | Req | Description |
|---|---|---|---|
| mints | array | yes | Token mints to check |
No output schema declared.
No examples provided.
jupiter_smartSwap ~427
Smart Swap — all-in-one compound tool that fetches a quote and builds swap instructions in a single call. Provide input/output mints, amount, and wallet address to get back a quote, individual swap instructions, and a human-readable summary. The returned instructions can be assembled into a transaction and signed. This is the recommended entry-point for AI agents preparing a swap. SAP MCP context: Jupiter protocol tools are served as AgentKit ecosystem tools. Use them for quote, route, and swap preparation, then use SAP transaction preview/sign/submit tools when an unsigned transaction must pass MCP signer policy.
| Name | Type | Req | Description |
|---|---|---|---|
| amount | string | yes | Raw token amount to swap (in smallest unit, no decimals) |
| asLegacyTransaction | boolean | – | Return a legacy transaction instead of v0 |
| computeUnitPriceMicroLamports | number | – | Priority fee in micro-lamports per compute unit |
| destinationTokenAccount | string | – | Solana wallet public key (base58) |
| dynamicComputeUnitLimit | boolean | – | Use dynamic compute unit limit based on simulation |
| dynamicSlippage | boolean | – | Enable dynamic slippage for better execution |
| feeAccount | string | – | Solana wallet public key (base58) |
| inputMint | string | yes | Source token mint address |
| maxAccounts | number | – | Max accounts in transaction (default: 64) |
| onlyDirectRoutes | boolean | – | Restrict to single-hop routes for lower latency |
| outputMint | string | yes | Destination token mint address |
| platformFeeBps | number | – | Platform fee in bps for referral revenue |
| restrictIntermediateTokens | boolean | – | Restrict intermediate tokens to reduce risk |
| slippageBps | number | – | Slippage tolerance in bps (e.g. 50 = 0.5%) |
| swapMode | string | – | Swap mode (default: ExactIn) |
| userPublicKey | string | yes | Wallet public key that will sign the transaction |
| wrapAndUnwrapSol | boolean | – | Auto wrap/unwrap SOL (default: true) |
No output schema declared.
No examples provided.
jupiter_swap ~234
Build an unsigned swap transaction from a quote response. Sign and send the returned transaction. SAP MCP context: Jupiter protocol tools are served as AgentKit ecosystem tools. Use them for quote, route, and swap preparation, then use SAP transaction preview/sign/submit tools when an unsigned transaction must pass MCP signer policy.
| Name | Type | Req | Description |
|---|---|---|---|
| asLegacyTransaction | boolean | – | – |
| computeUnitPriceMicroLamports | number | – | Priority fee in µ-lamports/CU |
| destinationTokenAccount | string | – | Solana wallet public key (base58) |
| dynamicComputeUnitLimit | boolean | – | – |
| dynamicSlippage | boolean | – | – |
| feeAccount | string | – | Solana wallet public key (base58) |
| quoteResponse | object | yes | The full quoteResponse object from getQuote |
| skipUserAccountsRpcCalls | boolean | – | – |
| useSharedAccounts | boolean | – | – |
| useTokenLedger | boolean | – | – |
| userPublicKey | string | yes | Solana wallet public key (base58) |
| wrapAndUnwrapSol | boolean | – | Auto wrap/unwrap SOL (default true) |
No output schema declared.
No examples provided.
jupiter_swapInstructions ~198
Get individual swap instructions instead of a full transaction. Useful for composing with other instructions. SAP MCP context: Jupiter protocol tools are served as AgentKit ecosystem tools. Use them for quote, route, and swap preparation, then use SAP transaction preview/sign/submit tools when an unsigned transaction must pass MCP signer policy.
| Name | Type | Req | Description |
|---|---|---|---|
| asLegacyTransaction | boolean | – | – |
| computeUnitPriceMicroLamports | number | – | – |
| destinationTokenAccount | string | – | Solana wallet public key (base58) |
| dynamicComputeUnitLimit | boolean | – | – |
| feeAccount | string | – | Solana wallet public key (base58) |
| quoteResponse | object | yes | The full quoteResponse object from getQuote |
| useSharedAccounts | boolean | – | – |
| useTokenLedger | boolean | – | – |
| userPublicKey | string | yes | Solana wallet public key (base58) |
| wrapAndUnwrapSol | boolean | – | – |
No output schema declared.
No examples provided.
lulo_deposit ~118
Deposit into the best APR lending protocol via Lulo aggregator. SAP MCP context: This Synapse AgentKit tool is served beside the sap_* SDK tools. Use sap_register_agent, sap_update_agent, and sap_publish_tool_by_name when the capability should become part of an on-chain SAP agent profile or tool registry entry.
| Name | Type | Req | Description |
|---|---|---|---|
| amount | string | yes | Raw token amount (smallest unit) |
| mint | string | yes | Token to deposit (e.g. USDC) |
| wallet | string | yes | Solana public key (base58) |
No output schema declared.
No examples provided.
lulo_getBestRates ~90
Get the best lending/yield rates across all protocols via Lulo. SAP MCP context: This Synapse AgentKit tool is served beside the sap_* SDK tools. Use sap_register_agent, sap_update_agent, and sap_publish_tool_by_name when the capability should become part of an on-chain SAP agent profile or tool registry entry.
| Name | Type | Req | Description |
|---|---|---|---|
| mint | string | – | Token mint address (base58) |
No output schema declared.
No examples provided.
lulo_getPositions ~86
Get all Lulo lending positions for a wallet. SAP MCP context: This Synapse AgentKit tool is served beside the sap_* SDK tools. Use sap_register_agent, sap_update_agent, and sap_publish_tool_by_name when the capability should become part of an on-chain SAP agent profile or tool registry entry.
| Name | Type | Req | Description |
|---|---|---|---|
| wallet | string | yes | Solana public key (base58) |
No output schema declared.
No examples provided.
lulo_withdraw ~110
Withdraw from Lulo lending position. SAP MCP context: This Synapse AgentKit tool is served beside the sap_* SDK tools. Use sap_register_agent, sap_update_agent, and sap_publish_tool_by_name when the capability should become part of an on-chain SAP agent profile or tool registry entry.
| Name | Type | Req | Description |
|---|---|---|---|
| amount | string | yes | Raw token amount (smallest unit) |
| mint | string | yes | Token mint address (base58) |
| wallet | string | yes | Solana public key (base58) |
No output schema declared.
No examples provided.
magicblock_balance ~76
Read the base-chain SPL token balance for an address (public, no auth required). Price: $0.01.
| Name | Type | Req | Description |
|---|---|---|---|
| address | string | yes | Owner wallet pubkey |
| cluster | string | – | Cluster: 'mainnet', 'devnet', or custom RPC URL |
| mint | string | yes | SPL mint pubkey |
No output schema declared.
No examples provided.
magicblock_challenge ~89
Generate a challenge string for the wallet to sign (step 1 of the PER auth flow). Price: $0.01.
| Name | Type | Req | Description |
|---|---|---|---|
| cluster | string | – | Cluster: 'mainnet', 'devnet', or custom RPC URL |
| mock | boolean | – | Use a mock challenge for testing (default false) |
| pubkey | string | yes | Wallet pubkey that will sign the challenge |
No output schema declared.
No examples provided.
magicblock_deposit ~227
Build an unsigned transaction to deposit SPL tokens from Solana into an Ephemeral Rollup. Sign with sap_sign_transaction and submit to the RPC indicated by sendTo. Price: $0.05.
| Name | Type | Req | Description |
|---|---|---|---|
| amount | number | yes | Base-unit amount to deposit (integer, minimum 1) |
| cluster | string | – | Cluster: 'mainnet', 'devnet', or custom RPC URL |
| idempotent | boolean | – | Use idempotent variants for preparatory init instructions (default true) |
| initAtasIfMissing | boolean | – | Initialize associated token accounts if missing (default true) |
| initIfMissing | boolean | – | Initialize the transfer queue if missing (default true) |
| initVaultIfMissing | boolean | – | Initialize the vault if missing (default true) |
| mint | string | – | SPL mint. Defaults to USDC (mainnet) or devnet USDC |
| owner | string | yes | Wallet pubkey that owns the tokens and will sign |
| validator | string | – | Optional ER validator pubkey. Defaults to the selected ephemeral RPC identity. |
No output schema declared.
No examples provided.
magicblock_getAccountInfo ~83
Fetch account information (data, lamports, owner, executable, space) via the Magic Router. Price: $0.01.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | yes | Account pubkey to fetch info for |
| encoding | string | – | Encoding for account data |
| endpoint | string | – | MagicBlock Router endpoint: 'mainnet' or 'devnet' |
No output schema declared.
No examples provided.
magicblock_getBlockhashForAccounts ~75
Get a blockhash and last valid block height for a batch of account addresses (max 100). Price: $0.01.
| Name | Type | Req | Description |
|---|---|---|---|
| accounts | array | yes | Array of account addresses (max 100) |
| endpoint | string | – | MagicBlock Router endpoint: 'mainnet' or 'devnet' |
No output schema declared.
No examples provided.
magicblock_getDelegationStatus ~81
Check whether a Solana account is delegated to an Ephemeral Rollup. Returns authority, owner, delegation slot, and lamports. Price: $0.01.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | yes | Account pubkey to check delegation status for |
| endpoint | string | – | MagicBlock Router endpoint: 'mainnet' or 'devnet' |
No output schema declared.
No examples provided.
magicblock_getIdentity ~51
Get the identity and FQDN of the current ER Validator node. Price: $0.01.
| Name | Type | Req | Description |
|---|---|---|---|
| endpoint | string | – | MagicBlock Router endpoint: 'mainnet' or 'devnet' |
No output schema declared.
No examples provided.
magicblock_getRandomnessResult ~92
Check whether a VRF request has been fulfilled by reading the RandomnessRequest account on-chain. Returns fulfilled status, random bytes (if available), and the request metadata. Price: $0.01.
| Name | Type | Req | Description |
|---|---|---|---|
| endpoint | string | – | MagicBlock Router endpoint: 'mainnet' or 'devnet' |
| requestKey | string | yes | VRF request PDA key from magicblock_requestRandomness |
No output schema declared.
No examples provided.
magicblock_getRoutes ~62
List available Ephemeral Rollup nodes from the Magic Router (identity, FQDN, fee, block time, country). Price: $0.01.
| Name | Type | Req | Description |
|---|---|---|---|
| endpoint | string | – | MagicBlock Router endpoint: 'mainnet' or 'devnet' |
No output schema declared.
No examples provided.
magicblock_getSignatureStatuses ~68
Check the confirmation status (processed/confirmed/finalized) of one or more transaction signatures. Price: $0.01.
| Name | Type | Req | Description |
|---|---|---|---|
| endpoint | string | – | MagicBlock Router endpoint: 'mainnet' or 'devnet' |
| signatures | array | yes | Array of transaction signatures |
No output schema declared.
No examples provided.
magicblock_health ~28
Check the health status of the MagicBlock Private Payments API. Price: $0.01.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
magicblock_initializeMint ~96
Build an unsigned transaction that initializes a validator-scoped transfer queue for a mint. Price: $0.05.
| Name | Type | Req | Description |
|---|---|---|---|
| cluster | string | – | Cluster: 'mainnet', 'devnet', or custom RPC URL |
| mint | string | yes | SPL mint to initialize a transfer queue for |
| owner | string | yes | Wallet pubkey that will sign the transaction |
| validator | string | – | Optional ER validator pubkey |
No output schema declared.
No examples provided.
magicblock_isMintInitialized ~78
Check whether a mint has a validator-scoped transfer queue on the ephemeral RPC. Price: $0.01.
| Name | Type | Req | Description |
|---|---|---|---|
| cluster | string | – | Cluster: 'mainnet', 'devnet', or custom RPC URL |
| mint | string | yes | SPL mint to check |
| validator | string | – | Optional ER validator pubkey |
No output schema declared.
No examples provided.
magicblock_login ~122
Exchange a signed challenge for a bearer token (step 2 of PER auth flow). The token is used for private-balance and private transfers. Price: $0.01.
| Name | Type | Req | Description |
|---|---|---|---|
| challenge | string | yes | Challenge string from magicblock_challenge |
| cluster | string | – | Cluster: 'mainnet', 'devnet', or custom RPC URL |
| mock | boolean | – | Use mock login flow (default false) |
| pubkey | string | yes | Wallet pubkey that signed the challenge |
| signature | string | yes | Wallet signature over the challenge string |
No output schema declared.
No examples provided.
magicblock_privateBalance ~98
Read the ephemeral-rollup SPL token balance for an address (requires bearer token from login). Price: $0.01.
| Name | Type | Req | Description |
|---|---|---|---|
| address | string | yes | Owner wallet pubkey |
| authToken | string | yes | Bearer token from magicblock_login (required for private reads) |
| cluster | string | – | Cluster: 'mainnet', 'devnet', or custom RPC URL |
| mint | string | yes | SPL mint pubkey |
No output schema declared.
No examples provided.
magicblock_requestRandomness ~294
Request provably fair on-chain randomness from the MagicBlock VRF oracle (Vrf1RNUjXmQGjmQrQLvJHs9SNkvDJEsRVFPkfSQUwGz). Builds an unsigned transaction that invokes request_randomness on the VRF program. The caller must sign with sap_sign_transaction and submit to Solana. The oracle queue defaults to the base-layer queue (Cuj97ggrhhidhbu39TijNVqE74xvKJ69gDervRUXAxGh); set ephemeral=true to use the ER queue for delegated programs. Price: $0.05.
| Name | Type | Req | Description |
|---|---|---|---|
| callbackAccounts | array | yes | Accounts to pass to the callback instruction |
| callbackDiscriminator | string | yes | Base58 or hex discriminator for the callback instruction in your program |
| callbackProgramId | string | yes | Program ID of the callback program (the program that will consume the randomness) |
| callerSeed | string | yes | Seed string for the VRF request — committed before randomness is produced. The seed is hashed to 32 bytes. |
| endpoint | string | – | MagicBlock Router endpoint: 'mainnet' or 'devnet' |
| ephemeral | boolean | – | Use the Ephemeral Rollup oracle queue instead of the base-layer queue (default false) |
| payer | string | yes | Wallet pubkey that will pay for the request and sign the transaction |
No output schema declared.
No examples provided.
magicblock_swap ~277
Build an unsigned swap transaction from a quote. 'public' mode passes through Jupiter, 'private' mode routes output through a scheduled private transfer with delay and split. Price: $0.05.
| Name | Type | Req | Description |
|---|---|---|---|
| asLegacyTransaction | boolean | – | Build a legacy transaction (not allowed when visibility=private, default false) |
| clientRefId | string | – | Private only. Optional u64 client correlation ID |
| destination | string | – | Final private-transfer recipient (required when visibility='private') |
| maxDelayMs | string | – | Private only. Latest (ms) the queued transfer may settle (<= 600000) |
| minDelayMs | string | – | Private only. Earliest (ms) the queued transfer may settle |
| quoteResponse | object | yes | Quote response object from magicblock_swapQuote (pass as-is) |
| split | number | – | Private only. Number of queue entries to split across (1-14) |
| userPublicKey | string | yes | Wallet that will sign the swap transaction |
| validator | string | – | Optional validator pubkey for the transfer-queue PDA |
| visibility | string | – | 'public' = transparent Jupiter pass-through, 'private' = output routed through scheduled private transfer |
| wrapAndUnwrapSol | boolean | – | Auto wrap/unwrap native SOL when needed (default true) |
No output schema declared.
No examples provided.
magicblock_swapQuote ~210
Get a swap quote between two SPL mints (proxies Triton Metis swap API). Pass the result into magicblock_swap. Price: $0.01.
| Name | Type | Req | Description |
|---|---|---|---|
| amount | string | yes | Raw amount to swap (unsigned integer string, e.g. '1000000') |
| inputMint | string | yes | Input token mint address |
| maxAccounts | number | – | Approximate maximum account budget for the route (default 64) |
| onlyDirectRoutes | boolean | – | Limit routing to a single hop (default false) |
| outputMint | string | yes | Output token mint address |
| platformFeeBps | number | – | Optional platform fee in basis points |
| restrictIntermediateTokens | boolean | – | Restrict intermediate tokens to a more stable set (default false) |
| slippageBps | number | – | Slippage threshold in basis points (e.g. 50 = 0.5%) |
| swapMode | string | – | Swap mode: fixed input or fixed output amount |
No output schema declared.
No examples provided.
magicblock_transfer ~415
Build an unsigned SPL token transfer (public or private) through an Ephemeral Rollup. Supports base/ephemeral source and destination, delayed settlement, split transfers, and gasless mode. Price: $0.05.
| Name | Type | Req | Description |
|---|---|---|---|
| amount | number | yes | Base-unit amount to transfer (integer, minimum 1) |
| authToken | string | – | Bearer token from login (required for private transfers) |
| clientRefId | string | – | Private only. Encrypted client reference ID for payment confirmation |
| cluster | string | – | Cluster: 'mainnet', 'devnet', or custom RPC URL |
| from | string | yes | Sender wallet pubkey |
| fromBalance | string | yes | Where the sender's balance is held |
| gasless | boolean | – | When true, uses configured sponsor as fee payer (default false) |
| initAtasIfMissing | boolean | – | Initialize recipient ATA if missing (default true) |
| initIfMissing | boolean | – | Initialize transfer queue if missing (default true) |
| initVaultIfMissing | boolean | – | Initialize vault if missing (default false) |
| legacy | boolean | – | Skip lookup-table compilation, return a legacy transaction (default false) |
| maxDelayMs | string | – | Private only. Latest (ms) the queued transfer may settle (<= 600000) |
| memo | string | – | Optional memo appended to the transaction |
| minDelayMs | string | – | Private only. Earliest (ms) the queued transfer may settle. Default '0' |
| mint | string | yes | SPL mint pubkey |
| split | number | – | Private only. Number of queue entries to split across (1-15, default 1) |
| to | string | yes | Recipient wallet pubkey |
| toBalance | string | yes | Where the recipient should receive funds |
| validator | string | – | Optional ER validator pubkey |
| visibility | string | yes | 'public' = transparent SPL transfer, 'private' = routed through Private ER with delayed+split settlement |
No output schema declared.
No examples provided.
magicblock_withdraw ~188
Build an unsigned transaction to withdraw SPL tokens from an Ephemeral Rollup back to Solana. Price: $0.05.
| Name | Type | Req | Description |
|---|---|---|---|
| amount | number | yes | Base-unit amount to withdraw (integer, minimum 1) |
| cluster | string | – | Cluster: 'mainnet', 'devnet', or custom RPC URL |
| escrowIndex | number | – | Optional escrow index for the withdrawal |
| idempotent | boolean | – | Use idempotent variants for preparatory init instructions (default true) |
| initAtasIfMissing | boolean | – | Initialize ATAs if missing (default true) |
| initIfMissing | boolean | – | Initialize transfer queue if missing (default true) |
| mint | string | yes | SPL mint on Solana |
| owner | string | yes | Wallet pubkey that owns the tokens and will sign |
| validator | string | – | Optional ER validator pubkey |
No output schema declared.
No examples provided.
manifest_cancelOrder ~107
Cancel a limit order on a Manifest market. SAP MCP context: This Synapse AgentKit tool is served beside the sap_* SDK tools. Use sap_register_agent, sap_update_agent, and sap_publish_tool_by_name when the capability should become part of an on-chain SAP agent profile or tool registry entry.
| Name | Type | Req | Description |
|---|---|---|---|
| marketId | string | yes | Solana public key (base58) |
| orderId | string | yes | – |
| wallet | string | yes | Solana public key (base58) |
No output schema declared.
No examples provided.
manifest_createMarket ~107
Create a new Manifest market for a token pair. SAP MCP context: This Synapse AgentKit tool is served beside the sap_* SDK tools. Use sap_register_agent, sap_update_agent, and sap_publish_tool_by_name when the capability should become part of an on-chain SAP agent profile or tool registry entry.
| Name | Type | Req | Description |
|---|---|---|---|
| baseMint | string | yes | Base token mint |
| creator | string | yes | Solana public key (base58) |
| quoteMint | string | yes | Quote token mint |
No output schema declared.
No examples provided.
manifest_getOrderbook ~94
Get the current orderbook for a Manifest market. SAP MCP context: This Synapse AgentKit tool is served beside the sap_* SDK tools. Use sap_register_agent, sap_update_agent, and sap_publish_tool_by_name when the capability should become part of an on-chain SAP agent profile or tool registry entry.
| Name | Type | Req | Description |
|---|---|---|---|
| depth | number | – | – |
| marketId | string | yes | Solana public key (base58) |
No output schema declared.
No examples provided.
manifest_placeLimitOrder ~136
Place a limit order on a Manifest market. SAP MCP context: This Synapse AgentKit tool is served beside the sap_* SDK tools. Use sap_register_agent, sap_update_agent, and sap_publish_tool_by_name when the capability should become part of an on-chain SAP agent profile or tool registry entry.
| Name | Type | Req | Description |
|---|---|---|---|
| marketId | string | yes | Solana public key (base58) |
| orderType | string | – | – |
| price | number | yes | Limit price |
| side | string | yes | – |
| size | string | yes | Order size in base tokens |
| wallet | string | yes | Solana public key (base58) |
No output schema declared.
No examples provided.
metaplex-nft_configureRoyalties ~200
Configure royalty fee and creator splits for an NFT. SAP MCP context: Protocol metaplex-nft; operation class write. Use for Metaplex NFT collection, mint, metadata, royalty, creator verification, collection verification, and authority workflows. Confirm metadata URI, collection mint, creators, royalties, update authority, and ownership before writes. For agent identity, keep sap_register_agent as the SAP on-chain registration step and use agentUri or metadataUri to point at off-chain or NFT-backed metadata. Use these Metaplex tools when the agent also needs an NFT collection, badge, or verifiable media asset.
| Name | Type | Req | Description |
|---|---|---|---|
| creators | array | yes | Creator list with revenue shares (must sum to 100) |
| mint | string | yes | NFT mint address (base58) |
| sellerFeeBasisPoints | number | yes | Royalty fee in bps |
| updateAuthority | string | yes | Solana public key (base58) |
No output schema declared.
No examples provided.
metaplex-nft_delegateAuthority ~199
Delegate a specific authority (update, mint, freeze, collection) to another wallet. SAP MCP context: Protocol metaplex-nft; operation class write. Use for Metaplex NFT collection, mint, metadata, royalty, creator verification, collection verification, and authority workflows. Confirm metadata URI, collection mint, creators, royalties, update authority, and ownership before writes. For agent identity, keep sap_register_agent as the SAP on-chain registration step and use agentUri or metadataUri to point at off-chain or NFT-backed metadata. Use these Metaplex tools when the agent also needs an NFT collection, badge, or verifiable media asset.
| Name | Type | Req | Description |
|---|---|---|---|
| authorityType | string | yes | Type of authority to delegate |
| currentAuthority | string | yes | Solana public key (base58) |
| mint | string | yes | NFT mint address (base58) |
| newAuthority | string | yes | Solana public key (base58) |
No output schema declared.
No examples provided.
metaplex-nft_deployCollection ~248
Deploy a new NFT collection via Metaplex. Returns the collection mint and metadata addresses. SAP MCP context: Protocol metaplex-nft; operation class write. Use for Metaplex NFT collection, mint, metadata, royalty, creator verification, collection verification, and authority workflows. Confirm metadata URI, collection mint, creators, royalties, update authority, and ownership before writes. For agent identity, keep sap_register_agent as the SAP on-chain registration step and use agentUri or metadataUri to point at off-chain or NFT-backed metadata. Use these Metaplex tools when the agent also needs an NFT collection, badge, or verifiable media asset.
| Name | Type | Req | Description |
|---|---|---|---|
| authority | string | yes | Collection authority wallet |
| creators | array | – | Creator list with revenue shares (must sum to 100) |
| isMutable | boolean | – | – |
| maxSupply | number | – | Max NFTs in collection (0 = unlimited) |
| name | string | yes | Collection name |
| sellerFeeBasisPoints | number | – | Royalty fee in bps (500 = 5%) |
| symbol | string | yes | Collection symbol |
| uri | string | yes | URI to collection metadata JSON |
No output schema declared.
No examples provided.
What is the SAP MCP Server server?
SAP MCP Server is listed in the public MCP registry as ai.oobeprotocol.sap.mcp/sap-mcp. Solana-native MCP gateway for SAP, DeFi tools, SNS identity, and x402 payments. This page covers its npm package (@oobe-protocol-labs/sap-mcp-server).
Is the SAP MCP Server server safe to use?
SAP MCP Server scores 79 out of 100 on VerifyMCP. We recorded 9 known advisories against it as of 20 September 2026. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the SAP MCP Server server expose?
SAP MCP Server exposes 269 tools: sap_register_agent, sap_update_agent, sap_deactivate_agent, sap_reactivate_agent, sap_close_agent, and 264 more. Their descriptions and schemas cost roughly 32,719 tokens of context every time the server is loaded.
Is the SAP MCP Server server still maintained?
SAP MCP Server is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the SAP MCP Server server under?
SAP MCP Server declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.