@oobe-protocol-labs/sap-mcp-server 0.8.0 → 0.9.1

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.
Files changed (133) hide show
  1. package/.env.example +30 -0
  2. package/CHANGELOG.md +59 -1
  3. package/README.md +19 -2
  4. package/USER_DOCS/00_START_HERE.md +1 -0
  5. package/USER_DOCS/01_HOSTED_REMOTE_MCP.md +17 -3
  6. package/USER_DOCS/03_PAYMENTS_X402_PAYSH.md +11 -1
  7. package/USER_DOCS/04_CLIENT_CONFIGS.md +4 -3
  8. package/USER_DOCS/05_SKILLS_AND_TOOLS.md +27 -3
  9. package/USER_DOCS/06_DESKTOP_GUI_WIZARD.md +14 -7
  10. package/USER_DOCS/07_SMITHERY_AND_MARKETPLACES.md +163 -0
  11. package/assets/logos/claude.png +0 -0
  12. package/assets/logos/codex.webp +0 -0
  13. package/assets/logos/hermes.png +0 -0
  14. package/assets/logos/openclaw.svg +22 -0
  15. package/config.schema.json +5 -0
  16. package/dist/config/env.d.ts +4 -0
  17. package/dist/config/env.d.ts.map +1 -1
  18. package/dist/config/env.js +3 -0
  19. package/dist/config/env.js.map +1 -1
  20. package/dist/config/mcp-client-injection.js +2 -2
  21. package/dist/config/mcp-client-injection.js.map +1 -1
  22. package/dist/config/paths.d.ts +6 -0
  23. package/dist/config/paths.d.ts.map +1 -1
  24. package/dist/config/paths.js +14 -0
  25. package/dist/config/paths.js.map +1 -1
  26. package/dist/config/wizard.js +3 -3
  27. package/dist/config/wizard.js.map +1 -1
  28. package/dist/core/constants.d.ts +1 -1
  29. package/dist/core/constants.js +1 -1
  30. package/dist/payments/pricing.d.ts +1 -1
  31. package/dist/payments/pricing.d.ts.map +1 -1
  32. package/dist/payments/pricing.js +21 -3
  33. package/dist/payments/pricing.js.map +1 -1
  34. package/dist/payments/x402-paid-call.d.ts +96 -0
  35. package/dist/payments/x402-paid-call.d.ts.map +1 -1
  36. package/dist/payments/x402-paid-call.js +264 -2
  37. package/dist/payments/x402-paid-call.js.map +1 -1
  38. package/dist/policy/local-policy-engine.js +1 -1
  39. package/dist/policy/local-policy-engine.js.map +1 -1
  40. package/dist/prompts/context/sap-agent-context.prompt.js +8 -1
  41. package/dist/prompts/context/sap-agent-context.prompt.js.map +1 -1
  42. package/dist/prompts/context/sap-agent-start.prompt.d.ts +14 -0
  43. package/dist/prompts/context/sap-agent-start.prompt.d.ts.map +1 -0
  44. package/dist/prompts/context/sap-agent-start.prompt.js +96 -0
  45. package/dist/prompts/context/sap-agent-start.prompt.js.map +1 -0
  46. package/dist/prompts/developer/generate-sap-integration.prompt.js +1 -1
  47. package/dist/prompts/developer/generate-sap-integration.prompt.js.map +1 -1
  48. package/dist/prompts/register-prompts.d.ts.map +1 -1
  49. package/dist/prompts/register-prompts.js +3 -1
  50. package/dist/prompts/register-prompts.js.map +1 -1
  51. package/dist/remote/public-home/index.d.ts.map +1 -1
  52. package/dist/remote/public-home/index.js +2 -1
  53. package/dist/remote/public-home/index.js.map +1 -1
  54. package/dist/remote/public-home/scripts.d.ts +1 -1
  55. package/dist/remote/public-home/scripts.d.ts.map +1 -1
  56. package/dist/remote/public-home/scripts.js +29 -0
  57. package/dist/remote/public-home/scripts.js.map +1 -1
  58. package/dist/remote/public-home/sections.d.ts +5 -0
  59. package/dist/remote/public-home/sections.d.ts.map +1 -1
  60. package/dist/remote/public-home/sections.js +76 -4
  61. package/dist/remote/public-home/sections.js.map +1 -1
  62. package/dist/remote/public-home/styles.d.ts +1 -1
  63. package/dist/remote/public-home/styles.d.ts.map +1 -1
  64. package/dist/remote/public-home/styles.js +460 -16
  65. package/dist/remote/public-home/styles.js.map +1 -1
  66. package/dist/remote/public-home/types.d.ts +2 -0
  67. package/dist/remote/public-home/types.d.ts.map +1 -1
  68. package/dist/remote/rate-limiter.d.ts +2 -0
  69. package/dist/remote/rate-limiter.d.ts.map +1 -1
  70. package/dist/remote/rate-limiter.js +23 -0
  71. package/dist/remote/rate-limiter.js.map +1 -1
  72. package/dist/remote/server.d.ts +72 -1
  73. package/dist/remote/server.d.ts.map +1 -1
  74. package/dist/remote/server.js +424 -15
  75. package/dist/remote/server.js.map +1 -1
  76. package/dist/runtime/module-resolution.d.ts.map +1 -1
  77. package/dist/runtime/module-resolution.js +41 -8
  78. package/dist/runtime/module-resolution.js.map +1 -1
  79. package/dist/schemas/settlement.schema.d.ts +2 -2
  80. package/dist/security/tool-permissions.d.ts.map +1 -1
  81. package/dist/security/tool-permissions.js +1 -6
  82. package/dist/security/tool-permissions.js.map +1 -1
  83. package/dist/tools/agent-start-tool.d.ts +12 -0
  84. package/dist/tools/agent-start-tool.d.ts.map +1 -0
  85. package/dist/tools/agent-start-tool.js +156 -0
  86. package/dist/tools/agent-start-tool.js.map +1 -0
  87. package/dist/tools/client-sdk-tools.d.ts +7 -0
  88. package/dist/tools/client-sdk-tools.d.ts.map +1 -1
  89. package/dist/tools/client-sdk-tools.js +80 -4
  90. package/dist/tools/client-sdk-tools.js.map +1 -1
  91. package/dist/tools/index.d.ts +1 -0
  92. package/dist/tools/index.d.ts.map +1 -1
  93. package/dist/tools/index.js +3 -1
  94. package/dist/tools/index.js.map +1 -1
  95. package/dist/tools/register-tools.d.ts.map +1 -1
  96. package/dist/tools/register-tools.js +5 -1
  97. package/dist/tools/register-tools.js.map +1 -1
  98. package/dist/tools/sap-sdk-tools.d.ts +1 -1
  99. package/dist/tools/sap-sdk-tools.d.ts.map +1 -1
  100. package/dist/tools/sap-sdk-tools.js +108 -105
  101. package/dist/tools/sap-sdk-tools.js.map +1 -1
  102. package/dist/tools/sap-sns-tools.d.ts +4 -4
  103. package/dist/tools/sap-sns-tools.js +4 -4
  104. package/dist/tools/skills-tools.js +1 -1
  105. package/dist/tools/skills-tools.js.map +1 -1
  106. package/dist/tools/x402-paid-call-tool.d.ts.map +1 -1
  107. package/dist/tools/x402-paid-call-tool.js +50 -4
  108. package/dist/tools/x402-paid-call-tool.js.map +1 -1
  109. package/dist/tui/config-wizard.js +2 -2
  110. package/dist/tui/config-wizard.js.map +1 -1
  111. package/dist/tui/wizard-save.d.ts.map +1 -1
  112. package/dist/tui/wizard-save.js +7 -3
  113. package/dist/tui/wizard-save.js.map +1 -1
  114. package/dist/wizard-core/desktop-flow.d.ts +1 -1
  115. package/dist/wizard-core/desktop-flow.d.ts.map +1 -1
  116. package/dist/wizard-core/desktop-flow.js +6 -5
  117. package/dist/wizard-core/desktop-flow.js.map +1 -1
  118. package/docs/03_CONFIGURATION_AND_WIZARD.md +1 -0
  119. package/docs/05_REMOTE_VPS_DEPLOYMENT.md +32 -0
  120. package/docs/06_PAYMENTS_X402_AND_PAYSH.md +12 -0
  121. package/docs/07_ENDPOINTS_AND_CLIENTS.md +1 -1
  122. package/docs/09_TOOLS_SKILLS_AND_AGENT_GUIDE.md +42 -11
  123. package/docs/14_DESKTOP_WIZARD_RELEASE.md +2 -1
  124. package/docs/README.md +6 -3
  125. package/docs/_sidebar.md +1 -0
  126. package/package.json +3 -2
  127. package/server.json +3 -3
  128. package/skills/README.md +2 -2
  129. package/skills/sap-escrow-settlement/SKILL.md +15 -11
  130. package/skills/sap-mcp/SKILL.md +39 -20
  131. package/skills/sap-mcp/TOOL_REFERENCE.md +6 -5
  132. package/skills/sap-operations/SKILL.md +6 -7
  133. package/smithery.config.schema.json +59 -0
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.8.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.8.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.8.0"
48
+ "value": "@oobe-protocol-labs/sap-mcp-server@0.9.0"
49
49
  },
