@oobe-protocol-labs/sap-mcp-server 0.9.2 → 0.9.4

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 (55) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/README.md +2 -2
  3. package/USER_DOCS/00_START_HERE.md +1 -0
  4. package/USER_DOCS/03_PAYMENTS_X402_PAYSH.md +4 -3
  5. package/USER_DOCS/04_CLIENT_CONFIGS.md +9 -5
  6. package/USER_DOCS/05_SKILLS_AND_TOOLS.md +2 -0
  7. package/USER_DOCS/06_DESKTOP_GUI_WIZARD.md +6 -6
  8. package/USER_DOCS/07_SMITHERY_AND_MARKETPLACES.md +7 -0
  9. package/config.schema.json +2 -2
  10. package/dist/config/env.js +4 -4
  11. package/dist/config/env.js.map +1 -1
  12. package/dist/config/mcp-client-injection.d.ts.map +1 -1
  13. package/dist/config/mcp-client-injection.js +10 -4
  14. package/dist/config/mcp-client-injection.js.map +1 -1
  15. package/dist/config/wizard.js +3 -3
  16. package/dist/config/wizard.js.map +1 -1
  17. package/dist/core/constants.d.ts +1 -1
  18. package/dist/core/constants.d.ts.map +1 -1
  19. package/dist/core/constants.js +2 -1
  20. package/dist/core/constants.js.map +1 -1
  21. package/dist/payments/pricing.d.ts.map +1 -1
  22. package/dist/payments/pricing.js +57 -13
  23. package/dist/payments/pricing.js.map +1 -1
  24. package/dist/prompts/context/sap-agent-context.prompt.js +2 -0
  25. package/dist/prompts/context/sap-agent-context.prompt.js.map +1 -1
  26. package/dist/prompts/context/sap-agent-start.prompt.js +2 -0
  27. package/dist/prompts/context/sap-agent-start.prompt.js.map +1 -1
  28. package/dist/remote/public-home/sections.d.ts.map +1 -1
  29. package/dist/remote/public-home/sections.js +3 -2
  30. package/dist/remote/public-home/sections.js.map +1 -1
  31. package/dist/security/tool-permissions.d.ts.map +1 -1
  32. package/dist/security/tool-permissions.js +1 -0
  33. package/dist/security/tool-permissions.js.map +1 -1
  34. package/dist/tools/agent-start-tool.js +16 -0
  35. package/dist/tools/agent-start-tool.js.map +1 -1
  36. package/dist/tools/magicblock-tools.d.ts +6 -6
  37. package/dist/tools/magicblock-tools.js +26 -26
  38. package/dist/tools/magicblock-tools.js.map +1 -1
  39. package/dist/tools/transaction-tools.d.ts +78 -0
  40. package/dist/tools/transaction-tools.d.ts.map +1 -1
  41. package/dist/tools/transaction-tools.js +72 -9
  42. package/dist/tools/transaction-tools.js.map +1 -1
  43. package/dist/tools/x402-paid-call-tool.d.ts.map +1 -1
  44. package/dist/tools/x402-paid-call-tool.js +106 -0
  45. package/dist/tools/x402-paid-call-tool.js.map +1 -1
  46. package/docs/03_CONFIGURATION_AND_WIZARD.md +2 -3
  47. package/docs/06_PAYMENTS_X402_AND_PAYSH.md +1 -0
  48. package/docs/07_ENDPOINTS_AND_CLIENTS.md +1 -1
  49. package/docs/14_DESKTOP_WIZARD_RELEASE.md +2 -3
  50. package/docs/README.md +5 -2
  51. package/docs/magicblock-tools.md +44 -29
  52. package/package.json +1 -1
  53. package/server.json +3 -3
  54. package/skills/sap-mcp/SKILL.md +6 -0
  55. package/skills/sap-payments-x402/SKILL.md +7 -0
@@ -15,7 +15,7 @@ const SYSTEM_TRANSFER_LAYOUT_BYTES = 12;
15
15
  * @param encoding - Encoding used by the incoming transaction.
16
16
  * @returns Raw serialized transaction bytes.
17
17
  */
