@oobe-protocol-labs/sap-mcp-server 0.2.0 → 0.3.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.
Files changed (45) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/README.md +1 -1
  3. package/USER_DOCS/01_HOSTED_REMOTE_MCP.md +52 -0
  4. package/USER_DOCS/04_CLIENT_CONFIGS.md +36 -11
  5. package/dist/config/mcp-client-injection.d.ts +8 -0
  6. package/dist/config/mcp-client-injection.d.ts.map +1 -1
  7. package/dist/config/mcp-client-injection.js +25 -6
  8. package/dist/config/mcp-client-injection.js.map +1 -1
  9. package/dist/config/setup.js +1 -1
  10. package/dist/config/setup.js.map +1 -1
  11. package/dist/config/wizard.d.ts.map +1 -1
  12. package/dist/config/wizard.js +78 -83
  13. package/dist/config/wizard.js.map +1 -1
  14. package/dist/core/constants.d.ts +1 -1
  15. package/dist/core/constants.js +1 -1
  16. package/dist/core/logger.js +1 -1
  17. package/dist/payments/oobe-facilitator-server.d.ts +6 -1
  18. package/dist/payments/oobe-facilitator-server.d.ts.map +1 -1
  19. package/dist/payments/oobe-facilitator-server.js +30 -4
  20. package/dist/payments/oobe-facilitator-server.js.map +1 -1
  21. package/dist/payments/pay-sh-spec.js +1 -1
  22. package/dist/prompts/context/sap-agent-context.prompt.js +25 -4
  23. package/dist/prompts/context/sap-agent-context.prompt.js.map +1 -1
  24. package/dist/remote/server.d.ts +18 -0
  25. package/dist/remote/server.d.ts.map +1 -1
  26. package/dist/remote/server.js +317 -52
  27. package/dist/remote/server.js.map +1 -1
  28. package/dist/resources/current/sap-current-config.resource.d.ts.map +1 -1
  29. package/dist/resources/current/sap-current-config.resource.js +11 -1
  30. package/dist/resources/current/sap-current-config.resource.js.map +1 -1
  31. package/dist/sap/sap-client-manager.js +1 -1
  32. package/dist/sap/sap-client-manager.js.map +1 -1
  33. package/dist/server/server-metadata.js +1 -1
  34. package/dist/signer/signer-resolver.js +11 -4
  35. package/dist/signer/signer-resolver.js.map +1 -1
  36. package/dist/tools/profile-tools.d.ts.map +1 -1
  37. package/dist/tools/profile-tools.js +24 -0
  38. package/dist/tools/profile-tools.js.map +1 -1
  39. package/dist/tui/config-wizard.js +2 -2
  40. package/dist/tui/config-wizard.js.map +1 -1
  41. package/docs/07_ENDPOINTS_AND_CLIENTS.md +28 -0
  42. package/package.json +1 -1
  43. package/skills/README.md +3 -2
  44. package/skills/sap-mcp/SKILL.md +94 -2
  45. package/skills/sap-payments-x402/SKILL.md +22 -2
@@ -4,12 +4,12 @@
4
4
  * @description Streamable HTTP entrypoint for remote SAP MCP deployments.
5
5
  */
6
6
  import { randomUUID } from 'crypto';
7
- import { readFileSync } from 'fs';
7
+ import { existsSync, readFileSync } from 'fs';
8
8
  import * as http from 'http';
9
9
  import { dirname, join } from 'path';
10
10
  import { fileURLToPath } from 'url';
11
11
  import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js';
12
- import { loadConfig } from '../config/env.js';
12
+ import { getDataDir, loadConfig } from '../config/env.js';
13
13
  import { MCP_SERVER_VERSION } from '../core/constants.js';
14
14
  import { logger, initLogger } from '../core/logger.js';
15
15
  import { createSapMcpServer } from '../server/create-server.js';
@@ -19,6 +19,9 @@ import { RemoteRateLimiter, buildRemoteRateLimitConfigFromEnv } from './rate-lim
19
19
  const PUBLIC_SERVER_TITLE = 'SAP MCP Server | OOBE Protocol';
