@oobe-protocol-labs/sap-mcp-server 0.9.16 → 0.9.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.example +8 -7
- package/CHANGELOG.md +199 -0
- package/README.md +3 -3
- package/USER_DOCS/01_HOSTED_REMOTE_MCP.md +1 -1
- package/USER_DOCS/04_CLIENT_CONFIGS.md +3 -3
- package/USER_DOCS/05_SKILLS_AND_TOOLS.md +16 -8
- package/USER_DOCS/06_DESKTOP_GUI_WIZARD.md +5 -5
- package/config.example.json +5 -4
- package/config.schema.json +7 -2
- package/config.secure-example.json +5 -4
- package/dist/adapters/index.d.ts +7 -1
- package/dist/adapters/index.d.ts.map +1 -1
- package/dist/adapters/index.js +7 -1
- package/dist/adapters/index.js.map +1 -1
- package/dist/adapters/mcp/errors.d.ts +13 -1
- package/dist/adapters/mcp/errors.d.ts.map +1 -1
- package/dist/adapters/mcp/errors.js +13 -1
- package/dist/adapters/mcp/errors.js.map +1 -1
- package/dist/adapters/mcp/index.d.ts +7 -1
- package/dist/adapters/mcp/index.d.ts.map +1 -1
- package/dist/adapters/mcp/index.js +7 -1
- package/dist/adapters/mcp/index.js.map +1 -1
- package/dist/adapters/mcp/prompt-response.d.ts +13 -1
- package/dist/adapters/mcp/prompt-response.d.ts.map +1 -1
- package/dist/adapters/mcp/prompt-response.js +13 -1
- package/dist/adapters/mcp/prompt-response.js.map +1 -1
- package/dist/adapters/mcp/resource-response.d.ts +14 -1
- package/dist/adapters/mcp/resource-response.d.ts.map +1 -1
- package/dist/adapters/mcp/resource-response.js +14 -1
- package/dist/adapters/mcp/resource-response.js.map +1 -1
- package/dist/adapters/mcp/sdk-compat.d.ts +11 -3
- package/dist/adapters/mcp/sdk-compat.d.ts.map +1 -1
- package/dist/adapters/mcp/sdk-compat.js +213 -24
- package/dist/adapters/mcp/sdk-compat.js.map +1 -1
- package/dist/adapters/mcp/tool-response.d.ts +39 -4
- package/dist/adapters/mcp/tool-response.d.ts.map +1 -1
- package/dist/adapters/mcp/tool-response.js +39 -4
- package/dist/adapters/mcp/tool-response.js.map +1 -1
- package/dist/adapters/solana/commitment.d.ts +14 -2
- package/dist/adapters/solana/commitment.d.ts.map +1 -1
- package/dist/adapters/solana/commitment.js +14 -2
- package/dist/adapters/solana/commitment.js.map +1 -1
- package/dist/adapters/solana/connection.d.ts +11 -2
- package/dist/adapters/solana/connection.d.ts.map +1 -1
- package/dist/adapters/solana/connection.js +11 -2
- package/dist/adapters/solana/connection.js.map +1 -1
- package/dist/adapters/solana/index.d.ts +7 -1
- package/dist/adapters/solana/index.d.ts.map +1 -1
- package/dist/adapters/solana/index.js +7 -1
- package/dist/adapters/solana/index.js.map +1 -1
- package/dist/adapters/solana/public-key.d.ts +11 -2
- package/dist/adapters/solana/public-key.d.ts.map +1 -1
- package/dist/adapters/solana/public-key.js +11 -2
- package/dist/adapters/solana/public-key.js.map +1 -1
- package/dist/config/defaults.d.ts +5 -0
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +5 -0
- package/dist/config/defaults.js.map +1 -1
- package/dist/config/env.d.ts +4 -0
- package/dist/config/env.d.ts.map +1 -1
- package/dist/config/env.js +11 -6
- package/dist/config/env.js.map +1 -1
- package/dist/config/index.d.ts +5 -0
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +5 -0
- package/dist/config/index.js.map +1 -1
- package/dist/config/mcp-client-injection.d.ts.map +1 -1
- package/dist/config/mcp-client-injection.js +97 -1
- package/dist/config/mcp-client-injection.js.map +1 -1
- package/dist/config/paths.d.ts +5 -0
- package/dist/config/paths.d.ts.map +1 -1
- package/dist/config/paths.js +5 -0
- package/dist/config/paths.js.map +1 -1
- package/dist/config/profiles.d.ts +3 -10
- package/dist/config/profiles.d.ts.map +1 -1
- package/dist/config/profiles.js +5 -0
- package/dist/config/profiles.js.map +1 -1
- package/dist/config/schema.d.ts +5 -0
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +5 -0
- package/dist/config/schema.js.map +1 -1
- package/dist/config/secure-config.d.ts +5 -0
- package/dist/config/secure-config.d.ts.map +1 -1
- package/dist/config/secure-config.js +5 -0
- package/dist/config/secure-config.js.map +1 -1
- package/dist/config/setup.d.ts +5 -0
- package/dist/config/setup.d.ts.map +1 -1
- package/dist/config/setup.js +5 -0
- package/dist/config/setup.js.map +1 -1
- package/dist/config-cli.d.ts +3 -13
- package/dist/config-cli.d.ts.map +1 -1
- package/dist/config-cli.js +5 -0
- package/dist/config-cli.js.map +1 -1
- package/dist/core/constants.d.ts +25 -6
- package/dist/core/constants.d.ts.map +1 -1
- package/dist/core/constants.js +27 -8
- package/dist/core/constants.js.map +1 -1
- package/dist/core/errors.d.ts +5 -0
- package/dist/core/errors.d.ts.map +1 -1
- package/dist/core/errors.js +5 -0
- package/dist/core/errors.js.map +1 -1
- package/dist/core/guards.d.ts +5 -0
- package/dist/core/guards.d.ts.map +1 -1
- package/dist/core/guards.js +3 -1
- package/dist/core/guards.js.map +1 -1
- package/dist/core/index.d.ts +7 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +7 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/logger.js +1 -1
- package/dist/core/logger.js.map +1 -1
- package/dist/core/result.d.ts +77 -9
- package/dist/core/result.d.ts.map +1 -1
- package/dist/core/result.js +68 -9
- package/dist/core/result.js.map +1 -1
- package/dist/core/types.d.ts +5 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +3 -4
- package/dist/core/types.js.map +1 -1
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/payments/facilitator-rpc-fallback.d.ts.map +1 -1
- package/dist/payments/facilitator-rpc-fallback.js +95 -0
- package/dist/payments/facilitator-rpc-fallback.js.map +1 -1
- package/dist/payments/hosted-tool-eligibility.d.ts +1 -0
- package/dist/payments/hosted-tool-eligibility.d.ts.map +1 -1
- package/dist/payments/hosted-tool-eligibility.js +1 -0
- package/dist/payments/hosted-tool-eligibility.js.map +1 -1
- package/dist/payments/mcp-session-cache.d.ts +35 -0
- package/dist/payments/mcp-session-cache.d.ts.map +1 -0
- package/dist/payments/mcp-session-cache.js +83 -0
- package/dist/payments/mcp-session-cache.js.map +1 -0
- package/dist/payments/monetization-gate.d.ts +5 -0
- package/dist/payments/monetization-gate.d.ts.map +1 -1
- package/dist/payments/monetization-gate.js +24 -1
- package/dist/payments/monetization-gate.js.map +1 -1
- package/dist/payments/pricing.d.ts +1 -0
- package/dist/payments/pricing.d.ts.map +1 -1
- package/dist/payments/pricing.js +64 -8
- package/dist/payments/pricing.js.map +1 -1
- package/dist/payments/usage-ledger.d.ts +36 -2
- package/dist/payments/usage-ledger.d.ts.map +1 -1
- package/dist/payments/usage-ledger.js +121 -4
- package/dist/payments/usage-ledger.js.map +1 -1
- package/dist/payments/x402-paid-call.d.ts +50 -0
- package/dist/payments/x402-paid-call.d.ts.map +1 -1
- package/dist/payments/x402-paid-call.js +171 -0
- package/dist/payments/x402-paid-call.js.map +1 -1
- package/dist/policy/default-policies.d.ts +18 -2
- package/dist/policy/default-policies.d.ts.map +1 -1
- package/dist/policy/default-policies.js +18 -2
- package/dist/policy/default-policies.js.map +1 -1
- package/dist/policy/index.d.ts +6 -3
- package/dist/policy/index.d.ts.map +1 -1
- package/dist/policy/index.js +6 -3
- package/dist/policy/index.js.map +1 -1
- package/dist/policy/local-policy-engine.d.ts +71 -13
- package/dist/policy/local-policy-engine.d.ts.map +1 -1
- package/dist/policy/local-policy-engine.js +33 -11
- package/dist/policy/local-policy-engine.js.map +1 -1
- package/dist/policy/permission-checks.d.ts +29 -3
- package/dist/policy/permission-checks.d.ts.map +1 -1
- package/dist/policy/permission-checks.js +29 -3
- package/dist/policy/permission-checks.js.map +1 -1
- package/dist/policy/policy-engine.d.ts +22 -2
- package/dist/policy/policy-engine.d.ts.map +1 -1
- package/dist/policy/policy-engine.js +22 -2
- package/dist/policy/policy-engine.js.map +1 -1
- package/dist/policy/policy-types.d.ts +55 -5
- package/dist/policy/policy-types.d.ts.map +1 -1
- package/dist/policy/policy-types.js +8 -1
- package/dist/policy/policy-types.js.map +1 -1
- package/dist/policy/risk-level.d.ts +32 -3
- package/dist/policy/risk-level.d.ts.map +1 -1
- package/dist/policy/risk-level.js +32 -3
- package/dist/policy/risk-level.js.map +1 -1
- package/dist/policy/spending-limits.d.ts +29 -3
- package/dist/policy/spending-limits.d.ts.map +1 -1
- package/dist/policy/spending-limits.js +29 -3
- package/dist/policy/spending-limits.js.map +1 -1
- package/dist/premium/activation-manager.d.ts +43 -0
- package/dist/premium/activation-manager.d.ts.map +1 -0
- package/dist/premium/activation-manager.js +131 -0
- package/dist/premium/activation-manager.js.map +1 -0
- package/dist/premium/builtin-plugins.d.ts +143 -0
- package/dist/premium/builtin-plugins.d.ts.map +1 -0
- package/dist/premium/builtin-plugins.js +394 -0
- package/dist/premium/builtin-plugins.js.map +1 -0
- package/dist/premium/event-store.d.ts +61 -0
- package/dist/premium/event-store.d.ts.map +1 -0
- package/dist/premium/event-store.js +130 -0
- package/dist/premium/event-store.js.map +1 -0
- package/dist/premium/index.d.ts +54 -0
- package/dist/premium/index.d.ts.map +1 -0
- package/dist/premium/index.js +54 -0
- package/dist/premium/index.js.map +1 -0
- package/dist/premium/manifest-builder.d.ts +65 -0
- package/dist/premium/manifest-builder.d.ts.map +1 -0
- package/dist/premium/manifest-builder.js +182 -0
- package/dist/premium/manifest-builder.js.map +1 -0
- package/dist/premium/meme-radar-capabilities.d.ts +38 -0
- package/dist/premium/meme-radar-capabilities.d.ts.map +1 -0
- package/dist/premium/meme-radar-capabilities.js +306 -0
- package/dist/premium/meme-radar-capabilities.js.map +1 -0
- package/dist/premium/metrics.d.ts +27 -0
- package/dist/premium/metrics.d.ts.map +1 -0
- package/dist/premium/metrics.js +65 -0
- package/dist/premium/metrics.js.map +1 -0
- package/dist/premium/plugin-validator.d.ts +39 -0
- package/dist/premium/plugin-validator.d.ts.map +1 -0
- package/dist/premium/plugin-validator.js +325 -0
- package/dist/premium/plugin-validator.js.map +1 -0
- package/dist/premium/private-manifest-loader.d.ts +111 -0
- package/dist/premium/private-manifest-loader.d.ts.map +1 -0
- package/dist/premium/private-manifest-loader.js +285 -0
- package/dist/premium/private-manifest-loader.js.map +1 -0
- package/dist/premium/provider-bridge.d.ts +109 -0
- package/dist/premium/provider-bridge.d.ts.map +1 -0
- package/dist/premium/provider-bridge.js +239 -0
- package/dist/premium/provider-bridge.js.map +1 -0
- package/dist/premium/session-manager.d.ts +125 -0
- package/dist/premium/session-manager.d.ts.map +1 -0
- package/dist/premium/session-manager.js +337 -0
- package/dist/premium/session-manager.js.map +1 -0
- package/dist/premium/stream-broker.d.ts +98 -0
- package/dist/premium/stream-broker.d.ts.map +1 -0
- package/dist/premium/stream-broker.js +199 -0
- package/dist/premium/stream-broker.js.map +1 -0
- package/dist/premium/tech-fundamentals-capabilities.d.ts +37 -0
- package/dist/premium/tech-fundamentals-capabilities.d.ts.map +1 -0
- package/dist/premium/tech-fundamentals-capabilities.js +283 -0
- package/dist/premium/tech-fundamentals-capabilities.js.map +1 -0
- package/dist/premium/trading-capabilities.d.ts +36 -0
- package/dist/premium/trading-capabilities.d.ts.map +1 -0
- package/dist/premium/trading-capabilities.js +205 -0
- package/dist/premium/trading-capabilities.js.map +1 -0
- package/dist/premium/types.d.ts +518 -0
- package/dist/premium/types.d.ts.map +1 -0
- package/dist/premium/types.js +23 -0
- package/dist/premium/types.js.map +1 -0
- package/dist/premium/webhook-engine.d.ts +102 -0
- package/dist/premium/webhook-engine.d.ts.map +1 -0
- package/dist/premium/webhook-engine.js +382 -0
- package/dist/premium/webhook-engine.js.map +1 -0
- package/dist/prompts/context/sap-agent-context.prompt.d.ts +5 -0
- package/dist/prompts/context/sap-agent-context.prompt.d.ts.map +1 -1
- package/dist/prompts/context/sap-agent-context.prompt.js +2 -8
- package/dist/prompts/context/sap-agent-context.prompt.js.map +1 -1
- package/dist/prompts/context/sap-agent-intent-router.prompt.d.ts +14 -0
- package/dist/prompts/context/sap-agent-intent-router.prompt.d.ts.map +1 -0
- package/dist/prompts/context/sap-agent-intent-router.prompt.js +155 -0
- package/dist/prompts/context/sap-agent-intent-router.prompt.js.map +1 -0
- package/dist/prompts/context/sap-agent-start.prompt.js +1 -0
- package/dist/prompts/context/sap-agent-start.prompt.js.map +1 -1
- package/dist/prompts/developer/debug-sap-error.prompt.d.ts +5 -0
- package/dist/prompts/developer/debug-sap-error.prompt.d.ts.map +1 -1
- package/dist/prompts/developer/debug-sap-error.prompt.js +3 -4
- package/dist/prompts/developer/debug-sap-error.prompt.js.map +1 -1
- package/dist/prompts/developer/generate-sap-integration.prompt.d.ts +5 -0
- package/dist/prompts/developer/generate-sap-integration.prompt.d.ts.map +1 -1
- package/dist/prompts/developer/generate-sap-integration.prompt.js +3 -4
- package/dist/prompts/developer/generate-sap-integration.prompt.js.map +1 -1
- package/dist/prompts/developer/index.d.ts +4 -1
- package/dist/prompts/developer/index.d.ts.map +1 -1
- package/dist/prompts/developer/index.js +4 -1
- package/dist/prompts/developer/index.js.map +1 -1
- package/dist/prompts/execution-proof/explain-proof-of-execution.prompt.d.ts +5 -0
- package/dist/prompts/execution-proof/explain-proof-of-execution.prompt.d.ts.map +1 -1
- package/dist/prompts/execution-proof/explain-proof-of-execution.prompt.js +3 -4
- package/dist/prompts/execution-proof/explain-proof-of-execution.prompt.js.map +1 -1
- package/dist/prompts/execution-proof/index.d.ts +4 -1
- package/dist/prompts/execution-proof/index.d.ts.map +1 -1
- package/dist/prompts/execution-proof/index.js +4 -1
- package/dist/prompts/execution-proof/index.js.map +1 -1
- package/dist/prompts/execution-proof/verify-execution-proof.prompt.d.ts +5 -0
- package/dist/prompts/execution-proof/verify-execution-proof.prompt.d.ts.map +1 -1
- package/dist/prompts/execution-proof/verify-execution-proof.prompt.js +3 -4
- package/dist/prompts/execution-proof/verify-execution-proof.prompt.js.map +1 -1
- package/dist/prompts/index.d.ts +4 -1
- package/dist/prompts/index.d.ts.map +1 -1
- package/dist/prompts/index.js +4 -1
- package/dist/prompts/index.js.map +1 -1
- package/dist/prompts/payments/create-paid-api.prompt.d.ts +5 -0
- package/dist/prompts/payments/create-paid-api.prompt.d.ts.map +1 -1
- package/dist/prompts/payments/create-paid-api.prompt.js +3 -4
- package/dist/prompts/payments/create-paid-api.prompt.js.map +1 -1
- package/dist/prompts/payments/explain-x402-settlement.prompt.d.ts +5 -0
- package/dist/prompts/payments/explain-x402-settlement.prompt.d.ts.map +1 -1
- package/dist/prompts/payments/explain-x402-settlement.prompt.js +3 -4
- package/dist/prompts/payments/explain-x402-settlement.prompt.js.map +1 -1
- package/dist/prompts/payments/index.d.ts +4 -1
- package/dist/prompts/payments/index.d.ts.map +1 -1
- package/dist/prompts/payments/index.js +4 -1
- package/dist/prompts/payments/index.js.map +1 -1
- package/dist/prompts/register-prompts.d.ts +18 -2
- package/dist/prompts/register-prompts.d.ts.map +1 -1
- package/dist/prompts/register-prompts.js +21 -3
- package/dist/prompts/register-prompts.js.map +1 -1
- package/dist/prompts/registry/analyze-sap-agent.prompt.d.ts +5 -0
- package/dist/prompts/registry/analyze-sap-agent.prompt.d.ts.map +1 -1
- package/dist/prompts/registry/analyze-sap-agent.prompt.js +3 -4
- package/dist/prompts/registry/analyze-sap-agent.prompt.js.map +1 -1
- package/dist/prompts/registry/index.d.ts +4 -1
- package/dist/prompts/registry/index.d.ts.map +1 -1
- package/dist/prompts/registry/index.js +4 -1
- package/dist/prompts/registry/index.js.map +1 -1
- package/dist/prompts/registry/register-sap-agent.prompt.d.ts +5 -0
- package/dist/prompts/registry/register-sap-agent.prompt.d.ts.map +1 -1
- package/dist/prompts/registry/register-sap-agent.prompt.js +3 -4
- package/dist/prompts/registry/register-sap-agent.prompt.js.map +1 -1
- package/dist/remote/premium-memory.d.ts +90 -0
- package/dist/remote/premium-memory.d.ts.map +1 -0
- package/dist/remote/premium-memory.js +161 -0
- package/dist/remote/premium-memory.js.map +1 -0
- package/dist/remote/premium-routes.d.ts +99 -0
- package/dist/remote/premium-routes.d.ts.map +1 -0
- package/dist/remote/premium-routes.js +346 -0
- package/dist/remote/premium-routes.js.map +1 -0
- package/dist/remote/public-home/sections.d.ts.map +1 -1
- package/dist/remote/public-home/sections.js +7 -1
- package/dist/remote/public-home/sections.js.map +1 -1
- package/dist/remote/public-home/types.d.ts +6 -0
- package/dist/remote/public-home/types.d.ts.map +1 -1
- package/dist/remote/server.d.ts +18 -0
- package/dist/remote/server.d.ts.map +1 -1
- package/dist/remote/server.js +298 -116
- package/dist/remote/server.js.map +1 -1
- package/dist/remote/tx-relay.d.ts +42 -0
- package/dist/remote/tx-relay.d.ts.map +1 -0
- package/dist/remote/tx-relay.js +118 -0
- package/dist/remote/tx-relay.js.map +1 -0
- package/dist/resources/current/sap-current-config.resource.d.ts +5 -0
- package/dist/resources/current/sap-current-config.resource.d.ts.map +1 -1
- package/dist/resources/current/sap-current-config.resource.js +2 -5
- package/dist/resources/current/sap-current-config.resource.js.map +1 -1
- package/dist/resources/execution-proof/index.d.ts +5 -0
- package/dist/resources/execution-proof/index.d.ts.map +1 -1
- package/dist/resources/execution-proof/index.js +5 -0
- package/dist/resources/execution-proof/index.js.map +1 -1
- package/dist/resources/execution-proof/sap-execution-record.resource.d.ts +5 -0
- package/dist/resources/execution-proof/sap-execution-record.resource.d.ts.map +1 -1
- package/dist/resources/execution-proof/sap-execution-record.resource.js +3 -4
- package/dist/resources/execution-proof/sap-execution-record.resource.js.map +1 -1
- package/dist/resources/index.d.ts +5 -0
- package/dist/resources/index.d.ts.map +1 -1
- package/dist/resources/index.js +5 -0
- package/dist/resources/index.js.map +1 -1
- package/dist/resources/memory/index.d.ts +5 -0
- package/dist/resources/memory/index.d.ts.map +1 -1
- package/dist/resources/memory/index.js +5 -0
- package/dist/resources/memory/index.js.map +1 -1
- package/dist/resources/memory/sap-memory.resource.d.ts +5 -0
- package/dist/resources/memory/sap-memory.resource.d.ts.map +1 -1
- package/dist/resources/memory/sap-memory.resource.js +3 -4
- package/dist/resources/memory/sap-memory.resource.js.map +1 -1
- package/dist/resources/profile/sap-active-profile.resource.d.ts +5 -0
- package/dist/resources/profile/sap-active-profile.resource.d.ts.map +1 -1
- package/dist/resources/profile/sap-active-profile.resource.js +2 -5
- package/dist/resources/profile/sap-active-profile.resource.js.map +1 -1
- package/dist/resources/register-resources.d.ts +5 -0
- package/dist/resources/register-resources.d.ts.map +1 -1
- package/dist/resources/register-resources.js +3 -1
- package/dist/resources/register-resources.js.map +1 -1
- package/dist/resources/registry/index.d.ts +5 -0
- package/dist/resources/registry/index.d.ts.map +1 -1
- package/dist/resources/registry/index.js +5 -0
- package/dist/resources/registry/index.js.map +1 -1
- package/dist/resources/registry/sap-agent.resource.d.ts +5 -0
- package/dist/resources/registry/sap-agent.resource.d.ts.map +1 -1
- package/dist/resources/registry/sap-agent.resource.js +3 -4
- package/dist/resources/registry/sap-agent.resource.js.map +1 -1
- package/dist/resources/registry/sap-global-registry.resource.d.ts +18 -4
- package/dist/resources/registry/sap-global-registry.resource.d.ts.map +1 -1
- package/dist/resources/registry/sap-global-registry.resource.js +18 -4
- package/dist/resources/registry/sap-global-registry.resource.js.map +1 -1
- package/dist/resources/reputation/index.d.ts +4 -1
- package/dist/resources/reputation/index.d.ts.map +1 -1
- package/dist/resources/reputation/index.js +4 -1
- package/dist/resources/reputation/index.js.map +1 -1
- package/dist/resources/reputation/sap-reputation.resource.d.ts +18 -4
- package/dist/resources/reputation/sap-reputation.resource.d.ts.map +1 -1
- package/dist/resources/reputation/sap-reputation.resource.js +18 -4
- package/dist/resources/reputation/sap-reputation.resource.js.map +1 -1
- package/dist/resources/tool-schema/index.d.ts +4 -1
- package/dist/resources/tool-schema/index.d.ts.map +1 -1
- package/dist/resources/tool-schema/index.js +4 -1
- package/dist/resources/tool-schema/index.js.map +1 -1
- package/dist/resources/tool-schema/sap-tool-schema.resource.d.ts +18 -4
- package/dist/resources/tool-schema/sap-tool-schema.resource.d.ts.map +1 -1
- package/dist/resources/tool-schema/sap-tool-schema.resource.js +18 -4
- package/dist/resources/tool-schema/sap-tool-schema.resource.js.map +1 -1
- package/dist/sap/index.d.ts +7 -1
- package/dist/sap/index.d.ts.map +1 -1
- package/dist/sap/index.js +7 -1
- package/dist/sap/index.js.map +1 -1
- package/dist/sap/sap-client-manager.d.ts +80 -13
- package/dist/sap/sap-client-manager.d.ts.map +1 -1
- package/dist/sap/sap-client-manager.js +80 -13
- package/dist/sap/sap-client-manager.js.map +1 -1
- package/dist/sap/sap-errors.d.ts +22 -3
- package/dist/sap/sap-errors.d.ts.map +1 -1
- package/dist/sap/sap-errors.js +22 -3
- package/dist/sap/sap-errors.js.map +1 -1
- package/dist/sap/sap-types.d.ts +75 -6
- package/dist/sap/sap-types.d.ts.map +1 -1
- package/dist/sap/sap-types.js +11 -1
- package/dist/sap/sap-types.js.map +1 -1
- package/dist/schemas/common.schema.d.ts +45 -8
- package/dist/schemas/common.schema.d.ts.map +1 -1
- package/dist/schemas/common.schema.js +45 -8
- package/dist/schemas/common.schema.js.map +1 -1
- package/dist/schemas/developer.schema.d.ts +22 -3
- package/dist/schemas/developer.schema.d.ts.map +1 -1
- package/dist/schemas/developer.schema.js +22 -3
- package/dist/schemas/developer.schema.js.map +1 -1
- package/dist/schemas/execution-proof.schema.d.ts +29 -4
- package/dist/schemas/execution-proof.schema.d.ts.map +1 -1
- package/dist/schemas/execution-proof.schema.js +29 -4
- package/dist/schemas/execution-proof.schema.js.map +1 -1
- package/dist/schemas/identity.schema.d.ts +23 -3
- package/dist/schemas/identity.schema.d.ts.map +1 -1
- package/dist/schemas/identity.schema.js +23 -3
- package/dist/schemas/identity.schema.js.map +1 -1
- package/dist/schemas/index.d.ts +11 -1
- package/dist/schemas/index.d.ts.map +1 -1
- package/dist/schemas/index.js +11 -1
- package/dist/schemas/index.js.map +1 -1
- package/dist/schemas/memory.schema.d.ts +23 -3
- package/dist/schemas/memory.schema.d.ts.map +1 -1
- package/dist/schemas/memory.schema.js +23 -3
- package/dist/schemas/memory.schema.js.map +1 -1
- package/dist/schemas/payments.schema.d.ts +24 -3
- package/dist/schemas/payments.schema.d.ts.map +1 -1
- package/dist/schemas/payments.schema.js +24 -3
- package/dist/schemas/payments.schema.js.map +1 -1
- package/dist/schemas/registry.schema.d.ts +36 -4
- package/dist/schemas/registry.schema.d.ts.map +1 -1
- package/dist/schemas/registry.schema.js +36 -4
- package/dist/schemas/registry.schema.js.map +1 -1
- package/dist/schemas/reputation.schema.d.ts +22 -3
- package/dist/schemas/reputation.schema.d.ts.map +1 -1
- package/dist/schemas/reputation.schema.js +22 -3
- package/dist/schemas/reputation.schema.js.map +1 -1
- package/dist/schemas/settlement.schema.d.ts +31 -4
- package/dist/schemas/settlement.schema.d.ts.map +1 -1
- package/dist/schemas/settlement.schema.js +31 -4
- package/dist/schemas/settlement.schema.js.map +1 -1
- package/dist/schemas/tool-schema.schema.d.ts +29 -3
- package/dist/schemas/tool-schema.schema.d.ts.map +1 -1
- package/dist/schemas/tool-schema.schema.js +29 -3
- package/dist/schemas/tool-schema.schema.js.map +1 -1
- package/dist/schemas/transaction.schema.d.ts +23 -3
- package/dist/schemas/transaction.schema.d.ts.map +1 -1
- package/dist/schemas/transaction.schema.js +23 -3
- package/dist/schemas/transaction.schema.js.map +1 -1
- package/dist/security/approval-required.d.ts +19 -2
- package/dist/security/approval-required.d.ts.map +1 -1
- package/dist/security/approval-required.js +19 -2
- package/dist/security/approval-required.js.map +1 -1
- package/dist/security/index.d.ts +7 -1
- package/dist/security/index.d.ts.map +1 -1
- package/dist/security/index.js +7 -1
- package/dist/security/index.js.map +1 -1
- package/dist/security/private-key-guard.d.ts +18 -2
- package/dist/security/private-key-guard.d.ts.map +1 -1
- package/dist/security/private-key-guard.js +19 -2
- package/dist/security/private-key-guard.js.map +1 -1
- package/dist/security/prompt-injection-notes.d.ts +10 -1
- package/dist/security/prompt-injection-notes.d.ts.map +1 -1
- package/dist/security/prompt-injection-notes.js +10 -1
- package/dist/security/prompt-injection-notes.js.map +1 -1
- package/dist/security/unsafe-action-guard.d.ts +36 -10
- package/dist/security/unsafe-action-guard.d.ts.map +1 -1
- package/dist/security/unsafe-action-guard.js +67 -15
- package/dist/security/unsafe-action-guard.js.map +1 -1
- package/dist/server/create-server.d.ts +18 -3
- package/dist/server/create-server.d.ts.map +1 -1
- package/dist/server/create-server.js +18 -3
- package/dist/server/create-server.js.map +1 -1
- package/dist/server/index.d.ts +6 -1
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +6 -1
- package/dist/server/index.js.map +1 -1
- package/dist/server/register-capabilities.d.ts +17 -2
- package/dist/server/register-capabilities.d.ts.map +1 -1
- package/dist/server/register-capabilities.js +17 -2
- package/dist/server/register-capabilities.js.map +1 -1
- package/dist/server/server-metadata.d.ts +34 -1
- package/dist/server/server-metadata.d.ts.map +1 -1
- package/dist/server/server-metadata.js +35 -2
- package/dist/server/server-metadata.js.map +1 -1
- package/dist/session/agent-session.d.ts +35 -4
- package/dist/session/agent-session.d.ts.map +1 -1
- package/dist/session/agent-session.js +35 -4
- package/dist/session/agent-session.js.map +1 -1
- package/dist/session/delegated-session.d.ts +31 -3
- package/dist/session/delegated-session.d.ts.map +1 -1
- package/dist/session/delegated-session.js +31 -3
- package/dist/session/delegated-session.js.map +1 -1
- package/dist/session/index.d.ts +7 -1
- package/dist/session/index.d.ts.map +1 -1
- package/dist/session/index.js +7 -1
- package/dist/session/index.js.map +1 -1
- package/dist/session/redis-session-store.d.ts +94 -21
- package/dist/session/redis-session-store.d.ts.map +1 -1
- package/dist/session/redis-session-store.js +87 -20
- package/dist/session/redis-session-store.js.map +1 -1
- package/dist/session/session-limits.d.ts +34 -4
- package/dist/session/session-limits.d.ts.map +1 -1
- package/dist/session/session-limits.js +34 -4
- package/dist/session/session-limits.js.map +1 -1
- package/dist/session/session-permissions.d.ts +57 -7
- package/dist/session/session-permissions.d.ts.map +1 -1
- package/dist/session/session-permissions.js +57 -7
- package/dist/session/session-permissions.js.map +1 -1
- package/dist/session/session-store.d.ts +9 -1
- package/dist/session/session-store.d.ts.map +1 -1
- package/dist/session/session-store.js +18 -3
- package/dist/session/session-store.js.map +1 -1
- package/dist/session/session-types.d.ts +33 -4
- package/dist/session/session-types.d.ts.map +1 -1
- package/dist/session/session-types.js +9 -1
- package/dist/session/session-types.js.map +1 -1
- package/dist/signer/index.d.ts +7 -1
- package/dist/signer/index.d.ts.map +1 -1
- package/dist/signer/index.js +7 -1
- package/dist/signer/index.js.map +1 -1
- package/dist/signer/load-keypair.d.ts +25 -4
- package/dist/signer/load-keypair.d.ts.map +1 -1
- package/dist/signer/load-keypair.js +25 -4
- package/dist/signer/load-keypair.js.map +1 -1
- package/dist/signer/local-keypair-signer.d.ts +16 -2
- package/dist/signer/local-keypair-signer.d.ts.map +1 -1
- package/dist/signer/local-keypair-signer.js +16 -2
- package/dist/signer/local-keypair-signer.js.map +1 -1
- package/dist/signer/signer-resolver.d.ts +19 -2
- package/dist/signer/signer-resolver.d.ts.map +1 -1
- package/dist/signer/signer-resolver.js +26 -3
- package/dist/signer/signer-resolver.js.map +1 -1
- package/dist/signer/signer-types.d.ts +47 -5
- package/dist/signer/signer-types.d.ts.map +1 -1
- package/dist/signer/signer-types.js +13 -1
- package/dist/signer/signer-types.js.map +1 -1
- package/dist/tools/agent-start-tool.js +20 -1
- package/dist/tools/agent-start-tool.js.map +1 -1
- package/dist/tools/client-sdk-tools.d.ts.map +1 -1
- package/dist/tools/client-sdk-tools.js +27 -2
- package/dist/tools/client-sdk-tools.js.map +1 -1
- package/dist/tools/estimate-tool-cost.d.ts +13 -0
- package/dist/tools/estimate-tool-cost.d.ts.map +1 -0
- package/dist/tools/estimate-tool-cost.js +139 -0
- package/dist/tools/estimate-tool-cost.js.map +1 -0
- package/dist/tools/index.d.ts +6 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +7 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/magicblock-tools.d.ts +25 -0
- package/dist/tools/magicblock-tools.d.ts.map +1 -1
- package/dist/tools/magicblock-tools.js +116 -8
- package/dist/tools/magicblock-tools.js.map +1 -1
- package/dist/tools/perp-tools.d.ts +39 -0
- package/dist/tools/perp-tools.d.ts.map +1 -0
- package/dist/tools/perp-tools.js +1110 -0
- package/dist/tools/perp-tools.js.map +1 -0
- package/dist/tools/premium-tools.d.ts +8 -0
- package/dist/tools/premium-tools.d.ts.map +1 -0
- package/dist/tools/premium-tools.js +732 -0
- package/dist/tools/premium-tools.js.map +1 -0
- package/dist/tools/register-tools.d.ts.map +1 -1
- package/dist/tools/register-tools.js +9 -0
- package/dist/tools/register-tools.js.map +1 -1
- package/dist/tools/sap-sdk-tools.d.ts.map +1 -1
- package/dist/tools/sap-sdk-tools.js +42 -32
- package/dist/tools/sap-sdk-tools.js.map +1 -1
- package/dist/tools/x402-paid-call-tool.js +2 -2
- package/dist/tools/x402-paid-call-tool.js.map +1 -1
- package/dist/transports/index.d.ts +6 -1
- package/dist/transports/index.d.ts.map +1 -1
- package/dist/transports/index.js +6 -1
- package/dist/transports/index.js.map +1 -1
- package/dist/transports/stdio.d.ts +17 -5
- package/dist/transports/stdio.d.ts.map +1 -1
- package/dist/transports/stdio.js +17 -5
- package/dist/transports/stdio.js.map +1 -1
- package/dist/tui/wizard-save.d.ts +88 -8
- package/dist/tui/wizard-save.d.ts.map +1 -1
- package/dist/tui/wizard-save.js +77 -8
- package/dist/tui/wizard-save.js.map +1 -1
- package/docs/06_PAYMENTS_X402_AND_PAYSH.md +3 -3
- package/docs/07_ENDPOINTS_AND_CLIENTS.md +4 -1
- package/docs/14_DESKTOP_WIZARD_RELEASE.md +3 -3
- package/docs/16_SAP_AGENT_IDENTITY_PIPELINE.md +6 -0
- package/docs/18_PREMIUM_PLUGIN_RUNTIME.md +108 -0
- package/docs/README.md +12 -0
- package/package.json +8 -9
- package/server.json +3 -3
- package/skills/sap-agent-registry/SKILL.md +6 -0
- package/skills/sap-mcp/SKILL.md +27 -4
- package/skills/sap-mcp/TOOL_REFERENCE.md +4 -1
- package/skills/sap-payments-x402/SKILL.md +22 -8
|
@@ -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.
|
|
69
|
+
args = ["--yes", "--package", "@oobe-protocol-labs/sap-mcp-server@0.9.20", "sap-mcp-server"]
|
|
70
70
|
startup_timeout_sec = 300
|
|
71
71
|
tool_timeout_sec = 300
|
|
72
72
|
|
|
@@ -279,8 +279,8 @@ npm pack --dry-run --cache ./.npm-cache
|
|
|
279
279
|
The current local macOS arm64 build produces:
|
|
280
280
|
|
|
281
281
|
```txt
|
|
282
|
-
SAP-MCP-Wizard-0.9.
|
|
283
|
-
SAP-MCP-Wizard-0.9.
|
|
282
|
+
SAP-MCP-Wizard-0.9.20-arm64.dmg
|
|
283
|
+
SAP-MCP-Wizard-0.9.20-arm64.zip
|
|
284
284
|
```
|
|
285
285
|
|
|
286
286
|
Windows EXE and Linux artifacts are produced by the GitHub Actions matrix.
|
|
@@ -235,6 +235,12 @@ Then call:
|
|
|
235
235
|
confirms the agent account and reports a non-failing `protocolFee` audit.
|
|
236
236
|
- Do not call profile/image update complete until `sap_payments_update_agent`
|
|
237
237
|
confirms and a fresh `sap_get_agent_profile` read shows the intended fields.
|
|
238
|
+
- If an update returns Anchor 3012, `AccountNotInitialized`, or a
|
|
239
|
+
`pricing_menu` error, do not classify it as missing `sap_payments` and do not
|
|
240
|
+
ask the user to repair/restart the runtime. The local signer route worked; the
|
|
241
|
+
SAP registry account lifecycle is missing a required on-chain PDA. Call
|
|
242
|
+
`sap_agent_next_action` and `sap_protocol_invariants`, then use the current
|
|
243
|
+
SDK/server initializer path before retrying the update.
|
|
238
244
|
- Do not create temporary signing scripts.
|
|
239
245
|
- Do not read keypair JSON.
|
|
240
246
|
- Do not pay x402 for writes that the hosted server says require local signer.
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
# SAP MCP Premium Plugin Runtime
|
|
2
|
+
|
|
3
|
+
SAP MCP includes a typed premium plugin contract for paid streams, webhooks, and enterprise capabilities. The goal is to let agents discover paid real-time capabilities, validate schemas before spending, and bind future x402/pay.sh receipts to a clear session id without exposing private provider code or user key material.
|
|
4
|
+
|
|
5
|
+
This layer is deliberately strict:
|
|
6
|
+
|
|
7
|
+
- no fake stream data
|
|
8
|
+
- no implicit provider claims
|
|
9
|
+
- no execution of plugin code from user input
|
|
10
|
+
- no keypair bytes or provider secrets in public metadata
|
|
11
|
+
- no x402 charge for invalid catalog/session planning requests
|
|
12
|
+
|
|
13
|
+
## What Ships In The Open Server
|
|
14
|
+
|
|
15
|
+
The public MCP server exposes free discovery and planning tools:
|
|
16
|
+
|
|
17
|
+
| Tool | Purpose |
|
|
18
|
+
| --- | --- |
|
|
19
|
+
| `sap_premium_plugin_catalog` | Lists premium plugin manifests, schemas, pricing contracts, provider readiness, and private plugin loader guidance. |
|
|
20
|
+
| `sap_stream_catalog` | Lists stream capability contracts such as quote deltas, price ticks, registry events, and x402 ledger events. |
|
|
21
|
+
| `sap_webhook_catalog` | Lists webhook delivery contracts and signed callback event types. |
|
|
22
|
+
| `sap_premium_validate_plugin_manifest` | Validates a manifest before publication or enterprise loading. |
|
|
23
|
+
| `sap_premium_plugin_template` | Builds a strict data-only manifest template for custom stream, webhook, or premium tool contracts. |
|
|
24
|
+
| `sap_premium_session_start` | Creates an unpaid, bounded session plan for a premium capability. |
|
|
25
|
+
| `sap_premium_session_status` | Reads in-memory premium session planning status. |
|
|
26
|
+
|
|
27
|
+
Planning is free because it prevents wasted x402 attempts. Live premium delivery should be charged by the delivery rail once the provider is configured and the session is activation-ready.
|
|
28
|
+
|
|
29
|
+
## Public HTTP Discovery
|
|
30
|
+
|
|
31
|
+
The hosted server also exposes the same premium contracts as public, machine-readable JSON:
|
|
32
|
+
|
|
33
|
+
| Endpoint | Purpose |
|
|
34
|
+
| --- | --- |
|
|
35
|
+
| `/premium/catalog.json` | Full premium plugin catalog with provider readiness, pricing contracts, stream/webhook/tool capability ids, and private loader guidance. |
|
|
36
|
+
| `/premium/streams.json` | Stream-only discovery for price ticks, quote deltas, registry events, and x402 ledger streams. |
|
|
37
|
+
| `/premium/webhooks.json` | Webhook-only discovery for signed callback subscriptions and event delivery contracts. |
|
|
38
|
+
|
|
39
|
+
These endpoints are discovery-only. They do not activate paid streams, execute private plugins, expose provider secrets, or return live provider data while readiness is false.
|
|
40
|
+
|
|
41
|
+
## Provider Readiness
|
|
42
|
+
|
|
43
|
+
Capabilities that depend on external streaming or webhook infrastructure include explicit provider env vars. If a required env var is missing, the capability returns:
|
|
44
|
+
|
|
45
|
+
```txt
|
|
46
|
+
status: requires-provider
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Agents must not attempt paid activation when provider readiness is false. They should tell the user that the capability is contract-ready but not live on this deployment.
|
|
50
|
+
|
|
51
|
+
## Built-In Premium Contracts
|
|
52
|
+
|
|
53
|
+
The open catalog currently defines contract-level manifests for:
|
|
54
|
+
|
|
55
|
+
| Plugin | Capability Examples |
|
|
56
|
+
| --- | --- |
|
|
57
|
+
| `sap-premium-market-data` | Jupiter quote deltas, Pyth price ticks, price threshold webhooks. |
|
|
58
|
+
| `sap-premium-trading-streams` | Cross-DEX arbitrage scanning, volatility breakout detection, MEV-protected route optimization. |
|
|
59
|
+
| `sap-premium-meme-radar` | New listing alerts, social sentiment, rugpull risk, DEX volume anomalies. |
|
|
60
|
+
| `sap-premium-tech-fundamentals` | GitHub activity spikes, TVL changes, tokenomics analysis. |
|
|
61
|
+
|
|
62
|
+
These are not mock feeds. They are typed contracts that become live only when the corresponding provider env is configured.
|
|
63
|
+
|
|
64
|
+
## Private Enterprise Plugins
|
|
65
|
+
|
|
66
|
+
Enterprise/private plugin code should live outside the public repository. The public server exposes the contract and validation path only.
|
|
67
|
+
|
|
68
|
+
Supported loader env contract:
|
|
69
|
+
|
|
70
|
+
```txt
|
|
71
|
+
SAP_MCP_ENABLE_PREMIUM_PLUGINS=true
|
|
72
|
+
SAP_MCP_PLUGIN_DIR=/secure/path/to/private/plugins
|
|
73
|
+
SAP_MCP_PREMIUM_EXPOSE_PRIVATE_DISCOVERY=false
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
Private plugins must provide manifests that pass:
|
|
77
|
+
|
|
78
|
+
```txt
|
|
79
|
+
sap_premium_validate_plugin_manifest
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
The runtime loads private manifests as data only from the configured directory.
|
|
83
|
+
It does not execute plugin code supplied through MCP tool input. Private and
|
|
84
|
+
enterprise manifests are not exposed in public catalog responses unless
|
|
85
|
+
`SAP_MCP_PREMIUM_EXPOSE_PRIVATE_DISCOVERY=true` is set deliberately, which
|
|
86
|
+
should be reserved for authenticated or explicitly shared deployments.
|
|
87
|
+
|
|
88
|
+
Use `sap_premium_plugin_template` to generate a starter manifest, then store the
|
|
89
|
+
reviewed JSON in the private plugin subrepo under `manifests/`. Plugging and
|
|
90
|
+
unplugging a private capability is a file/deploy operation: add or remove the
|
|
91
|
+
manifest, validate it, and restart the hosted server with the intended env.
|
|
92
|
+
|
|
93
|
+
## Agent Flow
|
|
94
|
+
|
|
95
|
+
Recommended agent behavior:
|
|
96
|
+
|
|
97
|
+
1. Call `sap_premium_plugin_catalog` with `includeSchemas:true`.
|
|
98
|
+
2. Use `sap_stream_catalog` or `sap_webhook_catalog` to pick an exact capability id.
|
|
99
|
+
3. Check `providerStatus` and the capability-level `providerReady` boolean.
|
|
100
|
+
4. Call `sap_premium_session_start` to get a bounded session plan and estimated price.
|
|
101
|
+
5. Activate only through the future paid delivery rail when provider readiness is true.
|
|
102
|
+
6. Bind x402/pay.sh receipt, session id, plugin id, capability id, and event ids in the audit output.
|
|
103
|
+
|
|
104
|
+
If the provider is not ready, stop cleanly and do not request payment.
|
|
105
|
+
|
|
106
|
+
## Why This Matters
|
|
107
|
+
|
|
108
|
+
Agent commerce needs more than one-shot tools. Trading agents, research agents, protocol monitors, and marketplace agents need fast event access with clear payment boundaries. SAP MCP premium plugins create the contract layer for that: typed schemas, bounded sessions, x402/pay.sh pricing, signed delivery, and enterprise provider isolation.
|
package/docs/README.md
CHANGED
|
@@ -65,6 +65,7 @@ For paid/write hosted tools, also configure the local `sap_payments` bridge. The
|
|
|
65
65
|
- [Payments: x402 And pay.sh](user/03_PAYMENTS_X402_PAYSH.md)
|
|
66
66
|
- [Smithery And MCP Marketplaces](user/07_SMITHERY_AND_MARKETPLACES.md)
|
|
67
67
|
- [SAP Agent Identity Pipeline](16_SAP_AGENT_IDENTITY_PIPELINE.md)
|
|
68
|
+
- [Premium Plugin Runtime](18_PREMIUM_PLUGIN_RUNTIME.md)
|
|
68
69
|
|
|
69
70
|
## What The Hosted Server Provides
|
|
70
71
|
|
|
@@ -118,6 +119,7 @@ Read these first:
|
|
|
118
119
|
6. [Configuration And Wizard](03_CONFIGURATION_AND_WIZARD.md)
|
|
119
120
|
7. [Endpoints And Clients](07_ENDPOINTS_AND_CLIENTS.md)
|
|
120
121
|
8. [SAP Agent Identity Pipeline](16_SAP_AGENT_IDENTITY_PIPELINE.md)
|
|
122
|
+
9. [Premium Plugin Runtime](18_PREMIUM_PLUGIN_RUNTIME.md)
|
|
121
123
|
|
|
122
124
|
## Public Endpoints
|
|
123
125
|
|
|
@@ -127,6 +129,16 @@ Read these first:
|
|
|
127
129
|
| `GET /docs` | This documentation site. |
|
|
128
130
|
| `POST /mcp` | Streamable HTTP MCP endpoint for agents. |
|
|
129
131
|
| `GET /server.json` | Public, secret-free machine-readable server metadata. |
|
|
132
|
+
| `GET /premium/catalog.json` | Public premium plugin contracts, pricing models, schemas, and provider readiness. |
|
|
133
|
+
| `GET /premium/streams.json` | Public premium stream contracts for future x402/pay.sh real-time delivery rails. |
|
|
134
|
+
| `GET /premium/webhooks.json` | Public premium webhook contracts with signed delivery expectations. |
|
|
135
|
+
|
|
136
|
+
Premium plugin authors can use `sap_premium_plugin_template` and
|
|
137
|
+
`sap_premium_validate_plugin_manifest` to build strict data-only contracts,
|
|
138
|
+
then deploy reviewed manifests from a private plugin directory. The public
|
|
139
|
+
server never executes plugin code supplied through MCP input and does not expose
|
|
140
|
+
private/enterprise manifests unless the operator explicitly enables private
|
|
141
|
+
discovery.
|
|
130
142
|
| `GET /smithery.config.schema.json` | Optional Smithery setup schema for free discovery, native x402 clients, and local `sap_payments` bridge users. |
|
|
131
143
|
| `GET /.well-known/agent-card.json` | A2A-style agent card. |
|
|
132
144
|
| `GET /.well-known/sap-mcp-wizard.json` | Wizard install descriptor for agents that cannot see local config. |
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oobe-protocol-labs/sap-mcp-server",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.20",
|
|
4
4
|
"mcpName": "ai.oobeprotocol.sap.mcp/sap-mcp",
|
|
5
5
|
"description": "Official MCP gateway for OOBE Protocol SAP — AI agents can interact with SAP identity, registry, reputation, tools, memory, payments, settlement, and proof-of-execution on Solana",
|
|
6
6
|
"type": "module",
|
|
@@ -145,16 +145,15 @@
|
|
|
145
145
|
"engines": {
|
|
146
146
|
"node": ">=22.12.0"
|
|
147
147
|
},
|
|
148
|
-
"packageManager": "pnpm@11.7.0",
|
|
149
148
|
"overrides": {
|
|
150
|
-
"
|
|
151
|
-
"
|
|
152
|
-
"
|
|
153
|
-
"
|
|
154
|
-
"js-yaml@>=4.0.0 <4.3.0": "4.3.0",
|
|
149
|
+
"@hono/node-server": "2.0.10",
|
|
150
|
+
"body-parser": "1.20.6",
|
|
151
|
+
"fast-uri": "3.1.4",
|
|
152
|
+
"hono": "4.12.27",
|
|
155
153
|
"langsmith": "^0.6.0",
|
|
154
|
+
"postcss": "8.5.18",
|
|
156
155
|
"uuid": "^11.1.1",
|
|
157
|
-
"vite": "8.1.0",
|
|
158
156
|
"ws": "^8.21.0"
|
|
159
|
-
}
|
|
157
|
+
},
|
|
158
|
+
"packageManager": "pnpm@11.7.0"
|
|
160
159
|
}
|
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.9.
|
|
6
|
+
"version": "0.9.20",
|
|
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.9.
|
|
32
|
+
"version": "0.9.20",
|
|
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.9.
|
|
48
|
+
"value": "@oobe-protocol-labs/sap-mcp-server@0.9.20"
|
|
49
49
|
},
|
|
50
50
|
{
|
|
51
51
|
"type": "positional",
|
|
@@ -76,6 +76,12 @@ state, global directory listing, and agent profile inspection.
|
|
|
76
76
|
- After `sap_payments_update_agent`, fetch the agent profile again and verify
|
|
77
77
|
the changed fields. For image/profile updates, `agentUri` or `metadataUri`
|
|
78
78
|
must resolve to public metadata containing the image URL.
|
|
79
|
+
- If `sap_payments_update_agent` returns Anchor 3012, `AccountNotInitialized`,
|
|
80
|
+
or mentions `pricing_menu`, do not run runtime repair and do not retry the
|
|
81
|
+
same write. This means the write reached the SAP on-chain program but a
|
|
82
|
+
required registry lifecycle PDA is missing or stale. Call
|
|
83
|
+
`sap_agent_next_action` and `sap_protocol_invariants`, then upgrade the
|
|
84
|
+
SDK/server or use the initializer path before retrying.
|
|
79
85
|
- For full agent identity setup, follow
|
|
80
86
|
`docs/16_SAP_AGENT_IDENTITY_PIPELINE.md`: SAP registration first, optional
|
|
81
87
|
Metaplex/MPL Core identity, optional SNS domain and records, then a final SAP
|
package/skills/sap-mcp/SKILL.md
CHANGED
|
@@ -12,6 +12,12 @@ available, then call `sap_agent_runtime_status` with the closest intent and
|
|
|
12
12
|
`sap_skills_bundle` with `includeContents: true`. Load the returned SAP MCP
|
|
13
13
|
skill contents into context before selecting advanced tools.
|
|
14
14
|
|
|
15
|
+
If the MCP runtime exposes prompts, use `sap-agent-intent-router` as the compact
|
|
16
|
+
decision prompt before paid calls, registry writes, escrow flows, identity
|
|
17
|
+
updates, or after SAP/x402/MCP errors. It routes the user intent to hosted
|
|
18
|
+
reads, `sap_payments_*`, unsigned builders, transaction finalization, or repair
|
|
19
|
+
without requiring a long pasted prompt from the user.
|
|
20
|
+
|
|
15
21
|
Always inspect runtime context through MCP tools, not by reading config files:
|
|
16
22
|
|
|
17
23
|
1. `sap_agent_start`
|
|
@@ -47,6 +53,10 @@ and error strings unchanged.
|
|
|
47
53
|
|
|
48
54
|
## Discovery Rules
|
|
49
55
|
|
|
56
|
+
- Treat SAP registry, balances, SNS ownership, quotes, settlement status, and
|
|
57
|
+
agent profile reads as fresh data. Do not rely on old chat memory when the
|
|
58
|
+
user asks for current state; use exact lightweight reads first, then paid
|
|
59
|
+
discovery only when enrichment or broad search is needed.
|
|
50
60
|
- Use free exact/base reads first when the wallet, PDA, or a small orientation
|
|
51
61
|
page is enough: `sap_agent_context`, `sap_get_agent`, `sap_get_agent_profile`,
|
|
52
62
|
`sap_get_agent_stats`, `sap_is_agent_active`, `sap_get_global_state`, and
|
|
@@ -175,10 +185,19 @@ Use `sap_payments.sap_payments_profile_current` only as a narrower compatibility
|
|
|
175
185
|
profile check.
|
|
176
186
|
|
|
177
187
|
Basic wallet reads are free on hosted SAP MCP. Call `sol_get_balance`,
|
|
178
|
-
`spl-token_getBalance`,
|
|
179
|
-
server. Do not send these balance checks through
|
|
180
|
-
and do not summarize a balance read as a
|
|
181
|
-
problem unless a paid tool actually returned
|
|
188
|
+
`spl-token_getBalance`, `spl-token_getTokenAccounts`, and `magicblock_balance`
|
|
189
|
+
directly on the hosted server. Do not send these balance checks through
|
|
190
|
+
`sap_payments_call_paid_tool`, and do not summarize a balance read as a
|
|
191
|
+
facilitator `BlockhashNotFound` problem unless a paid tool actually returned
|
|
192
|
+
that error. Use `jupiter_getHoldings` only when the user needs enriched paid
|
|
193
|
+
portfolio context.
|
|
194
|
+
|
|
195
|
+
Before any paid tool call, use `sap_estimate_tool_cost` with the tool name to
|
|
196
|
+
get the exact pricing tier, estimated USD cost, and recommended `maxPriceUsd`.
|
|
197
|
+
This prevents silent cap aborts and failed x402 attempts on local-signer-only
|
|
198
|
+
tools. For local-signer-only tools (e.g. `sap_register_agent`), the estimate
|
|
199
|
+
will say `tier: "local-signer-only"` and tell you to use the local
|
|
200
|
+
`sap_payments_*` equivalent instead of `sap_payments_call_paid_tool`.
|
|
182
201
|
|
|
183
202
|
If a hosted paid tool returns `BlockhashNotFound`,
|
|
184
203
|
`transaction_simulation_failed`, `smart_wallet_simulation_failed`, `node is
|
|
@@ -220,6 +239,10 @@ and protocol fee invariant were verified. If `success` is false while
|
|
|
220
239
|
protocol registration lifecycle is not complete. After
|
|
221
240
|
`sap_payments_update_agent`, fetch the agent again and confirm the changed
|
|
222
241
|
fields before saying an image, metadata, pricing, or capability update is done.
|
|
242
|
+
If an update returns Anchor 3012, `AccountNotInitialized`, or `pricing_menu`, do
|
|
243
|
+
not call runtime repair or retry the same write. Route it through
|
|
244
|
+
`sap_agent_next_action` and `sap_protocol_invariants`; it is an SAP on-chain
|
|
245
|
+
registry lifecycle issue, not a missing local bridge.
|
|
223
246
|
|
|
224
247
|
Before any write-like operation, use this routing order:
|
|
225
248
|
|
|
@@ -201,7 +201,10 @@ Protocol routing shortcuts:
|
|
|
201
201
|
|
|
202
202
|
| User intent | Most specific tools |
|
|
203
203
|
| --- | --- |
|
|
204
|
-
| SOL or SPL balance | `sol_get_balance`, `spl-token_getBalance`, `spl-token_getTokenAccounts` |
|
|
204
|
+
| SOL or SPL balance (free) | `sol_get_balance`, `spl-token_getBalance`, `spl-token_getTokenAccounts`, `magicblock_balance` |
|
|
205
|
+
| Enriched holdings (paid read-premium) | `jupiter_getHoldings` |
|
|
206
|
+
| Pre-call cost estimate (free) | `sap_estimate_tool_cost` |
|
|
207
|
+
| Pricing catalog (free) | `sap_pricing_catalog` |
|
|
205
208
|
| SOL or SPL transfer | `spl-token_transferSol`, `spl-token_transfer` |
|
|
206
209
|
| Token launch/mint/burn | `spl-token_deployToken`, `spl-token_mintTo`, `spl-token_burn` |
|
|
207
210
|
| Jupiter quote/swap | `jupiter_getQuote`, `jupiter_smartSwap`, `jupiter_swap`, `jupiter_swapInstructions` |
|
|
@@ -46,9 +46,13 @@ or external signer.
|
|
|
46
46
|
|
|
47
47
|
- Free: `tools/list`, `prompts/list`, `resources/list`, `sap_profile_current`,
|
|
48
48
|
`sap_agent_start`, `sap_agent_runtime_status`, `sap_agent_context`,
|
|
49
|
-
`sap_agent_next_action`,
|
|
50
|
-
`sap_list_agents` pages with
|
|
51
|
-
`
|
|
49
|
+
`sap_agent_next_action`, `sap_estimate_tool_cost`, `sap_pricing_catalog`,
|
|
50
|
+
exact SAP agent/profile reads, compact `sap_list_agents` pages with
|
|
51
|
+
`limit <= 20`, `sap_get_network_overview`, core balance checks
|
|
52
|
+
(`sol_get_balance`, `spl-token_getBalance`, `spl-token_getTokenAccounts`,
|
|
53
|
+
`spl-token_getMint`, `spl-token_getSupply`, `magicblock_balance`,
|
|
54
|
+
`sap_x402_get_balance`). Enriched holdings such as `jupiter_getHoldings`
|
|
55
|
+
are paid read-premium.
|
|
52
56
|
- Read premium: `sap_discover_agents`, `sap_list_all_agents`, full/enriched or
|
|
53
57
|
large `sap_list_agents` pages, indexed discovery, network stats,
|
|
54
58
|
protocol/capability indexes.
|
|
@@ -73,16 +77,26 @@ For fast x402 execution:
|
|
|
73
77
|
change, but the tool name and arguments must match the challenge.
|
|
74
78
|
3. Use `PAYMENT-SIGNATURE` first; use `X-PAYMENT` only for clients that require
|
|
75
79
|
the alternate header.
|
|
76
|
-
4. Cache
|
|
77
|
-
|
|
80
|
+
4. Cache only static MCP surface metadata such as `tools/list`, `prompts/list`,
|
|
81
|
+
and `resources/list` inside the runtime when useful. Do not cache on-chain
|
|
82
|
+
balances, SAP agent rows, pricing, SNS ownership, quotes, or settlement
|
|
83
|
+
state when the user expects fresh data.
|
|
78
84
|
5. Treat `PAYMENT-RESPONSE` as the receipt bound to the tool output.
|
|
79
85
|
6. If the client runtime cannot sign or attach x402 payment headers itself, use
|
|
80
86
|
the local SAP MCP `sap_payments_call_paid_tool` bridge configured by the SAP
|
|
81
87
|
MCP wizard instead of falling back to local stdio automatically.
|
|
82
88
|
|
|
83
|
-
Do not use x402 for
|
|
84
|
-
`spl-token_getBalance`,
|
|
85
|
-
and
|
|
89
|
+
Do not use x402 for core balance reads. `sol_get_balance`,
|
|
90
|
+
`spl-token_getBalance`, `spl-token_getTokenAccounts`, `magicblock_balance`,
|
|
91
|
+
and `sap_x402_get_balance` are free hosted tools and should be called directly
|
|
92
|
+
through the remote SAP MCP connection. Use `jupiter_getHoldings` only when the
|
|
93
|
+
user needs enriched paid portfolio context. Always verify USDC and SOL balances
|
|
94
|
+
before attempting paid calls — an agent without USDC cannot make paid calls.
|
|
95
|
+
|
|
96
|
+
Before any paid tool call, use `sap_estimate_tool_cost` with the tool name to
|
|
97
|
+
get the exact tier, estimated USD cost, and recommended `maxPriceUsd`. This
|
|
98
|
+
prevents silent cap aborts and avoids wasting x402 attempts on local-signer-only
|
|
99
|
+
tools that never issue a 402 challenge.
|
|
86
100
|
|
|
87
101
|
When available locally, call `sap_payments_call_paid_tool` with `toolName`,
|
|
88
102
|
`arguments`, `maxPriceUsd`, and `confirm: true`. It initializes the hosted MCP
|