18
- function decodeInputBytes(value, encoding = 'base64') {
18
+ export function decodeInputBytes(value, encoding = 'base64') {
19
19
  if (encoding === 'base64') {
20
20
  return Buffer.from(value, 'base64');
21
21
  }
@@ -31,7 +31,7 @@ function decodeInputBytes(value, encoding = 'base64') {
31
31
  * @param encoding - Encoding used by the incoming transaction.
32
32
  * @returns Deserialized Solana transaction.
33
33
  */
34
- function deserializeTransaction(value, encoding) {
34
+ export function deserializeTransaction(value, encoding) {
35
35
  const bytes = decodeInputBytes(value, encoding);
36
36
  try {
37
37
  return VersionedTransaction.deserialize(bytes);
@@ -105,7 +105,7 @@ function estimateNativeTransfer(transaction, signer) {
105
105
  * @param transaction - Deserialized transaction to check.
106
106
  * @param signer - Optional signer filter for signing checks.
107
107
  */
108
- async function assertTransactionPolicy(context, transaction, signer) {
108
+ export async function assertTransactionPolicy(context, transaction, signer) {
109
109
  const nativeTransfer = estimateNativeTransfer(transaction, signer);
110
110
  if (nativeTransfer.sol <= 0) {
111
111
  return nativeTransfer;
@@ -125,7 +125,7 @@ async function assertTransactionPolicy(context, transaction, signer) {
125
125
  * @param transaction - Transaction to serialize.
126
126
  * @returns Base64 encoded transaction bytes.
127
127
  */
128
- function serializeTransaction(transaction) {
128
+ export function serializeTransaction(transaction) {
129
129
  if (transaction instanceof VersionedTransaction) {
130
130
  return Buffer.from(transaction.serialize()).toString('base64');
131
131
  }
@@ -140,7 +140,7 @@ function serializeTransaction(transaction) {
140
140
  * @param transaction - Deserialized transaction.
141
141
  * @returns Transaction metadata safe to expose to MCP clients.
142
142
  */
143
- function describeTransaction(transaction, context) {
143
+ export function describeTransaction(transaction, context) {
144
144
  const nativeTransfer = estimateNativeTransfer(transaction);
145
145
  const maxTxValueSol = context?.config.maxTxValueSol;
146
146
  const policyAllowed = context
@@ -185,6 +185,69 @@ function describeTransaction(transaction, context) {
185
185
  policyReason,
186
186
  };
187
187
  }
188
+ /**
189
+ * @name finalizeTransactionWithLocalSigner
190
+ * @description Preview, sign, and optionally submit a transaction with the local SAP MCP signer.
191
+ * @param context - Shared MCP runtime context containing signer, policy, and RPC connection.
192
+ * @param input - Transaction finalization request.
193
+ * @returns Agent-readable finalization result without secret material.
194
+ */
195
+ export async function finalizeTransactionWithLocalSigner(context, input) {
196
+ if (!context.signer) {
197
+ throw new Error('No local signer configured. Run the SAP MCP wizard full setup or repair the local sap_payments bridge, then restart the agent runtime.');
198
+ }
199
+ if (input.confirm !== true) {
200
+ throw new Error('confirm: true is required before the local SAP MCP signer can finalize a transaction.');
201
+ }
202
+ const transactionText = input.transaction ?? input.transactionBase64;
203
+ if (!transactionText) {
204
+ throw new Error('transaction or transactionBase64 is required.');
205
+ }
206
+ const encoding = input.encoding ?? 'base64';
207
+ const transaction = deserializeTransaction(transactionText, encoding);
208
+ const preview = describeTransaction(transaction, context);
209
+ const nativeTransfer = await assertTransactionPolicy(context, transaction, context.signer.publicKey);
210
+ const signedTransaction = await context.signer.signTransaction(transaction);
211
+ const signedTransactionBase64 = serializeTransaction(signedTransaction);
212
+ const result = {
213
+ success: true,
214
+ action: input.submit === true ? 'preview-sign-submit' : 'preview-sign',
215
+ submitted: false,
216
+ signerPublicKey: context.signer.publicKey.toBase58(),
217
+ nativeTransferSol: nativeTransfer.sol,
218
+ preview: {
219
+ ...preview,
220
+ canSign: true,
221
+ signer: context.signer.publicKey.toBase58(),
222
+ },
223
+ signedTransaction: signedTransactionBase64,
224
+ encoding: 'base64',
225
+ audit: {
226
+ intentId: input.intentId ?? `sap-tx-${Date.now()}`,
227
+ profileMode: context.config.mode,
228
+ signerPublicKey: context.signer.publicKey.toBase58(),
229
+ previewed: true,
230
+ signedLocally: true,
231
+ submitted: false,
232
+ secretMaterial: 'keypair-bytes-never-returned',
233
+ rule: 'Finalized by SAP MCP local signer. No temporary scripts, raw keypair reads, or exported secret bytes were used.',
234
+ },
235
+ };
236
+ if (input.submit === true) {
237
+ const signature = await context.connection.sendRawTransaction(decodeInputBytes(signedTransactionBase64, 'base64'), {
238
+ skipPreflight: input.skipPreflight,
239
+ maxRetries: input.maxRetries,
240
+ });
241
+ result.submitted = true;
242
+ result.signature = signature;
243
+ result.audit = {
244
+ ...result.audit,
245
+ submitted: true,
246
+ signature,
247
+ };
248
+ }
249
+ return result;
250
+ }
188
251
  /**
189
252
  * @name registerTransactionTools
190
253
  * @description Registers real transaction decode, preview, signing, and submission tools.
@@ -194,7 +257,7 @@ function describeTransaction(transaction, context) {
194
257
  export function registerTransactionTools(server, context) {
195
258
  registerTool(server, 'sap_decode_transaction', {
196
259
  title: 'Decode Transaction',
197
- description: 'Decode a serialized Solana transaction and return stable transaction metadata.',
260
+ description: 'Decode a serialized Solana transaction and return stable transaction metadata. Use this before signing when a SAP MCP, Jupiter, MagicBlock, SNS, Metaplex, or DeFi tool returns transactionBase64 or an unsigned transaction.',
198
261
  inputSchema: {
199
262
  transaction: { type: 'string', description: 'Serialized transaction' },
200
263
  encoding: { type: 'string', enum: ['base64', 'base58'], description: 'Input encoding' },
@@ -212,7 +275,7 @@ export function registerTransactionTools(server, context) {
212
275
  });
213
276
  registerTool(server, 'sap_preview_transaction', {
214
277
  title: 'Preview Transaction',
215
- description: 'Preview a Solana transaction before signing or submission.',
278
+ description: 'Preview a Solana transaction before signing or submission. This is the required preflight step for agent workflows; do not create local signing scripts or read keypair files.',
216
279
  inputSchema: {
217
280
  transaction: { type: 'string', description: 'Serialized transaction' },
218
281
  encoding: { type: 'string', enum: ['base64', 'base58'], description: 'Input encoding' },
@@ -236,7 +299,7 @@ export function registerTransactionTools(server, context) {
236
299
  });
237
300
  registerTool(server, 'sap_sign_transaction', {
238
301
  title: 'Sign Transaction',
239
- description: 'Sign a serialized Solana transaction with the configured SAP MCP signer.',
302
+ description: 'Sign a serialized Solana transaction with the configured SAP MCP signer after sap_preview_transaction. This is the supported non-custodial signing path for agents; never read keypair JSON or sign raw message bytes in temporary scripts.',
240
303
  inputSchema: {
241
304
  transaction: { type: 'string', description: 'Unsigned or partially signed transaction' },
242
305
  encoding: { type: 'string', enum: ['base64', 'base58'], description: 'Input encoding' },
@@ -266,7 +329,7 @@ export function registerTransactionTools(server, context) {
266
329
  });
267
330
  registerTool(server, 'sap_submit_signed_transaction', {
268
331
  title: 'Submit Signed Transaction',
269
- description: 'Submit a signed Solana transaction through the configured RPC endpoint.',
332
+ description: 'Submit a signed Solana transaction produced by sap_sign_transaction through the configured RPC endpoint. Use this instead of custom sendRawTransaction scripts so policy, retries, and audit stay inside SAP MCP.',
270
333
  inputSchema: {
271
334
  signedTransaction: { type: 'string', description: 'Signed serialized transaction' },
272
335
  encoding: { type: 'string', enum: ['base64', 'base58'], description: 'Input encoding' },
@@ -1 +1 @@
1
- {"version":3,"file":"transaction-tools.js","sourceRoot":"","sources":["../../src/tools/transaction-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transaction-tools.js","sourceRoot":"","sources":["../../src/tools/transaction-tools.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"x402-paid-call-tool.d.ts","sourceRoot":"","sources":["../../src/tools/x402-paid-call-tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAIxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AA2ItD;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI,CAUtF"}
1
+ {"version":3,"file":"x402-paid-call-tool.d.ts","sourceRoot":"","sources":["../../src/tools/x402-paid-call-tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAIxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAuJtD;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI,CAWtF"}
@@ -6,6 +6,7 @@ import { registerTool } from '../adapters/mcp/sdk-compat.js';
6
6
  import { createTextResponse } from '../adapters/mcp/tool-response.js';
7
7
  import { getActiveProfile, getProfileConfigPath } from '../config/profiles.js';
8
8
  import { executeX402PaidCall, getX402PaymentReadiness, inspectX402Receipt, probeX402PaymentChallenge, signX402PaymentChallenge, } from '../payments/x402-paid-call.js';
9
+ import { finalizeTransactionWithLocalSigner } from './transaction-tools.js';
9
10
  const paidCallInputSchema = {
10
11
  endpoint: {
11
12
  type: 'string',
@@ -93,12 +94,85 @@ export function registerX402PaidCallTool(server, _context) {
93
94
  registerPaymentsProfileCurrentTool(server, _context);
94
95
  registerPaymentsReadinessTool(server);
95
96
  registerPaymentsCallPaidTool(server, 'sap_payments_call_paid_tool');
97
+ registerPaymentsFinalizeTransactionTool(server, _context);
96
98
  registerPaymentsPrepareChallengeTool(server);
97
99
  registerPaymentsSignChallengeTool(server);
98
100
  registerPaymentsVerifyReceiptTool(server);
99
101
  // Backward-compatible alias used by existing Codex/Hermes/Claude client snippets.
100
102
  registerPaymentsCallPaidTool(server, 'sap_x402_paid_call');
101
103
  }
104
+ function registerPaymentsFinalizeTransactionTool(server, context) {
105
+ registerTool(server, 'sap_payments_finalize_transaction', {
106
+ title: 'Finalize Transaction With Local Signer',
107
+ description: 'Local non-custodial transaction finalizer for hosted SAP MCP builders. Use this when a hosted tool returns transactionBase64, transaction, or an unsigned Solana transaction. It previews, signs with the active local SAP MCP profile signer, and optionally submits through the configured RPC. Never create temporary signing scripts, read keypair JSON, or call hosted sap_sign_transaction for user-owned signatures. Requires confirm: true.',
108
+ inputSchema: {
109
+ transaction: {
110
+ type: 'string',
111
+ description: 'Serialized unsigned or partially signed Solana transaction. Accepts base64 by default.',
112
+ },
113
+ transactionBase64: {
114
+ type: 'string',
115
+ description: 'Alias for transaction when the builder returns transactionBase64.',
116
+ },
117
+ encoding: {
118
+ type: 'string',
119
+ enum: ['base64', 'base58'],
120
+ description: 'Encoding for transaction or transactionBase64. Defaults to base64.',
121
+ },
122
+ submit: {
123
+ type: 'boolean',
124
+ description: 'When true, submit the signed transaction after preview and signing. When false or omitted, return the signed transaction for inspection.',
125
+ },
126
+ skipPreflight: {
127
+ type: 'boolean',
128
+ description: 'Optional Solana RPC sendRawTransaction skipPreflight flag, used only when submit is true.',
129
+ },
130
+ maxRetries: {
131
+ type: 'number',
132
+ description: 'Optional Solana RPC sendRawTransaction maxRetries value, used only when submit is true.',
133
+ },
134
+ confirm: {
135
+ type: 'boolean',
136
+ description: 'Must be true. Confirms the user allows the local SAP MCP signer to sign this transaction.',
137
+ },
138
+ intentId: {
139
+ type: 'string',
140
+ description: 'Optional caller-provided id used to bind preview, signature, submission, and audit output.',
141
+ },
142
+ },
143
+ outputSchema: {
144
+ type: 'object',
145
+ properties: {
146
+ success: { type: 'boolean', description: 'Whether finalization succeeded.' },
147
+ action: { type: 'string', description: 'preview-sign or preview-sign-submit.' },
148
+ submitted: { type: 'boolean', description: 'Whether the signed transaction was submitted to RPC.' },
149
+ signature: { type: 'string', description: 'Solana transaction signature when submit is true.' },
150
+ signerPublicKey: { type: 'string', description: 'Public key of the local signer that signed the transaction.' },
151
+ nativeTransferSol: { type: 'number', description: 'Estimated native SOL transferred by the transaction.' },
152
+ preview: { type: 'object', description: 'Decoded transaction preview and policy result.' },
153
+ signedTransaction: { type: 'string', description: 'Base64 signed transaction when submit is false or for audit.' },
154
+ encoding: { type: 'string', description: 'Encoding of signedTransaction.' },
155
+ audit: { type: 'object', description: 'Proof object binding intent, local signer, preview, signing, submission, and secret-material guarantee.' },
156
+ },
157
+ required: ['success', 'action', 'submitted', 'signerPublicKey', 'nativeTransferSol', 'preview', 'audit'],
158
+ },
159
+ annotations: {
160
+ readOnlyHint: false,
161
+ destructiveHint: false,
162
+ idempotentHint: false,
163
+ openWorldHint: false,
164
+ },
165
+ }, async (input) => {
166
+ try {
167
+ const parsed = parseFinalizeTransactionInput(input);
168
+ const result = await finalizeTransactionWithLocalSigner(context, parsed);
169
+ return createTextResponse(JSON.stringify(result, null, 2));
170
+ }
171
+ catch (error) {
172
+ return createTextResponse(formatFinalizeTransactionError(error), { isError: true });
173
+ }
174
+ });
175
+ }
102
176
  function registerPaymentsProfileCurrentTool(server, context) {
103
177
  registerTool(server, 'sap_payments_profile_current', {
104
178
  title: 'Show Local SAP Payments Profile',
@@ -409,6 +483,25 @@ function parseReceiptInput(input) {
409
483
  }
410
484
  return header;
411
485
  }
486
+ function parseFinalizeTransactionInput(input) {
487
+ if (!input || typeof input !== 'object' || Array.isArray(input)) {
488
+ throw new Error('sap_payments_finalize_transaction requires an input object.');
489
+ }
490
+ const record = input;
491
+ if (!record.transaction && !record.transactionBase64) {
492
+ throw new Error('transaction or transactionBase64 is required.');
493
+ }
494
+ return {
495
+ transaction: record.transaction,
496
+ transactionBase64: record.transactionBase64,
497
+ encoding: record.encoding,
498
+ submit: record.submit === true,
499
+ skipPreflight: record.skipPreflight,
500
+ maxRetries: record.maxRetries,
501
+ confirm: record.confirm === true,
502
+ intentId: record.intentId,
503
+ };
504
+ }
412
505
  function formatPaidCallError(error) {
413
506
  const message = error instanceof Error ? error.message : String(error);
414
507
  const retryable = isRetryablePaymentError(message);
@@ -426,6 +519,19 @@ function formatPaidCallError(error) {
426
519
  };
427
520
  return JSON.stringify(payload, null, 2);
428
521
  }
522
+ function formatFinalizeTransactionError(error) {
523
+ const message = error instanceof Error ? error.message : String(error);
524
+ return JSON.stringify({
525
+ success: false,
526
+ error: message,
527
+ retryable: isRetryablePaymentError(message),
528
+ category: message.toLowerCase().includes('no local signer') || message.toLowerCase().includes('no signer')
529
+ ? 'local_signer_missing'
530
+ : 'local_transaction_finalization_failed',
531
+ agentInstruction: 'Do not create temporary signing scripts, do not read keypair JSON, and do not call hosted sap_sign_transaction for user-owned signatures. Use sap_payments_finalize_transaction from the local sap_payments bridge. If this tool is missing or no signer is configured, ask the user to run the SAP MCP wizard full setup or repair flow and restart the agent runtime.',
532
+ nextAction: 'Call sap_payments_readiness. If the local signer is ready, retry sap_payments_finalize_transaction with confirm: true. If readiness says missing bridge or signer, run the wizard repair flow.',
533
+ }, null, 2);
534
+ }
429
535
  function isRetryablePaymentError(message) {
430
536
  const normalized = message.toLowerCase();
431
537
  const retryablePatterns = [
@@ -1 +1 @@
1
- {"version":3,"file":"x402-paid-call-tool.js","sourceRoot":"","sources":["../../src/tools/x402-paid-call-tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"x402-paid-call-tool.js","sourceRoot":"","sources":["../../src/tools/x402-paid-call-tool.ts"],"names":[],"mappings":"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"}
@@ -108,15 +108,14 @@ For hosted paid/write tools, clients may also need a local `sap_payments` bridge
108
108
  ```txt
109
109
  sap_payments_readiness
110
110
  sap_payments_call_paid_tool
111
+ sap_payments_finalize_transaction
111
112
  sap_payments_prepare_challenge
112
113
  sap_payments_sign_challenge
113
114
  sap_payments_verify_receipt
114
115
  sap_x402_paid_call
115
- sap_profile_current
116
- sap_x402_estimate_cost
117
116
  ```
118
117
 
119
- This bridge obtains x402 challenges, signs payment proofs locally with the active SAP MCP profile, retries hosted tool calls, and inspects receipts.
118
+ This bridge obtains x402 challenges, signs payment proofs locally with the active SAP MCP profile, retries hosted tool calls, finalizes unsigned hosted transactions, and inspects receipts.
120
119
 
121
120
  ## 03.7 Config CLI
122
121
 
@@ -92,6 +92,7 @@ has a user-controlled wallet profile:
92
92
  | --- | --- |
93
93
  | `sap_payments_readiness` | Free local readiness check for hosted MCP, active profile, signer, SOL/USDC balance, and commerce policy limits. Call this first for paid/write workflows. |
94
94
  | `sap_payments_call_paid_tool` | End-to-end paid hosted tool execution; preferred for agents. |
95
+ | `sap_payments_finalize_transaction` | Local non-custodial finalizer for unsigned transactions returned by hosted builders. It previews, signs with the active local profile, and optionally submits. |
95
96
  | `sap_payments_prepare_challenge` | Fetch and parse a hosted x402 challenge without signing. |
96
97
  | `sap_payments_sign_challenge` | Sign a parsed challenge with the local SAP profile signer. |
97
98
  | `sap_payments_verify_receipt` | Decode a payment response/receipt header for inspection. |
@@ -131,7 +131,7 @@ Codex supports Streamable HTTP MCP servers with URL-based TOML entries. Use loca
131
131
  ```toml
132
132
  [mcp_servers.sap]
133
133
  command = "npx"
134
- args = ["--yes", "--package", "@oobe-protocol-labs/sap-mcp-server@0.9.2", "sap-mcp-server"]
134
+ args = ["--yes", "--package", "@oobe-protocol-labs/sap-mcp-server@0.9.4", "sap-mcp-server"]
135
135
 
136
136
  [mcp_servers.sap.env]
137
137
  SAP_MCP_ALLOW_ENV_CONFIG_OVERRIDE = "false"
@@ -66,7 +66,7 @@ url = "https://mcp.sap.oobeprotocol.ai/mcp"
66
66
  ```toml
67
67
  [mcp_servers.sap_payments]
68
68
  command = "npx"
69
- args = ["--yes", "--package", "@oobe-protocol-labs/sap-mcp-server@0.9.2", "sap-mcp-server"]
69
+ args = ["--yes", "--package", "@oobe-protocol-labs/sap-mcp-server@0.9.4", "sap-mcp-server"]
70
70
  startup_timeout_sec = 300
71
71
  tool_timeout_sec = 300
72
72
 
@@ -128,12 +128,11 @@ Every supported runtime may also receive a local `sap_payments` server with only
128
128
  ```txt
129
129
  sap_payments_readiness
130
130
  sap_payments_call_paid_tool
131
+ sap_payments_finalize_transaction
131
132
  sap_payments_prepare_challenge
132
133
  sap_payments_sign_challenge
133
134
  sap_payments_verify_receipt
134
135
  sap_x402_paid_call
135
- sap_profile_current
136
- sap_x402_estimate_cost
137
136
  ```
138
137
 
139
138
  The hosted `sap` entry must not include wallet paths, RPC API-key overrides, profile names, keypair bytes, or private signer data.
package/docs/README.md CHANGED
@@ -91,8 +91,11 @@ Hosted paid tools use x402 and pay.sh:
91
91
  - value flows: fixed or percentage pricing only where it is operationally appropriate
92
92
 
93
93
  For agents that cannot replay x402 challenges natively, configure the local
94
- `sap_payments` MCP bridge and call `sap_payments_call_paid_tool`. The standalone
95
- helper remains available as a terminal/custom-wrapper fallback:
94
+ `sap_payments` MCP bridge and call `sap_payments_call_paid_tool`. If a hosted
95
+ builder returns an unsigned transaction, finalize it with
96
+ `sap_payments_finalize_transaction` so the local signer previews, signs, and
97
+ optionally submits without exposing keypair bytes. The standalone helper remains
98
+ available as a terminal/custom-wrapper fallback:
96
99
 
97
100
  ```bash
98
101
  npx --yes --package @oobe-protocol-labs/sap-mcp-server sap-mcp-x402-paid-call \
@@ -24,21 +24,30 @@ additional configuration needed.
24
24
 
25
25
  ## Pricing
26
26
 
27
- Two tiers, priced in USDC base units (6 decimals):
27
+ Hosted pricing is resolved centrally by `src/payments/pricing.ts` and returned
28
+ as an x402/pay.sh challenge before the paid tool executes.
28
29
 
29
- | Tier | Price | Count | Tools |
30
- |------|-------|-------|-------|
31
- | READ | $0.01 | 14 | ER Router queries, health, auth, balances, swap quotes, mint checks, VRF result |
32
- | WRITE | $0.05 | 6 | deposit, transfer, withdraw, swap, initializeMint, VRF request |
30
+ | Tier | Tools |
31
+ |------|-------|
32
+ | Free/readiness | MCP discovery, SAP skill bootstrap, payment readiness, transaction decode/preview |
33
+ | Read-premium | ER Router queries, balances, swap quotes, mint checks, VRF result |
34
+ | Builder | Deposit, transfer, withdraw, initialize mint, VRF request transaction builders |
35
+ | Value-action | Public/private swap transaction builders and other value-moving actions |
33
36
 
34
- Every tool description includes its price. Every successful response
35
- includes `priceUsd` and `priceBaseUnits` fields for SAP escrow settlement.
37
+ Do not hard-code MagicBlock prices in agents. Call `sap_x402_estimate_cost` or
38
+ the local `sap_payments_call_paid_tool` helper and enforce the user profile's
39
+ `maxPriceUsd` / spend policy.
40
+
41
+ When a hosted MagicBlock builder returns an unsigned transaction, hosted SAP MCP
42
+ remains non-custodial. Finalize the returned `transactionBase64` with the local
43
+ `sap_payments_finalize_transaction` bridge. Do not call hosted
44
+ `sap_sign_transaction`, create temporary signing scripts, or read keypair JSON.
36
45
 
37
46
  ---
38
47
 
39
48
  ## Tools (20 total)
40
49
 
41
- ### ER Router (6 read-only — $0.01)
50
+ ### ER Router (6 read-only)
42
51
 
43
52
  | Tool | Description |
44
53
  |------|-------------|
@@ -49,7 +58,7 @@ includes `priceUsd` and `priceBaseUnits` fields for SAP escrow settlement.
49
58
  | `magicblock_getBlockhashForAccounts` | Get a blockhash for a batch of accounts (max 100) |
50
59
  | `magicblock_getSignatureStatuses` | Check transaction confirmation status |
51
60
 
52
- ### Private Payments — Meta & Auth (3 — $0.01)
61
+ ### Private Payments — Meta & Auth (3)
53
62
 
54
63
  | Tool | Description |
55
64
  |------|-------------|
@@ -57,14 +66,14 @@ includes `priceUsd` and `priceBaseUnits` fields for SAP escrow settlement.
57
66
  | `magicblock_challenge` | Generate a challenge string for wallet auth |
58
67
  | `magicblock_login` | Exchange signed challenge for bearer token |
59
68
 
60
- ### Private Payments — Balance (2 — $0.01)
69
+ ### Private Payments — Balance (2)
61
70
 
62
71
  | Tool | Description |
63
72
  |------|-------------|
64
73
  | `magicblock_balance` | Read base-chain SPL token balance |
65
74
  | `magicblock_privateBalance` | Read ephemeral-rollup SPL balance (requires auth) |
66
75
 
67
- ### Private Payments — SPL Token Flows (3 — $0.05)
76
+ ### Private Payments — SPL Token Flows (3)
68
77
 
69
78
  | Tool | Description |
70
79
  |------|-------------|
@@ -74,24 +83,24 @@ includes `priceUsd` and `priceBaseUnits` fields for SAP escrow settlement.
74
83
 
75
84
  ### Private Payments — Swap (2)
76
85
 
77
- | Tool | Price | Description |
78
- |------|-------|-------------|
79
- | `magicblock_swapQuote` | $0.01 | Get a swap quote between two SPL mints |
80
- | `magicblock_swap` | $0.05 | Build unsigned swap tx (public or private) |
86
+ | Tool | Description |
87
+ |------|-------------|
88
+ | `magicblock_swapQuote` | Get a swap quote between two SPL mints |
89
+ | `magicblock_swap` | Build unsigned swap tx (public or private) |
81
90
 
82
91
  ### Private Payments — Mint Init (2)
83
92
 
84
- | Tool | Price | Description |
85
- |------|-------|-------------|
86
- | `magicblock_initializeMint` | $0.05 | Build unsigned mint transfer queue init tx |
87
- | `magicblock_isMintInitialized` | $0.01 | Check if a mint's transfer queue exists |
93
+ | Tool | Description |
94
+ |------|-------------|
95
+ | `magicblock_initializeMint` | Build unsigned mint transfer queue init tx |
96
+ | `magicblock_isMintInitialized` | Check if a mint's transfer queue exists |
88
97
 
89
98
  ### VRF (2 — on-chain via @solana/web3.js)
90
99
 
91
- | Tool | Price | Description |
92
- |------|-------|-------------|
93
- | `magicblock_requestRandomness` | $0.05 | Build unsigned tx invoking request_randomness on the VRF program (Vrf1RNUjXmQGjmQrQLvJHs9SNkvDJEsRVFPkfSQUwGz) |
94
- | `magicblock_getRandomnessResult` | $0.01 | Read the RandomnessRequest account on-chain to check fulfillment and retrieve random bytes |
100
+ | Tool | Description |
101
+ |------|-------------|
102
+ | `magicblock_requestRandomness` | Build unsigned tx invoking request_randomness on the VRF program (Vrf1RNUjXmQGjmQrQLvJHs9SNkvDJEsRVFPkfSQUwGz) |
103
+ | `magicblock_getRandomnessResult` | Read the RandomnessRequest account on-chain to check fulfillment and retrieve random bytes |
95
104
 
96
105
  ---
97
106
 
@@ -126,21 +135,27 @@ Write tools return an unsigned transaction:
126
135
  Expected flow:
127
136
 
128
137
  1. Call the MagicBlock tool (e.g. `magicblock_deposit`) → get `transactionBase64`
129
- 2. Sign with `sap_sign_transaction`
130
- 3. Submit with `sap_submit_signed_transaction` to the RPC indicated by `sendTo`
138
+ 2. If the transaction came from hosted SAP MCP, call local
139
+ `sap_payments_finalize_transaction` with `confirm: true` and `submit: false`
140
+ for preview/sign, or `submit: true` after user approval.
141
+ 3. If the transaction came from local stdio SAP MCP, use
142
+ `sap_preview_transaction` → `sap_sign_transaction` →
143
+ `sap_submit_signed_transaction`.
144
+ 4. Record the signed transaction or submitted signature in the audit trail.
145
+
146
+ Agents must not create temporary JavaScript signing scripts, read keypair JSON,
147
+ or sign raw message bytes outside SAP MCP transaction tools.
131
148
 
132
149
  ---
133
150
 
134
151
  ## Response Format
135
152
 
136
- Every successful response is wrapped with pricing metadata:
153
+ Successful tool responses are wrapped by SAP MCP:
137
154
 
138
155
  ```json
139
156
  {
140
157
  "success": true,
141
158
  "tool": "magicblock_deposit",
142
- "priceUsd": "$0.05",
143
- "priceBaseUnits": "50000",
144
159
  "data": { ... }
145
160
  }
146
161
  ```
@@ -163,4 +178,4 @@ Error responses:
163
178
  | `src/tools/magicblock-tools.ts` | 20 tool registrations with HTTP client |
164
179
  | `src/tools/__tests__/magicblock-tools.test.ts` | 10 smoke tests |
165
180
  | `src/tools/index.ts` | Barrel export |
166
- | `src/tools/register-tools.ts` | Registration call during server init |
181
+ | `src/tools/register-tools.ts` | Registration call during server init |