@oobe-protocol-labs/sap-mcp-server 0.7.4 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +140 -0
- package/README.md +14 -7
- package/USER_DOCS/00_START_HERE.md +45 -7
- package/USER_DOCS/01_HOSTED_REMOTE_MCP.md +2 -0
- package/USER_DOCS/03_PAYMENTS_X402_PAYSH.md +24 -6
- package/USER_DOCS/04_CLIENT_CONFIGS.md +26 -15
- package/USER_DOCS/06_DESKTOP_GUI_WIZARD.md +44 -22
- package/assets/logos/drift.svg +12 -0
- package/assets/logos/jupiter.ico +0 -0
- package/assets/logos/mcp.svg +11 -0
- package/assets/logos/meteora.png +0 -0
- package/assets/logos/orca.ico +0 -0
- package/assets/logos/raydium.ico +0 -0
- package/assets/logos/smithery.svg +11 -0
- package/assets/oobe-logo.png +0 -0
- package/dist/config/mcp-client-injection.d.ts +26 -7
- package/dist/config/mcp-client-injection.d.ts.map +1 -1
- package/dist/config/mcp-client-injection.js +182 -58
- package/dist/config/mcp-client-injection.js.map +1 -1
- package/dist/config/paths.d.ts +6 -0
- package/dist/config/paths.d.ts.map +1 -1
- package/dist/config/paths.js +14 -0
- package/dist/config/paths.js.map +1 -1
- package/dist/config/wizard.d.ts.map +1 -1
- package/dist/config/wizard.js +92 -57
- package/dist/config/wizard.js.map +1 -1
- package/dist/core/constants.d.ts +1 -1
- package/dist/core/constants.js +1 -1
- package/dist/payments/pricing.d.ts.map +1 -1
- package/dist/payments/pricing.js +12 -0
- package/dist/payments/pricing.js.map +1 -1
- package/dist/payments/x402-paid-call.d.ts +181 -1
- package/dist/payments/x402-paid-call.d.ts.map +1 -1
- package/dist/payments/x402-paid-call.js +432 -6
- package/dist/payments/x402-paid-call.js.map +1 -1
- package/dist/prompts/context/sap-agent-context.prompt.js +7 -3
- package/dist/prompts/context/sap-agent-context.prompt.js.map +1 -1
- package/dist/remote/public-home/escape.d.ts +11 -0
- package/dist/remote/public-home/escape.d.ts.map +1 -0
- package/dist/remote/public-home/escape.js +20 -0
- package/dist/remote/public-home/escape.js.map +1 -0
- package/dist/remote/public-home/index.d.ts +8 -0
- package/dist/remote/public-home/index.d.ts.map +1 -0
- package/dist/remote/public-home/index.js +57 -0
- package/dist/remote/public-home/index.js.map +1 -0
- package/dist/remote/public-home/scripts.d.ts +6 -0
- package/dist/remote/public-home/scripts.d.ts.map +1 -0
- package/dist/remote/public-home/scripts.js +106 -0
- package/dist/remote/public-home/scripts.js.map +1 -0
- package/dist/remote/public-home/sections.d.ts +67 -0
- package/dist/remote/public-home/sections.d.ts.map +1 -0
- package/dist/remote/public-home/sections.js +732 -0
- package/dist/remote/public-home/sections.js.map +1 -0
- package/dist/remote/public-home/styles.d.ts +6 -0
- package/dist/remote/public-home/styles.d.ts.map +1 -0
- package/dist/remote/public-home/styles.js +1534 -0
- package/dist/remote/public-home/styles.js.map +1 -0
- package/dist/remote/public-home/types.d.ts +97 -0
- package/dist/remote/public-home/types.d.ts.map +1 -0
- package/dist/remote/public-home/types.js +2 -0
- package/dist/remote/public-home/types.js.map +1 -0
- package/dist/remote/server.d.ts +3 -1
- package/dist/remote/server.d.ts.map +1 -1
- package/dist/remote/server.js +67 -282
- package/dist/remote/server.js.map +1 -1
- package/dist/security/tool-permissions.d.ts.map +1 -1
- package/dist/security/tool-permissions.js +5 -0
- package/dist/security/tool-permissions.js.map +1 -1
- package/dist/tools/magicblock-tools.js +6 -6
- package/dist/tools/magicblock-tools.js.map +1 -1
- package/dist/tools/profile-tools.d.ts.map +1 -1
- package/dist/tools/profile-tools.js +136 -33
- package/dist/tools/profile-tools.js.map +1 -1
- package/dist/tools/register-tools.d.ts.map +1 -1
- package/dist/tools/register-tools.js +5 -0
- package/dist/tools/register-tools.js.map +1 -1
- package/dist/tools/x402-paid-call-tool.d.ts +1 -1
- package/dist/tools/x402-paid-call-tool.d.ts.map +1 -1
- package/dist/tools/x402-paid-call-tool.js +360 -28
- package/dist/tools/x402-paid-call-tool.js.map +1 -1
- package/dist/tui/config-wizard.js +2 -2
- package/dist/tui/config-wizard.js.map +1 -1
- package/dist/tui/wizard-save.d.ts.map +1 -1
- package/dist/tui/wizard-save.js +7 -3
- package/dist/tui/wizard-save.js.map +1 -1
- package/dist/wizard-core/desktop-flow.d.ts +40 -1
- package/dist/wizard-core/desktop-flow.d.ts.map +1 -1
- package/dist/wizard-core/desktop-flow.js +207 -15
- package/dist/wizard-core/desktop-flow.js.map +1 -1
- package/docs/03_CONFIGURATION_AND_WIZARD.md +7 -2
- package/docs/06_PAYMENTS_X402_AND_PAYSH.md +30 -7
- package/docs/07_ENDPOINTS_AND_CLIENTS.md +1 -1
- package/docs/14_DESKTOP_WIZARD_RELEASE.md +25 -5
- package/docs/15_DASHBOARD_SCREENSHARE_SCRIPT.md +137 -0
- package/docs/README.md +23 -2
- package/package.json +1 -1
- package/server.json +3 -3
- package/skills/sap-mcp/SKILL.md +27 -7
- package/skills/sap-payments-x402/SKILL.md +37 -13
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
# SAP MCP Dashboard Screenshare Script
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Use this script for a 4-6 minute product walkthrough of <https://mcp.sap.oobeprotocol.ai/>. The tone should be direct, technical, and commercial: SAP MCP is not just another MCP server; it is a Solana-native operations gateway for agent runtimes.
|
|
6
|
+
|
|
7
|
+
## 0. Opening Hook
|
|
8
|
+
|
|
9
|
+
**Screen:** Open <https://mcp.sap.oobeprotocol.ai/>.
|
|
10
|
+
|
|
11
|
+
**Say:**
|
|
12
|
+
|
|
13
|
+
Agent runtimes are moving from chat and retrieval into real execution. The missing piece is a clean operations layer: identity, wallet boundaries, payments, protocol tools, and a way to keep user keys under user control.
|
|
14
|
+
|
|
15
|
+
This is SAP MCP by OOBE Protocol: a hosted Solana-native MCP gateway for agents. It gives Claude, Codex, Hermes, OpenClaw, and custom agents one standard endpoint for Solana DeFi, Solana RPC, and Synapse Agent Protocol operations.
|
|
16
|
+
|
|
17
|
+
## 1. Dashboard Overview
|
|
18
|
+
|
|
19
|
+
**Screen:** Point to the hero, hosted endpoint, payment counters, and public navigation.
|
|
20
|
+
|
|
21
|
+
**Say:**
|
|
22
|
+
|
|
23
|
+
The hosted MCP endpoint is `https://mcp.sap.oobeprotocol.ai/mcp`. Agents connect through standard Streamable HTTP MCP. The public dashboard gives builders the important operational signals without exposing secrets: endpoint metadata, docs, downloads, x402 discovery, pay.sh provider data, and live payment activity.
|
|
24
|
+
|
|
25
|
+
The model is remote tools, local signatures. The hosted server provides the tool surface and monetization rails, while the user's local SAP profile or external signer authorizes paid and value-moving calls.
|
|
26
|
+
|
|
27
|
+
## 2. Three Protocol Buckets
|
|
28
|
+
|
|
29
|
+
**Screen:** Scroll to the protocol surface / bento grid section.
|
|
30
|
+
|
|
31
|
+
**Say:**
|
|
32
|
+
|
|
33
|
+
SAP MCP is organized around three core buckets.
|
|
34
|
+
|
|
35
|
+
First: Solana DeFi protocols. Agents can access integrations across Jupiter, Raydium, Orca, Meteora, Drift, market data, swaps, quotes, and related execution flows.
|
|
36
|
+
|
|
37
|
+
Second: Solana RPC and asset primitives. Balances, token accounts, DAS assets, NFT metadata, program reads, transactions, simulations, and chain inspection are exposed as MCP tools.
|
|
38
|
+
|
|
39
|
+
Third: Synapse Agent Protocol. This is the coordination layer: agent registry, reputation, tool registry, escrow, settlement, attestations, SNS identity, x402 flows, pay.sh metadata, skills, and proof-oriented agent operations.
|
|
40
|
+
|
|
41
|
+
The point is simple: one MCP gateway can turn a normal agent runtime into a protocol-aware on-chain operator.
|
|
42
|
+
|
|
43
|
+
## 3. Installation Path
|
|
44
|
+
|
|
45
|
+
**Screen:** Scroll to the integration/install section and download cards.
|
|
46
|
+
|
|
47
|
+
**Say:**
|
|
48
|
+
|
|
49
|
+
There are two installation paths.
|
|
50
|
+
|
|
51
|
+
For most users, use the native desktop wizard. Download Windows, macOS, or Linux directly from the GitHub release. The wizard creates an isolated SAP MCP profile, wallet boundary, policy defaults, hosted MCP config, and the local `sap_payments` bridge for paid calls.
|
|
52
|
+
|
|
53
|
+
For developers and servers, use the TUI from npm:
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
npm exec --yes --package @oobe-protocol-labs/sap-mcp-server -- sap-mcp-config wizard
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
The desktop GUI and the TUI both end in the same production model: hosted MCP at `/mcp`, plus local non-custodial signing and x402 payment handling.
|
|
60
|
+
|
|
61
|
+
## 4. Wizard Walkthrough
|
|
62
|
+
|
|
63
|
+
**Screen:** Open the SAP MCP Wizard.
|
|
64
|
+
|
|
65
|
+
**Say:**
|
|
66
|
+
|
|
67
|
+
The wizard is built for both normal users and technical operators.
|
|
68
|
+
|
|
69
|
+
The default path is full hosted SAP MCP setup. It creates or repairs the local profile, configures the selected runtime, and installs the local payment bridge.
|
|
70
|
+
|
|
71
|
+
If a user already has a profile, they can choose the repair path. That fixes only the SAP MCP runtime entries, keeps other MCP servers intact, and updates only OOBE's own `sap` and `sap_payments` blocks.
|
|
72
|
+
|
|
73
|
+
The important security rule is that keypair bytes are never pasted into remote configs. The hosted server never custodies user keys. Paid and write tools require the user-controlled local profile or an external signer.
|
|
74
|
+
|
|
75
|
+
## 5. Runtime Connection
|
|
76
|
+
|
|
77
|
+
**Screen:** Show Codex, Hermes, Claude, or another runtime with SAP MCP connected.
|
|
78
|
+
|
|
79
|
+
**Say:**
|
|
80
|
+
|
|
81
|
+
Once the runtime restarts, it gets two surfaces.
|
|
82
|
+
|
|
83
|
+
The remote SAP MCP namespace exposes the full hosted tool catalog. Read tools work immediately.
|
|
84
|
+
|
|
85
|
+
The local `sap_payments` bridge handles paid or write calls when the runtime cannot natively replay x402 challenges. It signs the payment proof locally, retries the hosted MCP call, and returns the receipt and tool output without sending private key material to OOBE.
|
|
86
|
+
|
|
87
|
+
That is the trust boundary: global hosted tools, local authorization.
|
|
88
|
+
|
|
89
|
+
## 6. Payments And Monetization
|
|
90
|
+
|
|
91
|
+
**Screen:** Point to payment/x402/pay.sh cards and `.well-known/x402`.
|
|
92
|
+
|
|
93
|
+
**Say:**
|
|
94
|
+
|
|
95
|
+
SAP MCP supports x402 and pay.sh for agent-native monetization.
|
|
96
|
+
|
|
97
|
+
Paid tools return a standard HTTP 402 challenge. The local bridge or a native x402-capable runtime resolves the challenge, settles through the OOBE facilitator, and binds payment to the tool call.
|
|
98
|
+
|
|
99
|
+
This lets hosted MCP tools become revenue-generating APIs without bearer tokens, custodial wallets, or hardcoded runtime secrets.
|
|
100
|
+
|
|
101
|
+
For builders, this means paid discovery, premium analytics, transaction builders, registry operations, SNS checks, settlement flows, and future subscription-style products can all live behind one MCP interface.
|
|
102
|
+
|
|
103
|
+
## 7. Solana Value Proposition
|
|
104
|
+
|
|
105
|
+
**Screen:** Return to the hero or protocol surface.
|
|
106
|
+
|
|
107
|
+
**Say:**
|
|
108
|
+
|
|
109
|
+
For Solana, SAP MCP is a distribution layer for protocols.
|
|
110
|
+
|
|
111
|
+
Instead of every agent integration being custom, protocols can be exposed as well-described MCP tools, enriched with skills and docs, and monetized with x402 or pay.sh.
|
|
112
|
+
|
|
113
|
+
For agents, it is a coordination layer. They can discover tools, inspect state, register identity, link SNS, handle payments, and execute operations through a standard interface.
|
|
114
|
+
|
|
115
|
+
For users, it is non-custodial by default. The remote server provides access; the local signer controls authorization.
|
|
116
|
+
|
|
117
|
+
## 8. Closing CTA
|
|
118
|
+
|
|
119
|
+
**Screen:** Show install button and docs.
|
|
120
|
+
|
|
121
|
+
**Say:**
|
|
122
|
+
|
|
123
|
+
You can try SAP MCP today at `mcp.sap.oobeprotocol.ai`.
|
|
124
|
+
|
|
125
|
+
Download the native wizard, or run the TUI from npm. Connect your agent runtime, keep signing local, and start building Solana-native agent operations with SAP MCP.
|
|
126
|
+
|
|
127
|
+
This is the path from agent profiles to on-chain operators.
|
|
128
|
+
|
|
129
|
+
## Short Social Cut
|
|
130
|
+
|
|
131
|
+
SAP MCP turns agent runtimes into Solana-native operators.
|
|
132
|
+
|
|
133
|
+
One hosted MCP endpoint gives agents access to Solana DeFi, Solana RPC, and Synapse Agent Protocol tools. The wizard creates the local profile, signer boundary, runtime config, and x402 payment bridge.
|
|
134
|
+
|
|
135
|
+
Remote tools. Local signatures. Smooth payments. No custodial key handling.
|
|
136
|
+
|
|
137
|
+
Try it at <https://mcp.sap.oobeprotocol.ai/>.
|
package/docs/README.md
CHANGED
|
@@ -14,6 +14,13 @@ Use this documentation when you need to install the wizard, connect Claude/Herme
|
|
|
14
14
|
|
|
15
15
|
Most users should connect agents to the hosted remote MCP server while keeping signing local and user-controlled.
|
|
16
16
|
|
|
17
|
+
Choose one integration path:
|
|
18
|
+
|
|
19
|
+
| Path | Best For | Steps |
|
|
20
|
+
| --- | --- | --- |
|
|
21
|
+
| Native Desktop Wizard | Non-technical users and first-time setup | Download the app, choose **Full hosted SAP MCP setup**, select detected runtimes, then restart the agent. |
|
|
22
|
+
| CLI Wizard | Developers and terminal users | Run the npm command, accept hosted `hosted-api`, and let the wizard install hosted `sap` plus local `sap_payments`. |
|
|
23
|
+
|
|
17
24
|
```bash
|
|
18
25
|
npm exec --yes --package @oobe-protocol-labs/sap-mcp-server -- sap-mcp-config wizard
|
|
19
26
|
```
|
|
@@ -24,7 +31,13 @@ Users who prefer a GUI can download the Desktop Wizard from GitHub releases:
|
|
|
24
31
|
https://github.com/OOBE-PROTOCOL/sap-mcp/releases
|
|
25
32
|
```
|
|
26
33
|
|
|
27
|
-
The desktop wizard creates the same local SAP MCP profile, signer boundary, hosted MCP client config, and
|
|
34
|
+
The desktop wizard creates the same local SAP MCP profile, signer boundary, hosted MCP client config, and local `sap_payments` bridge as the CLI wizard.
|
|
35
|
+
|
|
36
|
+
Native download metadata:
|
|
37
|
+
|
|
38
|
+
```txt
|
|
39
|
+
https://mcp.sap.oobeprotocol.ai/wizard/downloads.json
|
|
40
|
+
```
|
|
28
41
|
|
|
29
42
|
The wizard creates an isolated SAP MCP profile under:
|
|
30
43
|
|
|
@@ -45,6 +58,12 @@ Then configure your MCP client with:
|
|
|
45
58
|
}
|
|
46
59
|
```
|
|
47
60
|
|
|
61
|
+
For paid/write hosted tools, also configure the local `sap_payments` bridge. The wizard does this automatically for supported runtimes. See:
|
|
62
|
+
|
|
63
|
+
- [Desktop GUI Wizard](user/06_DESKTOP_GUI_WIZARD.md)
|
|
64
|
+
- [Client Configs](user/04_CLIENT_CONFIGS.md)
|
|
65
|
+
- [Payments: x402 And pay.sh](user/03_PAYMENTS_X402_PAYSH.md)
|
|
66
|
+
|
|
48
67
|
## What The Hosted Server Provides
|
|
49
68
|
|
|
50
69
|
SAP MCP groups tools into three practical buckets:
|
|
@@ -70,7 +89,9 @@ Hosted paid tools use x402 and pay.sh:
|
|
|
70
89
|
- builders: batch/domain/enriched operations
|
|
71
90
|
- value flows: fixed or percentage pricing only where it is operationally appropriate
|
|
72
91
|
|
|
73
|
-
For agents that cannot replay x402 challenges natively,
|
|
92
|
+
For agents that cannot replay x402 challenges natively, configure the local
|
|
93
|
+
`sap_payments` MCP bridge and call `sap_payments_call_paid_tool`. The standalone
|
|
94
|
+
helper remains available as a terminal/custom-wrapper fallback:
|
|
74
95
|
|
|
75
96
|
```bash
|
|
76
97
|
npx --yes --package @oobe-protocol-labs/sap-mcp-server sap-mcp-x402-paid-call \
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oobe-protocol-labs/sap-mcp-server",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.0",
|
|
4
4
|
"mcpName": "ai.oobeprotocol.sap.mcp/sap-mcp",
|
|
5
5
|
"description": "Official MCP gateway for OOBE Protocol SAP — AI agents can interact with SAP identity, registry, reputation, tools, memory, payments, settlement, and proof-of-execution on Solana",
|
|
6
6
|
"type": "module",
|
package/server.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"name": "ai.oobeprotocol.sap.mcp/sap-mcp",
|
|
4
4
|
"title": "SAP MCP Server | OOBE Protocol",
|
|
5
5
|
"description": "Solana-native MCP gateway for SAP tools, DeFi, SNS identity, x402/pay.sh, and agent operations.",
|
|
6
|
-
"version": "0.
|
|
6
|
+
"version": "0.9.0",
|
|
7
7
|
"websiteUrl": "https://mcp.sap.oobeprotocol.ai/",
|
|
8
8
|
"repository": {
|
|
9
9
|
"url": "https://github.com/OOBE-PROTOCOL/sap-mcp",
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
{
|
|
30
30
|
"registryType": "npm",
|
|
31
31
|
"identifier": "@oobe-protocol-labs/sap-mcp-server",
|
|
32
|
-
"version": "0.
|
|
32
|
+
"version": "0.9.0",
|
|
33
33
|
"transport": {
|
|
34
34
|
"type": "stdio"
|
|
35
35
|
},
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
},
|
|
46
46
|
{
|
|
47
47
|
"type": "positional",
|
|
48
|
-
"value": "@oobe-protocol-labs/sap-mcp-server@0.
|
|
48
|
+
"value": "@oobe-protocol-labs/sap-mcp-server@0.9.0"
|
|
49
49
|
},
|
|
50
50
|
{
|
|
51
51
|
"type": "positional",
|
package/skills/sap-mcp/SKILL.md
CHANGED
|
@@ -107,10 +107,15 @@ payments, SAP transactions, Solana transactions, SNS operations, or settlement
|
|
|
107
107
|
actions. The hosted MCP server is not a wallet custodian.
|
|
108
108
|
|
|
109
109
|
For hosted paid tools, use the native x402 flow. If the client runtime cannot
|
|
110
|
-
attach `PAYMENT-SIGNATURE` itself, use the local `
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
110
|
+
attach `PAYMENT-SIGNATURE` itself, use the local SAP MCP `sap_payments` bridge.
|
|
111
|
+
Call `sap_payments_readiness` first to verify the active profile, signer,
|
|
112
|
+
SOL/USDC balance, policy limits, and bridge status. Then call
|
|
113
|
+
`sap_payments_call_paid_tool` for the hosted paid tool. This is not a separate
|
|
114
|
+
hosted signing plugin: it is the local SAP MCP process using the user's
|
|
115
|
+
configured SAP profile wallet or external signer to sign the x402 payment
|
|
116
|
+
payload, retry the hosted tool call, and return the receipt.
|
|
117
|
+
`sap_x402_paid_call` is a backward-compatible alias only for older runtime
|
|
118
|
+
snippets. Neither helper must be treated as a remote hosted signing service.
|
|
114
119
|
|
|
115
120
|
When connected to hosted SAP MCP, `signerConfigured: false` on the remote
|
|
116
121
|
server means the hosted server is non-custodial. It does not mean the remote
|
|
@@ -119,15 +124,30 @@ a hosted call requires x402 payment or because the hosted server does not hold
|
|
|
119
124
|
the user's signer. Use the hosted x402 flow first; ask the user before using a
|
|
120
125
|
local stdio fallback.
|
|
121
126
|
|
|
127
|
+
Hosted remote is accountless. If `sap_profile_current` returns
|
|
128
|
+
`accountModel: hosted-remote-accountless`, do not describe `default` as the
|
|
129
|
+
user's profile and do not infer the user's wallet from the hosted server. To
|
|
130
|
+
inspect the local user profile, wallet, signer status, and payment policy, call
|
|
131
|
+
the local `sap_payments.sap_payments_readiness` bridge when it is configured.
|
|
132
|
+
Use `sap_payments.sap_payments_profile_current` only as a narrower compatibility
|
|
133
|
+
profile check.
|
|
134
|
+
|
|
135
|
+
Basic wallet reads are free on hosted SAP MCP. Call `sol_get_balance`,
|
|
136
|
+
`spl-token_getBalance`, and `spl-token_getTokenAccounts` directly on the hosted
|
|
137
|
+
server. Do not send these balance checks through `sap_payments_call_paid_tool`,
|
|
138
|
+
and do not summarize a balance read as a facilitator `BlockhashNotFound`
|
|
139
|
+
problem unless a paid tool actually returned that error.
|
|
140
|
+
|
|
122
141
|
If a hosted paid tool returns `BlockhashNotFound`,
|
|
123
142
|
`transaction_simulation_failed`, `smart_wallet_simulation_failed`, `node is
|
|
124
143
|
behind`, `minimum context slot`, `fetch failed`, `gateway timeout`, or a
|
|
125
144
|
response marked `retryable: true`, treat it as a transient x402/Solana RPC
|
|
126
145
|
settlement error. Do not claim that SAP MCP is down unless `/health` also
|
|
127
146
|
fails. Do not bypass the paid hosted path with terminal/direct RPC. Retry
|
|
128
|
-
through the local `
|
|
129
|
-
arguments, `confirm: true`, and `maxAttempts: 5` so a fresh payment payload
|
|
130
|
-
created.
|
|
147
|
+
through the local `sap_payments_call_paid_tool` bridge with the same tool name
|
|
148
|
+
and arguments, `confirm: true`, and `maxAttempts: 5` so a fresh payment payload
|
|
149
|
+
is created. Use `sap_x402_paid_call` only when a runtime still exposes the
|
|
150
|
+
legacy alias.
|
|
131
151
|
|
|
132
152
|
When summarizing a hosted connection, use language like:
|
|
133
153
|
"server is non-custodial; user signatures come from the local SAP profile or
|
|
@@ -7,6 +7,11 @@ workflows, and hosted SAP MCP x402/pay.sh monetization.
|
|
|
7
7
|
|
|
8
8
|
- `sap_x402_prepare_payment`
|
|
9
9
|
- `sap_x402_get_balance`
|
|
10
|
+
- `sap_payments_profile_current`
|
|
11
|
+
- `sap_payments_call_paid_tool`
|
|
12
|
+
- `sap_payments_prepare_challenge`
|
|
13
|
+
- `sap_payments_sign_challenge`
|
|
14
|
+
- `sap_payments_verify_receipt`
|
|
10
15
|
- `sap_x402_paid_call`
|
|
11
16
|
- `sap_create_subscription`
|
|
12
17
|
- `sap_fund_subscription`
|
|
@@ -36,7 +41,8 @@ hosted calls still proceed through x402/pay.sh plus the user's local SAP profile
|
|
|
36
41
|
or external signer.
|
|
37
42
|
|
|
38
43
|
- Free: `tools/list`, `prompts/list`, `resources/list`, `sap_profile_current`,
|
|
39
|
-
`sap_get_network_overview
|
|
44
|
+
`sap_get_network_overview`, `sol_get_balance`, `spl-token_getBalance`, and
|
|
45
|
+
`spl-token_getTokenAccounts`.
|
|
40
46
|
- Read premium: `sap_list_all_agents`, indexed discovery, network stats,
|
|
41
47
|
protocol/capability indexes.
|
|
42
48
|
- Builder: batch SNS/domain checks, analytics, transaction builders.
|
|
@@ -58,16 +64,34 @@ For fast x402 execution:
|
|
|
58
64
|
4. Cache free `tools/list`, `prompts/list`, and `resources/list` locally rather
|
|
59
65
|
than paying or re-fetching repeatedly.
|
|
60
66
|
5. Treat `PAYMENT-RESPONSE` as the receipt bound to the tool output.
|
|
61
|
-
6. If the client runtime cannot sign or attach x402 payment headers,
|
|
62
|
-
|
|
63
|
-
instead of falling back to local stdio automatically.
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
`
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
67
|
+
6. If the client runtime cannot sign or attach x402 payment headers itself, use
|
|
68
|
+
the local SAP MCP `sap_payments_call_paid_tool` bridge configured by the SAP
|
|
69
|
+
MCP wizard instead of falling back to local stdio automatically.
|
|
70
|
+
|
|
71
|
+
Do not use x402 for basic balance reads. `sol_get_balance`,
|
|
72
|
+
`spl-token_getBalance`, and `spl-token_getTokenAccounts` are free hosted tools
|
|
73
|
+
and should be called directly through the remote SAP MCP connection.
|
|
74
|
+
|
|
75
|
+
When available locally, call `sap_payments_call_paid_tool` with `toolName`,
|
|
76
|
+
`arguments`, `maxPriceUsd`, and `confirm: true`. It initializes the hosted MCP
|
|
77
|
+
session, obtains the x402 challenge, signs with the user SAP MCP profile wallet
|
|
78
|
+
or external signer, retries the hosted tool call, and returns the settlement
|
|
79
|
+
receipt. Do not ask the user to install a separate x402 plugin when the local
|
|
80
|
+
SAP MCP `sap_payments` bridge is already configured. The legacy
|
|
81
|
+
`sap_x402_paid_call` alias is acceptable only when a runtime has not refreshed
|
|
82
|
+
to the new tool name.
|
|
83
|
+
|
|
84
|
+
Use low-level helpers only for custom clients:
|
|
85
|
+
|
|
86
|
+
- `sap_payments_prepare_challenge` returns the parsed hosted x402 challenge
|
|
87
|
+
without signing.
|
|
88
|
+
- `sap_payments_sign_challenge` signs a parsed challenge and returns a one-time
|
|
89
|
+
payment header. Treat that header as authorization material.
|
|
90
|
+
- `sap_payments_verify_receipt` decodes a `PAYMENT-RESPONSE` or
|
|
91
|
+
`X-PAYMENT-RESPONSE` receipt.
|
|
92
|
+
|
|
93
|
+
The OOBE hosted server should not expose local signing helpers when it has no
|
|
94
|
+
local user wallet because payment signing belongs on the user's machine.
|
|
71
95
|
|
|
72
96
|
## Transient Settlement Errors
|
|
73
97
|
|
|
@@ -81,8 +105,8 @@ reuse the old signed payment payload.
|
|
|
81
105
|
|
|
82
106
|
Correct recovery:
|
|
83
107
|
|
|
84
|
-
1. Call the local `
|
|
85
|
-
and `arguments`.
|
|
108
|
+
1. Call the local `sap_payments_call_paid_tool` bridge again with the same
|
|
109
|
+
`toolName` and `arguments`.
|
|
86
110
|
2. Set `maxAttempts: 5` when the runtime supports it.
|
|
87
111
|
3. Let the helper create a fresh x402 challenge and payment payload for each
|
|
88
112
|
attempt.
|