{"openapi":"3.1.0","info":{"title":"SAP MCP Server","version":"0.9.74","description":"MCP gateway for Solana DeFi, SAP agent registry, and x402 micropayments across Jupiter, Metaplex, Pump.fun, Raydium, Orca, perps analytics, and more.","x-guidance":"Connect to POST /mcp with Accept: application/json, text/event-stream. Initialize an MCP session first, then call tools. Paid tools return a payment_required JSON-RPC error (HTTP 200 for MCP SDK compatibility) or HTTP 402 for non-MCP clients. Use the local sap_payments_call_paid_tool bridge or npx sap-mcp-x402-paid-call to self-pay and retry.","contact":{"name":"OOBE Protocol Labs","url":"https://github.com/OOBE-PROTOCOL/sap-mcp","email":"oobe@oobeprotocol.ai"}},"x-discovery":{"resources":["https://mcp.sap.oobeprotocol.ai/mcp"],"openApi":"https://mcp.sap.oobeprotocol.ai/openapi.json","pricing":"https://mcp.sap.oobeprotocol.ai/pricing.json","premiumCatalog":"https://mcp.sap.oobeprotocol.ai/premium/catalog.json","premiumStreams":"https://mcp.sap.oobeprotocol.ai/premium/streams.json","premiumWebhooks":"https://mcp.sap.oobeprotocol.ai/premium/webhooks.json","premiumHealth":"https://mcp.sap.oobeprotocol.ai/premium/health.json","premiumActivate":"https://mcp.sap.oobeprotocol.ai/premium/activate","premiumStreamBase":"https://mcp.sap.oobeprotocol.ai/premium/stream","premiumWebhookRegister":"https://mcp.sap.oobeprotocol.ai/premium/webhook/register","x402Discovery":"https://mcp.sap.oobeprotocol.ai/.well-known/x402","payShProvider":"https://mcp.sap.oobeprotocol.ai/pay/provider.yml","payments":{"provider":"x402","network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","assetSymbol":"USDC","payTo":"J7PyZAGKvprCz4SQ5DKBLAHstJxgVqZcz6kguUoWpP7P","seller":{"name":"OOBE Protocol","payTo":"J7PyZAGKvprCz4SQ5DKBLAHstJxgVqZcz6kguUoWpP7P"},"facilitator":{"role":"x402-svm-fee-payer","publicKey":"EQfGLHBFyWfE3auGdNc1t7sNXaZEB2zXpqhgaGRYwob2"},"headers":{"paymentRequired":"PAYMENT-REQUIRED","paymentSignature":"PAYMENT-SIGNATURE","paymentResponse":"PAYMENT-RESPONSE"}}},"x-pay-sh":{"providerYaml":"https://mcp.sap.oobeprotocol.ai/pay/provider.yml","routing":{"type":"proxy","upstream":"https://mcp.sap.oobeprotocol.ai/"},"monetization":{"mode":"metered","unit":"requests","sourceOfTruth":"SAP MCP per-tool x402 pricing remains authoritative after proxy forwarding."}},"servers":[{"url":"https://mcp.sap.oobeprotocol.ai","description":"SAP MCP Hosted Server"}],"paths":{"/mcp":{"post":{"operationId":"mcpCall","summary":"Fetch SAP MCP JSON-RPC response","tags":["MCP"],"x-payment-info":{"price":{"mode":"dynamic","currency":"USD","min":"0.005","max":"1000"},"protocols":["x402"],"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","assetSymbol":"USDC","payTo":"J7PyZAGKvprCz4SQ5DKBLAHstJxgVqZcz6kguUoWpP7P","seller":{"name":"OOBE Protocol","payTo":"J7PyZAGKvprCz4SQ5DKBLAHstJxgVqZcz6kguUoWpP7P"},"facilitator":{"role":"x402-svm-fee-payer","publicKey":"EQfGLHBFyWfE3auGdNc1t7sNXaZEB2zXpqhgaGRYwob2"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"type":"object","description":"General MCP JSON-RPC request such as initialize, tools/list, prompts/list, resources/list, or ping.","properties":{"jsonrpc":{"type":"string","const":"2.0"},"id":{"oneOf":[{"type":"integer"},{"type":"string"}],"description":"JSON-RPC request ID"},"method":{"type":"string","description":"MCP method.","examples":["initialize","tools/list","prompts/list","resources/list","ping"]},"params":{"type":"object","description":"JSON-RPC parameters for the requested MCP method. Use an empty object when the method has no parameters.","additionalProperties":true}},"required":["jsonrpc","id","method"]},{"type":"object","description":"MCP tools/call request. Paid tool calls may require x402 payment before execution.","properties":{"jsonrpc":{"type":"string","const":"2.0"},"id":{"oneOf":[{"type":"integer"},{"type":"string"}],"description":"JSON-RPC request ID"},"method":{"type":"string","const":"tools/call"},"params":{"type":"object","description":"MCP tools/call parameters containing the target tool name and optional tool arguments.","properties":{"name":{"type":"string","description":"Tool name (e.g. jupiter_getPrice)"},"arguments":{"type":"object","description":"Tool arguments","additionalProperties":true}},"required":["name"],"additionalProperties":true}},"required":["jsonrpc","id","method","params"]}]}}}},"responses":{"200":{"description":"MCP tool result or payment_required JSON-RPC error (for MCP SDK clients)","content":{"application/json":{"schema":{"type":"object","properties":{"jsonrpc":{"type":"string"},"id":{"type":"integer"},"result":{"type":"object","description":"Tool result (if free or paid)"},"error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"data":{"type":"object","properties":{"protocol":{"type":"string"},"paymentRequirements":{"type":"array"}}}}}}}},"text/event-stream":{"schema":{"type":"string","description":"Streamable HTTP MCP event stream containing JSON-RPC response events."}}}},"402":{"description":"Payment Required (x402 challenge for non-MCP clients)","content":{"application/json":{"schema":{"type":"object","properties":{"x402Version":{"type":"integer"},"error":{"type":"string"},"accepts":{"type":"array","items":{"type":"object","properties":{"scheme":{"type":"string"},"network":{"type":"string"},"amount":{"type":"string","description":"USDC atomic units (6 decimals)"},"asset":{"type":"string"},"payTo":{"type":"string"},"maxTimeoutSeconds":{"type":"integer"},"extra":{"type":"object","properties":{"feePayer":{"type":"string"}}}}}},"resource":{"type":"object","properties":{"url":{"type":"string"},"description":{"type":"string"},"mimeType":{"type":"string"},"serviceName":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}}}}}}}}}}}},"/premium/catalog.json":{"get":{"operationId":"fetchPremiumCatalog","summary":"Fetch premium plugin catalog","tags":["Premium"],"responses":{"200":{"description":"Secret-free premium plugin, stream, webhook, schema, pricing, and provider readiness metadata.","content":{"application/json":{"schema":{"type":"object","properties":{"version":{"type":"string"},"service":{"type":"string"},"kind":{"type":"string"},"capabilities":{"type":"array","items":{"type":"object","additionalProperties":true}},"providerStatus":{"type":"object","additionalProperties":{"type":"boolean"}}}}}}}}}},"/premium/streams.json":{"get":{"operationId":"fetchPremiumStreams","summary":"Fetch premium stream catalog","tags":["Premium"],"responses":{"200":{"description":"Secret-free premium stream contracts with schemas, x402/pay.sh pricing, and provider readiness.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/premium/webhooks.json":{"get":{"operationId":"fetchPremiumWebhooks","summary":"Fetch premium webhook catalog","tags":["Premium"],"responses":{"200":{"description":"Secret-free premium webhook contracts with signed delivery expectations, pricing, and provider readiness.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/premium/health.json":{"get":{"operationId":"fetchPremiumHealth","summary":"Fetch premium subsystem health and metrics","tags":["Premium"],"responses":{"200":{"description":"Premium subsystem metrics: active/pending/blocked sessions, events delivered, revenue, active streams/webhooks, and provider health.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/premium/activate":{"post":{"operationId":"activatePremiumSession","summary":"Activate a premium session with a verified x402/pay.sh receipt","tags":["Premium"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["sessionId","paymentReceipt"],"properties":{"sessionId":{"type":"string"},"paymentReceipt":{"type":"string"},"payerAddress":{"type":"string"}}}}}},"responses":{"200":{"description":"Session activated successfully.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Missing required fields."},"402":{"description":"Session not in pending_payment status."}}}},"/premium/stream/{sessionId}":{"get":{"operationId":"openPremiumStream","summary":"Open an SSE stream for an active premium session","tags":["Premium"],"parameters":[{"name":"sessionId","in":"path","required":true,"schema":{"type":"string"}},{"name":"subscriptionKey","in":"query","schema":{"type":"string"}},{"name":"since","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"SSE event stream. Each event is `event: <type>\\ndata: <json>\\n\\n`.","content":{"text/event-stream":{"schema":{"type":"string"}}}},"403":{"description":"Session not active."},"406":{"description":"Accept: text/event-stream required."}}}},"/premium/webhook/register":{"post":{"operationId":"registerPremiumWebhook","summary":"Register an HTTPS webhook target for signed premium event delivery","tags":["Premium"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["sessionId","targetUrl","events"],"properties":{"sessionId":{"type":"string"},"targetUrl":{"type":"string","format":"uri"},"events":{"type":"array","items":{"type":"string"},"minItems":1},"signingPublicKey":{"type":"string"}}}}}},"responses":{"201":{"description":"Webhook subscription created. Delivery worker started in background.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Missing required fields."},"402":{"description":"Session not active or URL invalid."}}}},"/premium/webhook/{subscriptionId}/status":{"get":{"operationId":"getPremiumWebhookStatus","summary":"Check webhook subscription status and recent delivery records","tags":["Premium"],"parameters":[{"name":"subscriptionId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Subscription status with recent delivery attempts.","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Subscription not found."}}}}}}