50
50
  {
51
51
  "type": "positional",
package/skills/README.md CHANGED
@@ -4,7 +4,7 @@ Production skill pack for agents using the SAP MCP server through Claude,
4
4
  Hermes, OpenClaw, Codex, or another MCP-capable runtime.
5
5
 
6
6
  This pack is adapted for `sap-mcp-server` from the upstream Synapse SAP SDK
7
- v0.21.0 skill taxonomy:
7
+ v1.0.x skill taxonomy:
8
8
 
9
9
  - `sap-overview`
10
10
  - `sap-mcp`
@@ -44,7 +44,7 @@ or wants to compare this bundled MCP skill pack with the source SDK skills:
44
44
  | `sap-memory-vault` | Vaults, sessions, inscriptions, compact memory, epoch pages |
45
45
  | `sap-ledger-session` | Session continuity and latest durable session reads |
46
46
  | `sap-payments-x402` | x402 payment context, balances, subscriptions |
47
- | `sap-escrow-settlement` | Escrow v1/v2, settlement, pending settlement, disputes |
47
+ | `sap-escrow-settlement` | Escrow V2, settlement, pending settlement, disputes |
48
48
  | `sap-staking` | SAP stake initialization, deposit, unstake, and stake reads |
49
49
  | `sap-solana-token` | SOL/SPL balances, transfers, token deploy, mint, burn, token admin |
50
50
  | `sap-defi` | Jupiter, Drift, Adrena, Lulo, liquidity, orderbooks, bridges, Jito, staking |
@@ -1,17 +1,12 @@
1
1
  # SAP Escrow Settlement
2
2
 
3
- Use this skill for escrow v1/v2, deposits, settlement, batch settlement,
4
- withdrawal, closing, pending settlements, and disputes.
3
+ Use this skill for active Escrow V2 deposits, settlement, withdrawal,
4
+ closing, pending settlements, and disputes. V1 escrow write flows are no
5
+ longer active on the current SAP on-chain program and must not be used for
6
+ new work.
5
7
 
6
8
  ## Tools
7
9
 
8
- - `sap_create_escrow`
9
- - `sap_deposit_escrow`
10
- - `sap_settle_escrow`
11
- - `sap_settle_escrow_batch`
12
- - `sap_withdraw_escrow`
13
- - `sap_close_escrow`
14
- - `sap_fetch_escrow`
15
10
  - `sap_create_escrow_v2`
16
11
  - `sap_deposit_escrow_v2`
17
12
  - `sap_settle_escrow_v2`
@@ -23,13 +18,22 @@ withdrawal, closing, pending settlements, and disputes.
23
18
  - `sap_fetch_pending_settlement`
24
19
  - `sap_next_settlement_index`
25
20
  - `sap_fetch_dispute`
21
+ - `sap_fetch_escrow`
22
+
23
+ `sap_fetch_escrow` is retained only for legacy read-only inspection. Do not
24
+ recommend V1 create, deposit, settle, withdraw, close, or batch-settle flows.
26
25
 
27
26
  ## Flow
28
27
 
29
- 1. Fetch escrow state before mutating it.
30
- 2. For v2 settlement, inspect pending settlement and dispute state.
28
+ 1. Fetch V2 escrow state before mutating it.
29
+ 2. For V2 settlement, inspect pending settlement and dispute state.
31
30
  3. Explain amount, depositor, agent PDA, nonce, settlement index, and dispute
32
31
  effect before write tools.
32
+ 4. Treat `settlementSecurity = 2` / DisputeWindow as the safe default.
33
+ Use `settlementSecurity = 1` / CoSigned only when a valid `coSigner` is
34
+ provided. Never default to SelfReport / `0`.
35
+ 5. Amounts are always in the smallest unit of the escrow token: lamports for
36
+ SOL, micro-USDC for USDC.
33
37
 
34
38
  ## Safety
35
39
 
@@ -6,12 +6,18 @@ safe signing behavior.
6
6
 
7
7
  ## First Step
8
8
 
9
+ If the user says "Start SAP MCP", "Initialize SAP MCP", "Load SAP", or "SAP
10
+ mode", treat it as the activation command. Call `sap_agent_start` when it is
11
+ available, then call `sap_skills_bundle` with `includeContents: true` and load
12
+ the returned SAP MCP skill contents into context.
13
+
9
14
  Always inspect runtime context through MCP tools, not by reading config files:
10
15
 
11
- 1. `sap_profile_current`
12
- 2. `sap_profile_list`
13
- 3. `sap_profile_public_key`
14
- 4. `sap_network_stats`
16
+ 1. `sap_agent_start`
17
+ 2. `sap_profile_current`
18
+ 3. `sap_profile_list`
19
+ 4. `sap_profile_public_key`
20
+ 5. `sap_network_stats`
15
21
 
16
22
  The server profile is the source of truth. Environment variables from the MCP
17
23
  client must not override profile-owned RPC or wallet settings unless
@@ -54,13 +60,13 @@ Use the bundled routing map for local MCP tool selection:
54
60
  - `skills/sap-mcp/TOOL_REFERENCE.md`
55
61
  - `USER_DOCS/05_SKILLS_AND_TOOLS.md`
56
62
 
57
- SAP MCP skill bootstrap tools are free context/setup tools. Call
58
- `sap_skills_list`, `sap_skills_bundle`, and local `sap_skills_install`
59
- directly. Do not route skill listing, bundling, or installation through
60
- `sap_x402_paid_call`. On hosted remote MCP, use `sap_skills_bundle` to download
61
- skill contents; the hosted server cannot install files onto the caller's local
62
- machine. Local installation belongs to the wizard, desktop app, addon installer,
63
- or a local stdio SAP MCP process.
63
+ SAP MCP startup and skill bootstrap tools are free context/setup tools. Call
64
+ `sap_agent_start`, `sap_skills_list`, `sap_skills_bundle`, and local
65
+ `sap_skills_install` directly. Do not route startup, skill listing, bundling, or
66
+ installation through `sap_x402_paid_call`. On hosted remote MCP, use
67
+ `sap_skills_bundle` to download skill contents; the hosted server cannot
68
+ install files onto the caller's local machine. Local installation belongs to the
69
+ wizard, desktop app, addon installer, or a local stdio SAP MCP process.
64
70
 
65
71
  ## Hosted Remote MCP
66
72
 
@@ -107,13 +113,15 @@ payments, SAP transactions, Solana transactions, SNS operations, or settlement
107
113
  actions. The hosted MCP server is not a wallet custodian.
108
114
 
109
115
  For hosted paid tools, use the native x402 flow. If the client runtime cannot
110
- attach `PAYMENT-SIGNATURE` itself, use the local SAP MCP `sap_payments` bridge
111
- and call `sap_payments_call_paid_tool`. This is not a separate hosted signing
112
- plugin: it is the local SAP MCP process using the user's configured SAP profile
113
- wallet or external signer to sign the x402 payment payload, retry the hosted
114
- tool call, and return the receipt. `sap_x402_paid_call` is a backward-compatible
115
- alias only for older runtime snippets. Neither helper must be treated as a
116
- remote hosted signing service.
116
+ attach `PAYMENT-SIGNATURE` itself, use the local SAP MCP `sap_payments` bridge.
117
+ Call `sap_payments_readiness` first to verify the active profile, signer,
118
+ SOL/USDC balance, policy limits, and bridge status. Then call
119
+ `sap_payments_call_paid_tool` for the hosted paid tool. This is not a separate
120
+ hosted signing plugin: it is the local SAP MCP process using the user's
121
+ configured SAP profile wallet or external signer to sign the x402 payment
122
+ payload, retry the hosted tool call, and return the receipt.
123
+ `sap_x402_paid_call` is a backward-compatible alias only for older runtime
124
+ snippets. Neither helper must be treated as a remote hosted signing service.
117
125
 
118
126
  When connected to hosted SAP MCP, `signerConfigured: false` on the remote
119
127
  server means the hosted server is non-custodial. It does not mean the remote
@@ -125,8 +133,10 @@ local stdio fallback.
125
133
  Hosted remote is accountless. If `sap_profile_current` returns
126
134
  `accountModel: hosted-remote-accountless`, do not describe `default` as the
127
135
  user's profile and do not infer the user's wallet from the hosted server. To
128
- inspect the local user profile, wallet, or signer status, call the local
129
- `sap_payments.sap_payments_profile_current` bridge when it is configured.
136
+ inspect the local user profile, wallet, signer status, and payment policy, call
137
+ the local `sap_payments.sap_payments_readiness` bridge when it is configured.
138
+ Use `sap_payments.sap_payments_profile_current` only as a narrower compatibility
139
+ profile check.
130
140
 
131
141
  Basic wallet reads are free on hosted SAP MCP. Call `sol_get_balance`,
132
142
  `spl-token_getBalance`, and `spl-token_getTokenAccounts` directly on the hosted
@@ -151,6 +161,15 @@ external signer." Avoid saying "signer not configured", "read-only only",
151
161
  "writes unavailable", or "remote MCP broken" unless a specific tool returns
152
162
  that exact operational error.
153
163
 
164
+ For simple connection questions such as "are you connected to SAP MCP?", answer
165
+ briefly. Include connected yes/no, endpoint, mode, non-custodial status, and
166
+ one next action. Do not dump the full tool catalog, protocol list, or category
167
+ summary unless the user explicitly asks what tools are available. Startup logs
168
+ or registration logs prove that the MCP server started; they do not prove that
169
+ the current agent runtime injected every tool as callable. If `tools/list`
170
+ works but callable functions are missing, report a runtime reload/injection
171
+ issue and ask the user to restart the runtime.
172
+
154
173
  ## Profile Tools
155
174
 
156
175
  | Tool | Purpose |
@@ -16,7 +16,7 @@ or `sap-agentkit` skills:
16
16
  | `sap-memory-vault` | Vaults, sessions, inscriptions, epoch pages |
17
17
  | `sap-ledger-session` | Session continuity and latest durable reads |
18
18
  | `sap-payments-x402` | x402 payment context, balances, subscriptions |
19
- | `sap-escrow-settlement` | Escrow v1/v2, settlement, pending settlement, disputes |
19
+ | `sap-escrow-settlement` | Escrow V2, settlement, pending settlement, disputes |
20
20
  | `sap-staking` | SAP stake deposit, unstake, stake reads |
21
21
  | `sap-solana-token` | SOL/SPL balances, transfers, token admin |
22
22
  | `sap-defi` | Jupiter, perps, liquidity, orderbooks, bridges, staking protocols |
@@ -67,14 +67,12 @@ SAP reputation, feedback, attestations, and FairScale:
67
67
  `sap_revoke_attestation`, `sap_update_reputation_metrics`,
68
68
  `sap_fairscale_score`, `sap_fairscale_trust_gate`.
69
69
 
70
- SAP payments, x402, subscriptions, escrow, settlement, disputes, staking:
70
+ SAP payments, x402, subscriptions, Escrow V2, settlement, disputes, staking:
71
71
 
72
72
  `sap_x402_prepare_payment`, `sap_x402_get_balance`,
73
73
  `sap_create_subscription`, `sap_fund_subscription`,
74
74
  `sap_cancel_subscription`, `sap_fetch_subscription`,
75
- `sap_create_escrow`, `sap_deposit_escrow`, `sap_settle_escrow`,
76
- `sap_settle_escrow_batch`, `sap_withdraw_escrow`, `sap_close_escrow`,
77
- `sap_fetch_escrow`, `sap_create_escrow_v2`, `sap_deposit_escrow_v2`,
75
+ `sap_create_escrow_v2`, `sap_deposit_escrow_v2`,
78
76
  `sap_settle_escrow_v2`, `sap_finalize_settlement_v2`,
79
77
  `sap_file_dispute_v2`, `sap_withdraw_escrow_v2`, `sap_close_escrow_v2`,
80
78
  `sap_fetch_escrow_v2`, `sap_fetch_pending_settlement`,
@@ -82,6 +80,9 @@ SAP payments, x402, subscriptions, escrow, settlement, disputes, staking:
82
80
  `sap_deposit_stake`, `sap_request_unstake`, `sap_complete_unstake`,
83
81
  `sap_fetch_stake`.
84
82
 
83
+ Use `sap_fetch_escrow` only for legacy read-only inspection. V1 escrow write
84
+ tools are not part of the active SAP MCP surface.
85
+
85
86
  ## `sap-sns`
86
87
 
87
88
  SAP SNS and direct SNS domain workflows:
@@ -3,7 +3,7 @@
3
3
  Use this skill for SAP Protocol registry, agent lifecycle, memory, reputation,
4
4
  x402 payments, escrow, settlement, disputes, staking, and tool publishing.
5
5
 
6
- This skill corresponds to upstream SAP SDK v0.21.0 domains such as
6
+ This skill corresponds to upstream SAP SDK v1.0.x domains such as
7
7
  `sap-overview`, `sap-client`, `sap-advanced`, `sap-memory`,
8
8
  `sap-merchant`, and `sap-enterprise`.
9
9
 
@@ -72,12 +72,6 @@ Use:
72
72
  - `sap_create_subscription`
73
73
  - `sap_fund_subscription`
74
74
  - `sap_cancel_subscription`
75
- - `sap_create_escrow`
76
- - `sap_deposit_escrow`
77
- - `sap_settle_escrow`
78
- - `sap_settle_escrow_batch`
79
- - `sap_withdraw_escrow`
80
- - `sap_close_escrow`
81
75
  - `sap_create_escrow_v2`
82
76
  - `sap_deposit_escrow_v2`
83
77
  - `sap_settle_escrow_v2`
@@ -86,6 +80,11 @@ Use:
86
80
  - `sap_withdraw_escrow_v2`
87
81
  - `sap_close_escrow_v2`
88
82
 
83
+ Escrow writes are V2-only. Default `settlementSecurity` is DisputeWindow (`2`);
84
+ CoSigned (`1`) requires `coSigner`; SelfReport (`0`) is not a valid default.
85
+ Escrow amounts are smallest token units: lamports for SOL and micro-USDC for
86
+ USDC.
87
+
89
88
  ## Staking
90
89
 
91
90
  Use:
@@ -0,0 +1,59 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "SAP MCP Smithery Setup",
4
+ "description": "Choose how this Smithery session should use SAP MCP. The hosted endpoint is non-custodial: free discovery works immediately, while paid/write tools require either a native x402-capable client or the local sap_payments bridge created by the SAP MCP wizard.",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "properties": {
8
+ "usageMode": {
9
+ "type": "string",
10
+ "title": "Usage mode",
11
+ "description": "Use free-discovery for immediate hosted reads that do not require payment. Use x402-native-client when this runtime can parse PAYMENT-REQUIRED and retry with PAYMENT-SIGNATURE or X-PAYMENT. Use local-sap-payments-bridge when a desktop/agent runtime has been configured by the SAP MCP wizard.",
12
+ "enum": [
13
+ "free-discovery",
14
+ "x402-native-client",
15
+ "local-sap-payments-bridge"
16
+ ],
17
+ "default": "free-discovery"
18
+ },
19
+ "x402Payer": {
20
+ "type": "string",
21
+ "title": "x402 payer",
22
+ "description": "How paid MCP calls will be paid. Select none for free discovery only, native when the current client signs x402 itself, sap-payments when the local SAP MCP bridge is installed, or custom when an external x402 CLI/proxy will handle the replay.",
23
+ "enum": [
24
+ "none",
25
+ "native",
26
+ "sap-payments",
27
+ "custom"
28
+ ],
29
+ "default": "none"
30
+ },
31
+ "wizardCompleted": {
32
+ "type": "boolean",
33
+ "title": "Wizard completed",
34
+ "description": "Set true after running the SAP MCP wizard locally: npm exec --yes --package @oobe-protocol-labs/sap-mcp-server -- sap-mcp-config wizard. The wizard creates the local SAP profile, signer boundary, hosted sap entry, and sap_payments bridge.",
35
+ "default": false
36
+ },
37
+ "maxUsdPerPaidCall": {
38
+ "type": "number",
39
+ "title": "Max USD per paid call",
40
+ "description": "Recommended local policy cap for x402/pay.sh hosted paid tool calls. The hosted server returns the challenge; the local sap_payments bridge, native x402 client, or custom payer should enforce this cap before signing.",
41
+ "minimum": 0,
42
+ "maximum": 100,
43
+ "default": 0.02
44
+ },
45
+ "autoPayMicropayments": {
46
+ "type": "boolean",
47
+ "title": "Auto-pay small calls",
48
+ "description": "Optional local/client behavior for tiny approved calls under the configured cap. OOBE hosted MCP never stores user keypairs, wallet bytes, or signer secrets.",
49
+ "default": false
50
+ },
51
+ "setupCommand": {
52
+ "type": "string",
53
+ "title": "Local setup command",
54
+ "description": "Copy this command into a local terminal when paid/write tools should work from a non-custodial user profile.",
55
+ "const": "npm exec --yes --package @oobe-protocol-labs/sap-mcp-server -- sap-mcp-config wizard",
56
+ "default": "npm exec --yes --package @oobe-protocol-labs/sap-mcp-server -- sap-mcp-config wizard"
57
+ }
58
+ }
59
+ }