20
20
  const PUBLIC_SERVER_DESCRIPTION = 'Hosted Solana-native MCP gateway for Synapse Agent Protocol tools, x402/pay.sh monetization, SNS identity, and agent operations.';
21
21
  const LOGO_ASSET_PATH = join(dirname(fileURLToPath(import.meta.url)), '..', '..', 'assets', 'explorer_logo.png');
22
+ const PAYMENT_STATS_CACHE_MS = 15_000;
23
+ let logoAssetCache;
24
+ let paymentStatsCache;
22
25
  /**
23
26
  * @name parseApiKeys
24
27
  * @description Parses comma-separated `apiKey=userId` entries from environment configuration.
@@ -117,7 +120,7 @@ function writeHtml(res, status, html) {
117
120
  * @description Writes the bundled SAP logo as a public icon/social image asset.
118
121
  */
119
122
  function writePngAsset(res) {
120
- const image = readFileSync(LOGO_ASSET_PATH);
123
+ const image = readLogoAsset();
121
124
  res.writeHead(200, {
122
125
  'Content-Type': 'image/png',
123
126
  'Cache-Control': 'public, max-age=86400',
@@ -126,6 +129,95 @@ function writePngAsset(res) {
126
129
  });
127
130
  res.end(image);
128
131
  }
132
+ /**
133
+ * @name readLogoAsset
134
+ * @description Loads the bundled public logo once and reuses it for favicon and social preview routes.
135
+ */
136
+ function readLogoAsset() {
137
+ logoAssetCache ??= readFileSync(LOGO_ASSET_PATH);
138
+ return logoAssetCache;
139
+ }
140
+ /**
141
+ * @name readPublicPaymentStats
142
+ * @description Reads cached public-safe payment totals from the append-only usage ledger.
143
+ */
144
+ export function readPublicPaymentStats(now = Date.now()) {
145
+ if (paymentStatsCache && paymentStatsCache.expiresAt > now) {
146
+ return paymentStatsCache.stats;
147
+ }
148
+ const stats = readPaymentStatsFromLedger();
149
+ paymentStatsCache = {
150
+ expiresAt: now + PAYMENT_STATS_CACHE_MS,
151
+ stats,
152
+ };
153
+ return stats;
154
+ }
155
+ function readPaymentStatsFromLedger() {
156
+ const stats = {
157
+ totalVolumeUsd: 0,
158
+ totalSettlements: 0,
159
+ totalPaymentRequests: 0,
160
+ totalVerifiedPayments: 0,
161
+ totalFailedSettlements: 0,
162
+ ledgerAvailable: false,
163
+ };
164
+ const ledgerPath = join(getDataDir(), 'payments', 'usage-ledger.jsonl');
165
+ if (!existsSync(ledgerPath)) {
166
+ return stats;
167
+ }
168
+ stats.ledgerAvailable = true;
169
+ const lines = readFileSync(ledgerPath, 'utf-8').split('\n');
170
+ for (const line of lines) {
171
+ const event = parsePaymentLedgerEvent(line);
172
+ if (!event) {
173
+ continue;
174
+ }
175
+ if (event.event === 'payment_required') {
176
+ stats.totalPaymentRequests += 1;
177
+ }
178
+ if (event.event === 'payment_verified') {
179
+ stats.totalVerifiedPayments += 1;
180
+ }
181
+ if (event.event === 'payment_settled') {
182
+ stats.totalSettlements += 1;
183
+ stats.totalVolumeUsd += event.priceUsd ?? 0;
184
+ stats.lastSettlementAt = event.timestamp;
185
+ }
186
+ if (event.event === 'payment_failed') {
187
+ stats.totalFailedSettlements += 1;
188
+ }
189
+ }
190
+ return stats;
191
+ }
192
+ function parsePaymentLedgerEvent(line) {
193
+ const trimmed = line.trim();
194
+ if (!trimmed) {
195
+ return undefined;
196
+ }
197
+ try {
198
+ const parsed = JSON.parse(trimmed);
199
+ if (!isPaymentLedgerEvent(parsed)) {
200
+ return undefined;
201
+ }
202
+ return parsed;
203
+ }
204
+ catch {
205
+ return undefined;
206
+ }
207
+ }
208
+ function isPaymentLedgerEvent(value) {
209
+ if (!value || typeof value !== 'object') {
210
+ return false;
211
+ }
212
+ const record = value;
213
+ return typeof record.event === 'string'
214
+ && typeof record.timestamp === 'string'
215
+ && typeof record.requestHash === 'string'
216
+ && typeof record.method === 'string'
217
+ && typeof record.path === 'string'
218
+ && Array.isArray(record.toolNames)
219
+ && typeof record.paymentHeaderPresent === 'boolean';
220
+ }
129
221
  /**
130
222
  * @name getRateLimitKey
131
223
  * @description Resolves the best available caller identity for hosted MCP rate limiting behind a reverse proxy.
@@ -212,11 +304,14 @@ export function buildPublicServerInfo(req, config) {
212
304
  */
213
305
  export function buildLandingHtml(req, config, endpoint = 'root') {
214
306
  const info = buildPublicServerInfo(req, config);
307
+ const paymentStats = readPublicPaymentStats();
215
308
  const pageUrl = endpoint === 'mcp' ? info.endpoints.mcp : info.endpoints.landing;
216
309
  const title = endpoint === 'mcp'
217
310
  ? 'SAP MCP Streamable HTTP Endpoint | OOBE Protocol'
218
311
  : info.title;
219
312
  const endpointLabel = endpoint === 'mcp' ? 'Streamable HTTP MCP endpoint' : 'Hosted MCP gateway';
313
+ const wizardCommand = 'npm exec --yes --package @oobe-protocol-labs/sap-mcp-server -- sap-mcp-config wizard';
314
+ const installScriptCommand = 'curl -fsSL https://mcp.sap.oobeprotocol.ai/wizard/install.sh | sh';
220
315
  const publicInfo = JSON.stringify(info, null, 2).replace(/</g, '\\u003c');
221
316
  return `<!doctype html>
222
317
  <html lang="en">
@@ -241,66 +336,186 @@ export function buildLandingHtml(req, config, endpoint = 'root') {
241
336
  <meta name="twitter:image" content="${escapeHtml(info.endpoints.favicon)}">
242
337
  <script type="application/ld+json">${publicInfo}</script>
243
338
  <style>
244
- :root { color-scheme: dark; --aqua: #28d8e8; --ink: #f4fbff; --muted: #9db7c0; --panel: rgba(255,255,255,.055); --line: rgba(255,255,255,.14); }
339
+ :root {
340
+ color-scheme: dark;
341
+ --aqua: #28d8e8;
342
+ --aqua-soft: rgba(40,216,232,.13);
343
+ --ink: #f4fbff;
344
+ --muted: #a8bdc6;
345
+ --subtle: #76909a;
346
+ --panel: rgba(255,255,255,.062);
347
+ --panel-strong: rgba(255,255,255,.095);
348
+ --line: rgba(255,255,255,.14);
349
+ --line-strong: rgba(40,216,232,.38);
350
+ --surface: #080d12;
351
+ --success: #8ef3c5;
352
+ --warning: #ffd38a;
353
+ }
245
354
  * { box-sizing: border-box; }
246
- body { margin: 0; min-height: 100vh; font: 16px/1.55 ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: var(--ink); background: radial-gradient(circle at 20% 10%, rgba(40,216,232,.24), transparent 32rem), #080d12; }
247
- main { width: min(1040px, calc(100% - 32px)); margin: 0 auto; padding: 56px 0; }
248
- header { display: grid; grid-template-columns: 88px 1fr; gap: 22px; align-items: center; margin-bottom: 34px; }
249
- img { width: 88px; height: 88px; border-radius: 22px; box-shadow: 0 18px 70px rgba(40,216,232,.22); }
250
- h1 { margin: 0; font-size: clamp(2rem, 4vw, 4rem); line-height: 1; letter-spacing: 0; }
355
+ html { scroll-behavior: smooth; }
356
+ body {
357
+ margin: 0;
358
+ min-height: 100vh;
359
+ font: 16px/1.55 ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
360
+ color: var(--ink);
361
+ background:
362
+ linear-gradient(115deg, rgba(40,216,232,.13), transparent 34%),
363
+ linear-gradient(180deg, #0a1218 0%, var(--surface) 46%, #05080b 100%);
364
+ }
365
+ body::before {
366
+ content: "";
367
+ position: fixed;
368
+ inset: 0;
369
+ pointer-events: none;
370
+ background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
371
+ background-size: 64px 64px;
372
+ mask-image: linear-gradient(to bottom, rgba(0,0,0,.75), transparent 72%);
373
+ }
374
+ main { width: min(1180px, calc(100% - 32px)); margin: 0 auto; padding: 56px 0 40px; position: relative; }
375
+ header { display: grid; grid-template-columns: 92px 1fr; gap: 24px; align-items: center; margin-bottom: 30px; }
376
+ img.logo { width: 92px; height: 92px; border-radius: 24px; box-shadow: 0 18px 70px rgba(40,216,232,.22); }
377
+ h1 { margin: 0; max-width: 920px; font-size: clamp(2.2rem, 5vw, 5rem); line-height: .95; letter-spacing: 0; }
251
378
  p { margin: 10px 0 0; color: var(--muted); max-width: 760px; }
252
- .badge { display: inline-flex; align-items: center; gap: 8px; color: var(--aqua); font-weight: 700; text-transform: uppercase; font-size: .78rem; letter-spacing: 0; }
253
- .grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 14px; margin-top: 28px; }
254
- section, a.card { border: 1px solid var(--line); border-radius: 8px; background: var(--panel); padding: 18px; text-decoration: none; color: inherit; }
255
- h2 { margin: 0 0 12px; font-size: 1rem; color: var(--aqua); }
256
- code { color: #dffbff; overflow-wrap: anywhere; }
257
- ul { padding-left: 18px; margin: 0; color: var(--muted); }
258
- li + li { margin-top: 8px; }
259
- a { color: var(--aqua); }
379
+ a { color: var(--aqua); text-underline-offset: 4px; }
380
+ a:focus-visible { outline: 2px solid var(--aqua); outline-offset: 3px; border-radius: 6px; }
381
+ code {
382
+ color: #e9fcff;
383
+ overflow-wrap: anywhere;
384
+ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
385
+ font-size: .92em;
386
+ }
387
+ .badge { display: inline-flex; align-items: center; gap: 8px; color: var(--aqua); font-weight: 750; text-transform: uppercase; font-size: .78rem; letter-spacing: 0; }
388
+ .hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
389
+ .button {
390
+ display: inline-flex;
391
+ min-height: 42px;
392
+ align-items: center;
393
+ justify-content: center;
394
+ border: 1px solid var(--line-strong);
395
+ border-radius: 8px;
396
+ padding: 9px 14px;
397
+ background: var(--aqua-soft);
398
+ color: var(--ink);
399
+ font-weight: 700;
400
+ text-decoration: none;
401
+ }
402
+ .button.secondary { background: transparent; border-color: var(--line); color: var(--aqua); }
403
+ .bento { display: grid; grid-template-columns: repeat(12, 1fr); gap: 14px; margin-top: 28px; }
404
+ .card {
405
+ min-height: 148px;
406
+ border: 1px solid var(--line);
407
+ border-radius: 8px;
408
+ background: var(--panel);
409
+ padding: 18px;
410
+ color: inherit;
411
+ text-decoration: none;
412
+ }
413
+ .card.strong { background: linear-gradient(180deg, var(--panel-strong), var(--panel)); border-color: var(--line-strong); }
414
+ .span-3 { grid-column: span 3; }
415
+ .span-4 { grid-column: span 4; }
416
+ .span-5 { grid-column: span 5; }
417
+ .span-6 { grid-column: span 6; }
418
+ .span-7 { grid-column: span 7; }
419
+ .span-8 { grid-column: span 8; }
420
+ .span-12 { grid-column: span 12; }
421
+ h2 { margin: 0 0 12px; font-size: 1rem; color: var(--aqua); letter-spacing: 0; }
422
+ h3 { margin: 0 0 6px; font-size: .86rem; color: var(--muted); font-weight: 650; text-transform: uppercase; letter-spacing: 0; }
423
+ .metric { margin-top: 4px; font-size: clamp(2rem, 4vw, 3.35rem); line-height: 1; font-weight: 800; letter-spacing: 0; }
424
+ .metric.small { font-size: clamp(1.55rem, 3vw, 2.3rem); }
425
+ .caption { margin-top: 10px; color: var(--subtle); font-size: .94rem; }
426
+ .status { color: var(--success); }
427
+ .warning { color: var(--warning); }
428
+ .list { padding-left: 18px; margin: 0; color: var(--muted); }
429
+ .list li + li { margin-top: 8px; }
430
+ .command { margin-top: 12px; border: 1px solid rgba(255,255,255,.10); border-radius: 8px; background: rgba(0,0,0,.28); padding: 13px; }
431
+ .endpoint-list { display: grid; gap: 10px; margin-top: 10px; }
432
+ .endpoint-row { display: grid; grid-template-columns: 72px 1fr; gap: 12px; align-items: baseline; }
433
+ .method { color: var(--success); font: 700 .78rem/1 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; }
260
434
  .footer { margin-top: 26px; color: var(--muted); font-size: .94rem; }
435
+ @media (max-width: 860px) {
436
+ header { grid-template-columns: 1fr; }
437
+ img.logo { width: 76px; height: 76px; border-radius: 20px; }
438
+ .span-3, .span-4, .span-5, .span-6, .span-7, .span-8 { grid-column: span 12; }
439
+ }
440
+ @media (min-width: 861px) and (max-width: 1120px) {
441
+ .span-3, .span-4 { grid-column: span 6; }
442
+ .span-5, .span-6, .span-7, .span-8 { grid-column: span 12; }
443
+ }
444
+ @media (prefers-reduced-motion: reduce) {
445
+ html { scroll-behavior: auto; }
446
+ }
261
447
  </style>
262
448
  </head>
263
449
  <body>
264
450
  <main>
265
451
  <header>
266
- <img src="/favicon.png" alt="SAP MCP logo">
452
+ <img class="logo" src="/favicon.png" alt="SAP MCP logo" width="92" height="92">
267
453
  <div>
268
454
  <span class="badge">OOBE Protocol • ${escapeHtml(endpointLabel)}</span>
269
455
  <h1>${escapeHtml(title)}</h1>
270
456
  <p>${escapeHtml(info.description)}</p>
457
+ <div class="hero-actions">
458
+ <a class="button" href="/wizard/install.sh">Install wizard</a>
459
+ <a class="button secondary" href="/server.json">Server JSON</a>
460
+ <a class="button secondary" href="/.well-known/agent-card.json">Agent card</a>
461
+ </div>
271
462
  </div>
272
463
  </header>
273
- <div class="grid">
274
- <section>
275
- <h2>Public Endpoints</h2>
276
- <ul>
277
- <li>MCP: <code>${escapeHtml(info.endpoints.mcp)}</code></li>
278
- <li>Health: <code>${escapeHtml(info.endpoints.health)}</code></li>
279
- <li>Server info: <code>${escapeHtml(info.endpoints.serverInfo)}</code></li>
280
- <li>Agent card: <code>${escapeHtml(info.endpoints.agentCard)}</code></li>
281
- </ul>
464
+
465
+ <div class="bento" aria-label="SAP MCP hosted server overview">
466
+ <section class="card strong span-4">
467
+ <h3>Facilitator Volume</h3>
468
+ <div class="metric">${escapeHtml(formatUsd(paymentStats.totalVolumeUsd))}</div>
469
+ <p class="caption">Estimated settled x402/pay.sh tool volume recorded by the hosted payment ledger.</p>
470
+ </section>
471
+
472
+ <section class="card strong span-4">
473
+ <h3>Total Settlements</h3>
474
+ <div class="metric">${escapeHtml(formatInteger(paymentStats.totalSettlements))}</div>
475
+ <p class="caption">${escapeHtml(formatLastSettlement(paymentStats))}</p>
476
+ </section>
477
+
478
+ <section class="card span-4">
479
+ <h3>Payment Requests</h3>
480
+ <div class="metric">${escapeHtml(formatInteger(paymentStats.totalPaymentRequests))}</div>
481
+ <p class="caption"><span class="status">${escapeHtml(formatInteger(paymentStats.totalVerifiedPayments))}</span> verified, <span class="warning">${escapeHtml(formatInteger(paymentStats.totalFailedSettlements))}</span> failed settlements.</p>
482
+ </section>
483
+
484
+ <section class="card span-7">
485
+ <h2>Install Wizard</h2>
486
+ <p>Create a local SAP MCP profile, signer, policy limits, and optional client injection. Hosted users still sign x402/pay.sh and value-moving operations from their own machine or external signer.</p>
487
+ <div class="command"><code>${escapeHtml(installScriptCommand)}</code></div>
488
+ <div class="command"><code>${escapeHtml(wizardCommand)}</code></div>
282
489
  </section>
283
- <section>
284
- <h2>Capabilities</h2>
285
- <ul>
286
- <li>Native MCP tools, resources, and prompts</li>
287
- <li>x402 and pay.sh monetization flows</li>
288
- <li>User-controlled signing through local profile or external signer</li>
289
- <li>Wizard config under <code>~/.config/mcp-sap</code></li>
490
+
491
+ <section class="card span-5">
492
+ <h2>Payments</h2>
493
+ <ul class="list">
494
+ <li><strong>x402:</strong> paid MCP tool calls return HTTP 402 with payment requirements, then settle through the OOBE facilitator.</li>
495
+ <li><strong>pay.sh:</strong> supports pay-per-use and subscription specs for agents or dashboards that prefer checkout flows.</li>
496
+ <li><strong>Local stdio:</strong> free by default; monetization applies to hosted remote usage.</li>
290
497
  </ul>
291
498
  </section>
292
- <section>
293
- <h2>Security</h2>
294
- <ul>
499
+
500
+ <section class="card span-8">
501
+ <h2>Endpoints</h2>
502
+ <div class="endpoint-list">
503
+ <div class="endpoint-row"><span class="method">POST</span><code>${escapeHtml(info.endpoints.mcp)}</code></div>
504
+ <div class="endpoint-row"><span class="method">GET</span><code>${escapeHtml(info.endpoints.health)}</code></div>
505
+ <div class="endpoint-row"><span class="method">GET</span><code>${escapeHtml(info.endpoints.serverInfo)}</code></div>
506
+ <div class="endpoint-row"><span class="method">GET</span><code>${escapeHtml(info.endpoints.agentCard)}</code></div>
507
+ <div class="endpoint-row"><span class="method">GET</span><code>${escapeHtml(info.endpoints.wizardDescriptor)}</code></div>
508
+ </div>
509
+ </section>
510
+
511
+ <section class="card span-4">
512
+ <h2>Security Boundary</h2>
513
+ <ul class="list">
295
514
  <li>Keypair bytes are never exposed by public endpoints.</li>
296
- <li>Hosted server metadata does not print private RPC query secrets.</li>
297
- <li>Paid tools return 402 payment instructions before execution.</li>
515
+ <li>RPC secrets are redacted from public metadata and UI.</li>
516
+ <li>Paid tools require payment before execution.</li>
298
517
  </ul>
299
518
  </section>
300
- <section>
301
- <h2>Install Wizard</h2>
302
- <p><code>npm exec --yes --package @oobe-protocol-labs/sap-mcp-server -- sap-mcp-config wizard</code></p>
303
- </section>
304
519
  </div>
305
520
  <p class="footer">Use <a href="/server.json">/server.json</a> for machine-readable public metadata. MCP clients should connect to <a href="/mcp">/mcp</a> with <code>Accept: application/json, text/event-stream</code>.</p>
306
521
  </main>
@@ -315,6 +530,30 @@ function acceptsHtmlPreview(req) {
315
530
  const accept = String(req.headers.accept ?? '');
316
531
  return accept.includes('text/html') && !accept.includes('text/event-stream') && !accept.includes('application/json');
317
532
  }
533
+ function formatUsd(value) {
534
+ if (!Number.isFinite(value) || value <= 0) {
535
+ return '$0.00';
536
+ }
537
+ return `$${value.toLocaleString('en-US', {
538
+ minimumFractionDigits: value < 1 ? 3 : 2,
539
+ maximumFractionDigits: value < 1 ? 3 : 2,
540
+ })}`;
541
+ }
542
+ function formatInteger(value) {
543
+ if (!Number.isFinite(value) || value <= 0) {
544
+ return '0';
545
+ }
546
+ return Math.trunc(value).toLocaleString('en-US');
547
+ }
548
+ function formatLastSettlement(stats) {
549
+ if (!stats.ledgerAvailable) {
550
+ return 'Ledger not initialized yet. Metrics appear after the first paid hosted call.';
551
+ }
552
+ if (!stats.lastSettlementAt) {
553
+ return 'No settlements yet. Paid requests will update this card after successful settlement.';
554
+ }
555
+ return `Last settlement: ${stats.lastSettlementAt}`;
556
+ }
318
557
  /**
319
558
  * @name escapeHtml
320
559
  * @description Escapes dynamic strings before embedding them in public HTML metadata.
@@ -490,12 +729,18 @@ export class RemoteMCPServer {
490
729
  async start() {
491
730
  this.validateAuthConfig();
492
731
  await this.rateLimiter.initialize();
493
- const server = await createSapMcpServer(this.appConfig);
494
- this.transport = new StreamableHTTPServerTransport({
495
- sessionIdGenerator: this.config.stateless ? undefined : () => randomUUID(),
496
- });
497
- await server.connect(this.transport);
498
732
  const monetizationGate = await McpMonetizationGate.create(this.appConfig);
733
+ // In stateful mode, create one long-lived transport and connect the server once.
734
+ // In stateless mode, a fresh transport + server must be created per request —
735
+ // the MCP SDK throws "Stateless transport cannot be reused across requests"
736
+ // if a stateless transport handles more than one request.
737
+ if (!this.config.stateless) {
738
+ const server = await createSapMcpServer(this.appConfig);
739
+ this.transport = new StreamableHTTPServerTransport({
740
+ sessionIdGenerator: () => randomUUID(),
741
+ });
742
+ await server.connect(this.transport);
743
+ }
499
744
  this.httpServer = http.createServer(async (req, res) => {
500
745
  if (this.applyCors(req, res)) {
501
746
  return;
@@ -569,13 +814,33 @@ export class RemoteMCPServer {
569
814
  return;
570
815
  }
571
816
  try {
572
- if (monetizationGate) {
573
- await monetizationGate.handle(req, res, async (mcpReq, mcpRes, parsedBody) => {
574
- await this.transport?.handleRequest(mcpReq, mcpRes, parsedBody);
817
+ if (this.config.stateless) {
818
+ // Stateless mode: create a fresh transport + server per request.
819
+ // The MCP SDK prohibits reusing a stateless transport across requests.
820
+ const perRequestServer = await createSapMcpServer(this.appConfig);
821
+ const perRequestTransport = new StreamableHTTPServerTransport({
822
+ sessionIdGenerator: undefined,
575
823
  });
824
+ await perRequestServer.connect(perRequestTransport);
825
+ if (monetizationGate) {
826
+ await monetizationGate.handle(req, res, async (mcpReq, mcpRes, parsedBody) => {
827
+ await perRequestTransport.handleRequest(mcpReq, mcpRes, parsedBody);
828
+ });
829
+ }
830
+ else {
831
+ await perRequestTransport.handleRequest(req, res);
832
+ }
576
833
  }
577
834
  else {
578
- await this.transport?.handleRequest(req, res);
835
+ // Stateful mode: reuse the long-lived transport.
836
+ if (monetizationGate) {
837
+ await monetizationGate.handle(req, res, async (mcpReq, mcpRes, parsedBody) => {
838
+ await this.transport?.handleRequest(mcpReq, mcpRes, parsedBody);
839
+ });
840
+ }
841
+ else {
842
+ await this.transport?.handleRequest(req, res);
843
+ }
579
844
  }
580
845
  }
581
846
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/remote/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/remote/server.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sap-current-config.resource.d.ts","sourceRoot":"","sources":["../../../src/resources/current/sap-current-config.resource.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAGnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAoHzD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,IAAI,CAgHrF"}
1
+ {"version":3,"file":"sap-current-config.resource.d.ts","sourceRoot":"","sources":["../../../src/resources/current/sap-current-config.resource.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAGnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAmIzD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,IAAI,CAyHrF"}
@@ -11,6 +11,7 @@ import { logger, redactSensitiveString } from '../../core/logger.js';
11
11
  import { getActiveProfile, getProfileConfigPath, loadProfileConfig } from '../../config/profiles.js';
12
12
  import { fullConfigSchema } from '../../config/secure-config.js';
13
13
  import { existsSync, readFileSync } from 'fs';
14
+ const HOSTED_MCP_URL = 'https://mcp.sap.oobeprotocol.ai/mcp';
14
15
  /**
15
16
  * Loads the profile config used for display-only metadata such as agentPubkey.
16
17
  */
@@ -87,7 +88,7 @@ export function sapCurrentConfigResource(server, context) {
87
88
  wallet: {
88
89
  managedByProfile: Boolean(context.config.walletPath),
89
90
  exists: context.config.walletPath ? existsSync(context.config.walletPath) : false,
90
- type: context.config.mode === 'local-dev-keypair' ? 'keypair-file' : context.config.mode,
91
+ type: context.config.walletPath ? 'keypair-file' : context.config.mode,
91
92
  secretMaterial: 'never-exposed',
92
93
  },
93
94
  security: {
@@ -103,6 +104,15 @@ export function sapCurrentConfigResource(server, context) {
103
104
  metricsEnabled: config.enableMetrics,
104
105
  bentoEnabled: context.config.bento?.enabled ?? false,
105
106
  },
107
+ hostedRemote: context.config.mode === 'hosted-api'
108
+ ? {
109
+ canonicalEndpoint: HOSTED_MCP_URL,
110
+ serverStoresUserKeypairs: false,
111
+ serverSignerConfigured: Boolean(context.signer),
112
+ paidToolBehavior: 'returns-402-x402-payment-required-before-execution',
113
+ localFallbackPolicy: 'do-not-use-local-stdio-unless-user-explicitly-asks',
114
+ }
115
+ : undefined,
106
116
  logging: {
107
117
  level: context.config.logLevel,
108
118
  format: config.logFormat,
@@ -1 +1 @@
1
- {"version":3,"file":"sap-current-config.resource.js","sourceRoot":"","sources":["../../../src/resources/current/sap-current-config.resource.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sap-current-config.resource.js","sourceRoot":"","sources":["../../../src/resources/current/sap-current-config.resource.ts"],"names":[],"mappings":"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"}
@@ -56,7 +56,7 @@ export class SapClientManager {
56
56
  });
57
57
  // Get wallet based on mode
58
58
  let wallet;
59
- if (config.mode === 'local-dev-keypair' && config.walletPath) {
59
+ if ((config.mode === 'local-dev-keypair' || config.mode === 'hosted-api') && config.walletPath) {
60
60
  // Load keypair from file
61
61
  const { loadKeypairFromFile } = await import('../signer/load-keypair.js');
62
62
  const keypair = loadKeypairFromFile(config.walletPath);