@oobe-protocol-labs/sap-mcp-server 0.9.1 → 0.9.3
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 +732 -1
- package/README.md +9 -3
- package/USER_DOCS/00_START_HERE.md +51 -4
- package/USER_DOCS/01_HOSTED_REMOTE_MCP.md +1 -1
- package/USER_DOCS/03_PAYMENTS_X402_PAYSH.md +32 -3
- package/USER_DOCS/04_CLIENT_CONFIGS.md +14 -7
- package/USER_DOCS/05_SKILLS_AND_TOOLS.md +68 -8
- package/USER_DOCS/06_DESKTOP_GUI_WIZARD.md +20 -14
- package/USER_DOCS/07_SMITHERY_AND_MARKETPLACES.md +7 -0
- package/config.example.json +5 -4
- package/config.schema.json +9 -4
- 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 +232 -25
- package/dist/adapters/mcp/sdk-compat.js.map +1 -1
- package/dist/adapters/mcp/tool-response.d.ts +51 -3
- package/dist/adapters/mcp/tool-response.d.ts.map +1 -1
- package/dist/adapters/mcp/tool-response.js +48 -3
- 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 +15 -10
- 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 +136 -33
- package/dist/config/mcp-client-injection.js.map +1 -1
- package/dist/config/paths.d.ts +14 -1
- package/dist/config/paths.d.ts.map +1 -1
- package/dist/config/paths.js +20 -1
- 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/wizard.d.ts +6 -0
- package/dist/config/wizard.d.ts.map +1 -1
- package/dist/config/wizard.js +102 -18
- package/dist/config/wizard.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 +14 -1
- package/dist/config-cli.js.map +1 -1
- package/dist/core/constants.d.ts +38 -6
- package/dist/core/constants.d.ts.map +1 -1
- package/dist/core/constants.js +49 -6
- 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/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/memory/async-processor.d.ts +107 -0
- package/dist/memory/async-processor.d.ts.map +1 -0
- package/dist/memory/async-processor.js +204 -0
- package/dist/memory/async-processor.js.map +1 -0
- package/dist/memory/auto-record.d.ts +47 -0
- package/dist/memory/auto-record.d.ts.map +1 -0
- package/dist/memory/auto-record.js +133 -0
- package/dist/memory/auto-record.js.map +1 -0
- package/dist/memory/database.d.ts +103 -0
- package/dist/memory/database.d.ts.map +1 -0
- package/dist/memory/database.js +337 -0
- package/dist/memory/database.js.map +1 -0
- package/dist/memory/hermes-bridge.d.ts +70 -0
- package/dist/memory/hermes-bridge.d.ts.map +1 -0
- package/dist/memory/hermes-bridge.js +155 -0
- package/dist/memory/hermes-bridge.js.map +1 -0
- package/dist/memory/index.d.ts +23 -0
- package/dist/memory/index.d.ts.map +1 -0
- package/dist/memory/index.js +22 -0
- package/dist/memory/index.js.map +1 -0
- package/dist/memory/memory-store.d.ts +76 -0
- package/dist/memory/memory-store.d.ts.map +1 -0
- package/dist/memory/memory-store.js +231 -0
- package/dist/memory/memory-store.js.map +1 -0
- package/dist/memory/stream-buffer-store.d.ts +69 -0
- package/dist/memory/stream-buffer-store.d.ts.map +1 -0
- package/dist/memory/stream-buffer-store.js +182 -0
- package/dist/memory/stream-buffer-store.js.map +1 -0
- package/dist/memory/tool-call-store.d.ts +68 -0
- package/dist/memory/tool-call-store.d.ts.map +1 -0
- package/dist/memory/tool-call-store.js +189 -0
- package/dist/memory/tool-call-store.js.map +1 -0
- package/dist/memory/types.d.ts +197 -0
- package/dist/memory/types.d.ts.map +1 -0
- package/dist/memory/types.js +15 -0
- package/dist/memory/types.js.map +1 -0
- package/dist/memory/utils.d.ts +30 -0
- package/dist/memory/utils.d.ts.map +1 -0
- package/dist/memory/utils.js +47 -0
- package/dist/memory/utils.js.map +1 -0
- 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 +22 -0
- package/dist/payments/hosted-tool-eligibility.d.ts.map +1 -0
- package/dist/payments/hosted-tool-eligibility.js +173 -0
- package/dist/payments/hosted-tool-eligibility.js.map +1 -0
- package/dist/payments/index.d.ts +2 -2
- package/dist/payments/index.d.ts.map +1 -1
- package/dist/payments/index.js +1 -1
- package/dist/payments/index.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 +33 -0
- package/dist/payments/monetization-gate.d.ts.map +1 -1
- package/dist/payments/monetization-gate.js +124 -12
- package/dist/payments/monetization-gate.js.map +1 -1
- package/dist/payments/pricing.d.ts +31 -0
- package/dist/payments/pricing.d.ts.map +1 -1
- package/dist/payments/pricing.js +317 -19
- 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 +121 -0
- package/dist/payments/x402-paid-call.d.ts.map +1 -1
- package/dist/payments/x402-paid-call.js +428 -1
- 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 +165 -0
- package/dist/premium/builtin-plugins.d.ts.map +1 -0
- package/dist/premium/builtin-plugins.js +422 -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 +133 -0
- package/dist/premium/provider-bridge.d.ts.map +1 -0
- package/dist/premium/provider-bridge.js +349 -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 +138 -0
- package/dist/premium/webhook-engine.d.ts.map +1 -0
- package/dist/premium/webhook-engine.js +516 -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 +20 -16
- 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 +7 -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 +16 -14
- 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 +22 -23
- 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 +347 -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 +23 -4
- package/dist/remote/public-home/sections.js.map +1 -1
- package/dist/remote/public-home/types.d.ts +9 -0
- package/dist/remote/public-home/types.d.ts.map +1 -1
- package/dist/remote/server.d.ts +20 -0
- package/dist/remote/server.d.ts.map +1 -1
- package/dist/remote/server.js +370 -9
- 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 +38 -6
- 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/tool-permissions.d.ts.map +1 -1
- package/dist/security/tool-permissions.js +12 -0
- package/dist/security/tool-permissions.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 +20 -4
- 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 +35 -1
- package/dist/server/server-metadata.d.ts.map +1 -1
- package/dist/server/server-metadata.js +36 -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 +19 -3
- package/dist/signer/local-keypair-signer.d.ts.map +1 -1
- package/dist/signer/local-keypair-signer.js +24 -4
- 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/strategies/strategy-store.d.ts +82 -0
- package/dist/strategies/strategy-store.d.ts.map +1 -0
- package/dist/strategies/strategy-store.js +165 -0
- package/dist/strategies/strategy-store.js.map +1 -0
- package/dist/tools/agent-start-tool.d.ts.map +1 -1
- package/dist/tools/agent-start-tool.js +481 -5
- 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 +32 -7
- 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 +8 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +11 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/magicblock-tools.d.ts +31 -6
- package/dist/tools/magicblock-tools.d.ts.map +1 -1
- package/dist/tools/magicblock-tools.js +178 -53
- package/dist/tools/magicblock-tools.js.map +1 -1
- package/dist/tools/memory-tools.d.ts +26 -0
- package/dist/tools/memory-tools.d.ts.map +1 -0
- package/dist/tools/memory-tools.js +533 -0
- package/dist/tools/memory-tools.js.map +1 -0
- 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 +1102 -0
- package/dist/tools/premium-tools.js.map +1 -0
- package/dist/tools/profile-tools.d.ts.map +1 -1
- package/dist/tools/profile-tools.js +18 -1
- package/dist/tools/profile-tools.js.map +1 -1
- package/dist/tools/quick-context-tool.d.ts +16 -0
- package/dist/tools/quick-context-tool.d.ts.map +1 -0
- package/dist/tools/quick-context-tool.js +304 -0
- package/dist/tools/quick-context-tool.js.map +1 -0
- package/dist/tools/register-tools.d.ts.map +1 -1
- package/dist/tools/register-tools.js +17 -0
- package/dist/tools/register-tools.js.map +1 -1
- package/dist/tools/sap-sdk-tools.d.ts +420 -1
- package/dist/tools/sap-sdk-tools.d.ts.map +1 -1
- package/dist/tools/sap-sdk-tools.js +1548 -127
- package/dist/tools/sap-sdk-tools.js.map +1 -1
- package/dist/tools/sap-sns-tools.d.ts +2 -2
- package/dist/tools/sap-sns-tools.d.ts.map +1 -1
- package/dist/tools/sap-sns-tools.js +12 -8
- package/dist/tools/sap-sns-tools.js.map +1 -1
- package/dist/tools/skills-tools.d.ts +16 -0
- package/dist/tools/skills-tools.d.ts.map +1 -1
- package/dist/tools/skills-tools.js +282 -5
- package/dist/tools/skills-tools.js.map +1 -1
- package/dist/tools/tool-aliases.d.ts.map +1 -1
- package/dist/tools/tool-aliases.js +7 -0
- package/dist/tools/tool-aliases.js.map +1 -1
- package/dist/tools/transaction-tools.d.ts +135 -0
- package/dist/tools/transaction-tools.d.ts.map +1 -1
- package/dist/tools/transaction-tools.js +515 -16
- package/dist/tools/transaction-tools.js.map +1 -1
- package/dist/tools/x402-paid-call-tool.d.ts.map +1 -1
- package/dist/tools/x402-paid-call-tool.js +756 -23
- 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/dist/wizard-core/desktop-flow.d.ts.map +1 -1
- package/dist/wizard-core/desktop-flow.js +4 -2
- package/dist/wizard-core/desktop-flow.js.map +1 -1
- package/docs/03_CONFIGURATION_AND_WIZARD.md +5 -3
- package/docs/06_PAYMENTS_X402_AND_PAYSH.md +82 -4
- package/docs/07_ENDPOINTS_AND_CLIENTS.md +7 -3
- package/docs/09_TOOLS_SKILLS_AND_AGENT_GUIDE.md +21 -3
- package/docs/14_DESKTOP_WIZARD_RELEASE.md +8 -6
- package/docs/16_SAP_AGENT_IDENTITY_PIPELINE.md +304 -0
- package/docs/18_PREMIUM_PLUGIN_RUNTIME.md +108 -0
- package/docs/BRANCH_AND_CI.md +67 -0
- package/docs/README.md +19 -2
- package/docs/magicblock-tools.md +70 -29
- package/package.json +10 -6
- package/server.json +3 -3
- package/skills/README.md +12 -2
- package/skills/sap-agent-registry/SKILL.md +99 -4
- package/skills/sap-defi/SKILL.md +8 -4
- package/skills/sap-discovery-indexing/SKILL.md +26 -4
- package/skills/sap-escrow-settlement/SKILL.md +22 -4
- package/skills/sap-mcp/SKILL.md +140 -22
- package/skills/sap-mcp/TOOL_REFERENCE.md +47 -7
- package/skills/sap-nft-metaplex/SKILL.md +22 -0
- package/skills/sap-operations/SKILL.md +32 -3
- package/skills/sap-payments-x402/SKILL.md +85 -8
- package/skills/sap-sns/SKILL.md +32 -10
- package/smithery.config.schema.json +7 -0
|
@@ -18,16 +18,38 @@ indexes, and filtered agent discovery.
|
|
|
18
18
|
|
|
19
19
|
## Rules
|
|
20
20
|
|
|
21
|
-
-
|
|
22
|
-
-
|
|
23
|
-
`
|
|
21
|
+
- Start with free orientation when possible:
|
|
22
|
+
- `sap_agent_context` for a one-shot compact context read and routing hints.
|
|
23
|
+
- `sap_get_agent` or `sap_get_agent_profile` for a known owner wallet.
|
|
24
|
+
- `sap_is_agent_active` for a known owner wallet status check.
|
|
25
|
+
- `sap_get_global_state` for compact registry state.
|
|
26
|
+
- `sap_list_agents` with `limit <= 20`, `view: "compact"`, and
|
|
27
|
+
`includeProtocolIndexes: false` for a small current directory page.
|
|
28
|
+
- Use `sap_discover_agents` for paid hosted agent directory search. It supports
|
|
29
|
+
`query`, `wallet`, `agentPda`, `protocol`, `capability`, `capabilities`,
|
|
30
|
+
`capabilityMode`, `hasX402Endpoint`, `limit`, `cursor`, and `view`.
|
|
31
|
+
- Use `sap_list_all_agents` for global directory requests or when the user asks
|
|
32
|
+
for the whole SAP ecosystem. Keep the first page small and follow
|
|
33
|
+
`pagination.nextCursor` only when the previous page is useful.
|
|
34
|
+
- Use paid discovery only when the user needs search, enrichment, full rows,
|
|
35
|
+
large pages, analytics, or global enumeration beyond the free compact page.
|
|
36
|
+
- Prefer exact filters before broad scans: `wallet` when a wallet is known,
|
|
37
|
+
`query` for an agent name such as `XONA`, and `capability` for one exact
|
|
38
|
+
capability such as `creative:imageGeneration`.
|
|
24
39
|
- Use `sap_fetch_protocol_index` when the protocol ID is known.
|
|
25
40
|
- Use `sap_fetch_capability_index` when the capability ID is known.
|
|
41
|
+
- If a capability-filtered lookup returns zero results, retry with `query` or
|
|
42
|
+
`wallet` before claiming the agent does not exist; capability indexes can lag
|
|
43
|
+
the canonical AgentAccount directory.
|
|
26
44
|
- Do not guess that global enumeration is impossible; try `sap_list_all_agents`
|
|
27
|
-
first.
|
|
45
|
+
first and report the exact failure if it fails.
|
|
46
|
+
- If discovery hits `payment_required`, a transient RPC error, or a missing
|
|
47
|
+
local bridge, call `sap_agent_next_action` before retrying or changing route.
|
|
28
48
|
|
|
29
49
|
## Common Inputs
|
|
30
50
|
|
|
31
51
|
- Protocol IDs: `sap`, `jupiter`, `pyth`, `sns`, `mcp-v1`, or the exact
|
|
32
52
|
protocol ID returned by protocol indexes.
|
|
33
53
|
- Capability IDs usually use namespaced form such as `jupiter:swap`.
|
|
54
|
+
- For x402-enabled agents, set `hasX402Endpoint: true` and use `view:
|
|
55
|
+
"compact"` until the user selects one row.
|
|
@@ -7,6 +7,17 @@ new work.
|
|
|
7
7
|
|
|
8
8
|
## Tools
|
|
9
9
|
|
|
10
|
+
Hosted unsigned builders:
|
|
11
|
+
|
|
12
|
+
- `sap_escrow_build_create_transaction`
|
|
13
|
+
- `sap_escrow_build_deposit_transaction`
|
|
14
|
+
- `sap_escrow_build_settle_transaction`
|
|
15
|
+
- `sap_escrow_build_finalize_transaction`
|
|
16
|
+
- `sap_escrow_build_withdraw_transaction`
|
|
17
|
+
- `sap_escrow_build_close_transaction`
|
|
18
|
+
|
|
19
|
+
Local-signer direct writes:
|
|
20
|
+
|
|
10
21
|
- `sap_create_escrow_v2`
|
|
11
22
|
- `sap_deposit_escrow_v2`
|
|
12
23
|
- `sap_settle_escrow_v2`
|
|
@@ -26,13 +37,20 @@ recommend V1 create, deposit, settle, withdraw, close, or batch-settle flows.
|
|
|
26
37
|
## Flow
|
|
27
38
|
|
|
28
39
|
1. Fetch V2 escrow state before mutating it.
|
|
29
|
-
2.
|
|
30
|
-
|
|
40
|
+
2. In hosted SAP MCP, never call direct escrow write tools after
|
|
41
|
+
`hosted_local_signer_required`. Use the matching
|
|
42
|
+
`sap_escrow_build_*_transaction` tool, then finalize the unsigned
|
|
43
|
+
transaction locally with `sap_payments_finalize_transaction`.
|
|
44
|
+
3. In local SAP MCP stdio mode, direct write tools can sign through the active
|
|
45
|
+
local SAP profile. Do not read keypair JSON or create temporary signing
|
|
46
|
+
scripts.
|
|
47
|
+
4. For V2 settlement, inspect pending settlement and dispute state.
|
|
48
|
+
5. Explain amount, depositor, agent PDA, nonce, settlement index, and dispute
|
|
31
49
|
effect before write tools.
|
|
32
|
-
|
|
50
|
+
6. Treat `settlementSecurity = 2` / DisputeWindow as the safe default.
|
|
33
51
|
Use `settlementSecurity = 1` / CoSigned only when a valid `coSigner` is
|
|
34
52
|
provided. Never default to SelfReport / `0`.
|
|
35
|
-
|
|
53
|
+
7. Amounts are always in the smallest unit of the escrow token: lamports for
|
|
36
54
|
SOL, micro-USDC for USDC.
|
|
37
55
|
|
|
38
56
|
## Safety
|
package/skills/sap-mcp/SKILL.md
CHANGED
|
@@ -8,16 +8,37 @@ safe signing behavior.
|
|
|
8
8
|
|
|
9
9
|
If the user says "Start SAP MCP", "Initialize SAP MCP", "Load SAP", or "SAP
|
|
10
10
|
mode", treat it as the activation command. Call `sap_agent_start` when it is
|
|
11
|
-
available, then call `
|
|
12
|
-
the returned SAP MCP
|
|
11
|
+
available, then call `sap_agent_runtime_status` with the closest intent and
|
|
12
|
+
`sap_skills_bundle` with `includeContents: true`. Load the returned SAP MCP
|
|
13
|
+
skill contents into context before selecting advanced tools.
|
|
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.
|
|
13
20
|
|
|
14
21
|
Always inspect runtime context through MCP tools, not by reading config files:
|
|
15
22
|
|
|
16
23
|
1. `sap_agent_start`
|
|
17
|
-
2. `
|
|
18
|
-
3. `
|
|
19
|
-
4. `
|
|
20
|
-
5. `
|
|
24
|
+
2. `sap_agent_runtime_status` with `intent: "connection"`, `"paid-call"`, `"registry-write"`, `"transaction-finalize"`, `"escrow"`, `"identity"`, or `"general"`
|
|
25
|
+
3. `sap_agent_context` for free compact agent/directory orientation before paid discovery
|
|
26
|
+
4. `sap_skills_bundle` with `includeContents: true`
|
|
27
|
+
5. `sap_pricing_catalog` before estimating hosted paid call tiers
|
|
28
|
+
6. `sap_agent_next_action` before retrying after any SAP MCP error or partial write result
|
|
29
|
+
7. `sap_skills_upgrade_plan` when local skills are missing or stale
|
|
30
|
+
8. `sap_runtime_repair_plan` when hosted tools are connected but `sap_payments` is missing
|
|
31
|
+
9. `sap_protocol_invariants` before SAP registry writes or when treasury, protocol fee, hosted write routing, or local signer routing is unclear
|
|
32
|
+
10. `sap_agent_identity_plan` before agent registration, profile-image updates, Metaplex identity, SNS linking, or full identity setup
|
|
33
|
+
11. `sap_profile_current`
|
|
34
|
+
12. `sap_profile_list`
|
|
35
|
+
13. `sap_profile_public_key`
|
|
36
|
+
14. `sap_network_stats`
|
|
37
|
+
|
|
38
|
+
For simple "are you connected?" checks, do not dump tool counts or inspect
|
|
39
|
+
local files. Use `sap_agent_runtime_status` first and answer with the hosted
|
|
40
|
+
endpoint, accountless/non-custodial model, local bridge readiness if visible,
|
|
41
|
+
and the next exact action.
|
|
21
42
|
|
|
22
43
|
The server profile is the source of truth. Environment variables from the MCP
|
|
23
44
|
client must not override profile-owned RPC or wallet settings unless
|
|
@@ -32,12 +53,29 @@ and error strings unchanged.
|
|
|
32
53
|
|
|
33
54
|
## Discovery Rules
|
|
34
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.
|
|
60
|
+
- Use free exact/base reads first when the wallet, PDA, or a small orientation
|
|
61
|
+
page is enough: `sap_agent_context`, `sap_get_agent`, `sap_get_agent_profile`,
|
|
62
|
+
`sap_get_agent_stats`, `sap_is_agent_active`, `sap_get_global_state`, and
|
|
63
|
+
`sap_list_agents` with `limit <= 20`, `view: "compact"`, and
|
|
64
|
+
`includeProtocolIndexes: false`.
|
|
35
65
|
- Use `sap_get_network_overview` for live ecosystem counters.
|
|
66
|
+
- Use `sap_discover_agents` for targeted paid hosted discovery. Prefer
|
|
67
|
+
`query`, `wallet`, `agentPda`, `protocol`, `capability`, `capabilities`,
|
|
68
|
+
`hasX402Endpoint`, and small `limit` values before broad scans.
|
|
36
69
|
- Use `sap_list_all_agents` when the user asks for all current SAP ecosystem
|
|
37
|
-
agents. It performs global on-chain `AgentAccount` enumeration
|
|
38
|
-
|
|
39
|
-
|
|
70
|
+
agents. It performs global on-chain `AgentAccount` enumeration and returns
|
|
71
|
+
`pagination.nextCursor` when more pages are available.
|
|
72
|
+
- Use `sap_list_agents` for a free compact orientation page first. Larger
|
|
73
|
+
pages, `view: "full"`, hydration, protocol index summaries, and global scans
|
|
74
|
+
are paid read-premium.
|
|
40
75
|
- Use `sap_fetch_protocol_index` when a specific protocol ID is known.
|
|
76
|
+
- If a capability lookup returns zero results, retry with `query` or `wallet`
|
|
77
|
+
before saying an agent is absent. AgentAccount rows are canonical; indexes can
|
|
78
|
+
lag.
|
|
41
79
|
- Do not tell the user that all-agent enumeration is impossible unless
|
|
42
80
|
`sap_list_all_agents` fails and you report the exact failure.
|
|
43
81
|
|
|
@@ -61,12 +99,19 @@ Use the bundled routing map for local MCP tool selection:
|
|
|
61
99
|
- `USER_DOCS/05_SKILLS_AND_TOOLS.md`
|
|
62
100
|
|
|
63
101
|
SAP MCP startup and skill bootstrap tools are free context/setup tools. Call
|
|
64
|
-
`sap_agent_start`, `
|
|
65
|
-
`
|
|
66
|
-
|
|
102
|
+
`sap_agent_start`, `sap_agent_runtime_status`, `sap_agent_context`,
|
|
103
|
+
`sap_agent_next_action`, `sap_pricing_catalog`,
|
|
104
|
+
`sap_skills_list`, `sap_skills_bundle`, `sap_skills_upgrade_plan`,
|
|
105
|
+
`sap_runtime_repair_plan`, and local `sap_skills_install` directly. Do not
|
|
106
|
+
route startup, runtime status, pricing catalog, skill listing, bundling,
|
|
107
|
+
upgrade planning, runtime repair planning, or installation through
|
|
108
|
+
`sap_x402_paid_call` or `sap_payments_call_paid_tool`. On hosted remote MCP, use
|
|
67
109
|
`sap_skills_bundle` to download skill contents; the hosted server cannot
|
|
68
110
|
install files onto the caller's local machine. Local installation belongs to the
|
|
69
111
|
wizard, desktop app, addon installer, or a local stdio SAP MCP process.
|
|
112
|
+
If skills or runtime bridge config are stale, call `sap_skills_upgrade_plan` or
|
|
113
|
+
`sap_runtime_repair_plan` first. These tools return the pinned latest-release
|
|
114
|
+
commands and preserve the non-custodial local signing model.
|
|
70
115
|
|
|
71
116
|
## Hosted Remote MCP
|
|
72
117
|
|
|
@@ -114,12 +159,13 @@ actions. The hosted MCP server is not a wallet custodian.
|
|
|
114
159
|
|
|
115
160
|
For hosted paid tools, use the native x402 flow. If the client runtime cannot
|
|
116
161
|
attach `PAYMENT-SIGNATURE` itself, use the local SAP MCP `sap_payments` bridge.
|
|
117
|
-
Call `
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
hosted
|
|
121
|
-
|
|
122
|
-
payload, retry the hosted tool call,
|
|
162
|
+
Call `sap_agent_runtime_status` first for routing, then
|
|
163
|
+
`sap_payments_readiness` to verify the active profile, signer, SOL/USDC
|
|
164
|
+
balance, policy limits, and bridge status. Then call `sap_payments_call_paid_tool`
|
|
165
|
+
for the hosted paid tool. This is not a separate hosted signing plugin: it is
|
|
166
|
+
the local SAP MCP process using the user's configured SAP profile wallet or
|
|
167
|
+
external signer to sign the x402 payment payload, retry the hosted tool call,
|
|
168
|
+
and return the receipt.
|
|
123
169
|
`sap_x402_paid_call` is a backward-compatible alias only for older runtime
|
|
124
170
|
snippets. Neither helper must be treated as a remote hosted signing service.
|
|
125
171
|
|
|
@@ -139,10 +185,19 @@ Use `sap_payments.sap_payments_profile_current` only as a narrower compatibility
|
|
|
139
185
|
profile check.
|
|
140
186
|
|
|
141
187
|
Basic wallet reads are free on hosted SAP MCP. Call `sol_get_balance`,
|
|
142
|
-
`spl-token_getBalance`,
|
|
143
|
-
server. Do not send these balance checks through
|
|
144
|
-
and do not summarize a balance read as a
|
|
145
|
-
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`.
|
|
146
201
|
|
|
147
202
|
If a hosted paid tool returns `BlockhashNotFound`,
|
|
148
203
|
`transaction_simulation_failed`, `smart_wallet_simulation_failed`, `node is
|
|
@@ -155,6 +210,52 @@ and arguments, `confirm: true`, and `maxAttempts: 5` so a fresh payment payload
|
|
|
155
210
|
is created. Use `sap_x402_paid_call` only when a runtime still exposes the
|
|
156
211
|
legacy alias.
|
|
157
212
|
|
|
213
|
+
When a hosted paid/write builder returns `transactionBase64`, `transaction`, or
|
|
214
|
+
another unsigned Solana transaction payload, finalize it locally with
|
|
215
|
+
`sap_payments_finalize_transaction`. Do not call hosted `sap_sign_transaction`
|
|
216
|
+
for a user-owned signer, do not create `.js`/`.mjs` signing scripts, and do not
|
|
217
|
+
read keypair JSON.
|
|
218
|
+
|
|
219
|
+
If hosted SAP MCP returns `hosted_local_signer_required`, no x402 payment was
|
|
220
|
+
charged. The tool requires a local user signature or has no hosted unsigned
|
|
221
|
+
builder yet. For `sap_register_agent`, call
|
|
222
|
+
`sap_payments.sap_payments_register_agent` with the same registration fields and
|
|
223
|
+
`confirm: true`; it runs the SAP registry write through the local signer bridge
|
|
224
|
+
without charging a hosted x402 access fee. For `sap_update_agent`, call
|
|
225
|
+
`sap_payments.sap_payments_update_agent` with the intended replacement fields
|
|
226
|
+
and `confirm: true`; use it for public agent image/profile metadata updates via
|
|
227
|
+
`agentUri` or `metadataUri`. For Escrow V2, call the matching
|
|
228
|
+
`sap_escrow_build_*_transaction` hosted builder and finalize with
|
|
229
|
+
`sap_payments_finalize_transaction`. For other direct writes, do not retry the
|
|
230
|
+
same hosted tool; use the local SAP MCP profile or an unsigned hosted builder
|
|
231
|
+
plus `sap_payments_finalize_transaction` when one exists.
|
|
232
|
+
|
|
233
|
+
For registry lifecycle completion, do not treat a transaction signature alone
|
|
234
|
+
as enough. After `sap_payments_register_agent`, verify `success`,
|
|
235
|
+
`agentRegistered`, `agentPda`, `confirmationStatus`, `protocolComplete`, and
|
|
236
|
+
the returned `protocolFee.status`. `success: true` means both the agent account
|
|
237
|
+
and protocol fee invariant were verified. If `success` is false while
|
|
238
|
+
`agentRegistered` is true, report that the account may exist but the SAP
|
|
239
|
+
protocol registration lifecycle is not complete. After
|
|
240
|
+
`sap_payments_update_agent`, fetch the agent again and confirm the changed
|
|
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.
|
|
246
|
+
|
|
247
|
+
Before any write-like operation, use this routing order:
|
|
248
|
+
|
|
249
|
+
1. Hosted read or paid hosted read: direct hosted tool, or
|
|
250
|
+
`sap_payments_call_paid_tool` when x402 is required.
|
|
251
|
+
2. Hosted unsigned transaction builder: finalize with
|
|
252
|
+
`sap_payments_finalize_transaction` and `submit: true` when the user confirms.
|
|
253
|
+
3. SAP registry registration/update: use `sap_payments_register_agent` or
|
|
254
|
+
`sap_payments_update_agent`; do not retry hosted accountless writes.
|
|
255
|
+
4. External x402 HTTP provider: use `sap_payments_call_external_x402`.
|
|
256
|
+
5. Missing bridge: call `sap_runtime_repair_plan`, then tell the user to run the
|
|
257
|
+
pinned repair command or desktop wizard repair path.
|
|
258
|
+
|
|
158
259
|
When summarizing a hosted connection, use language like:
|
|
159
260
|
"server is non-custodial; user signatures come from the local SAP profile or
|
|
160
261
|
external signer." Avoid saying "signer not configured", "read-only only",
|
|
@@ -170,6 +271,23 @@ the current agent runtime injected every tool as callable. If `tools/list`
|
|
|
170
271
|
works but callable functions are missing, report a runtime reload/injection
|
|
171
272
|
issue and ask the user to restart the runtime.
|
|
172
273
|
|
|
274
|
+
If `sap_payments` tools are missing after the user says the wizard completed,
|
|
275
|
+
call `sap_runtime_repair_plan`. Do not ask the user to manually rebuild their
|
|
276
|
+
runtime config unless the repair plan has already failed or runtime startup logs
|
|
277
|
+
show a concrete package/runtime error.
|
|
278
|
+
|
|
279
|
+
For agent identity work, load the matching focused skills before acting:
|
|
280
|
+
|
|
281
|
+
- register, update, profile image, capability, pricing, or x402 endpoint:
|
|
282
|
+
`sap-agent-registry`
|
|
283
|
+
- NFT-backed identity, MPL Core, Metaplex metadata, creator/collection flows:
|
|
284
|
+
`sap-nft-metaplex`
|
|
285
|
+
- `.sol` domain ownership, records, or primary identity:
|
|
286
|
+
`sap-sns`
|
|
287
|
+
|
|
288
|
+
The canonical field and pipeline reference is
|
|
289
|
+
`docs/16_SAP_AGENT_IDENTITY_PIPELINE.md`. Follow it before registry writes.
|
|
290
|
+
|
|
173
291
|
## Profile Tools
|
|
174
292
|
|
|
175
293
|
| Tool | Purpose |
|
|
@@ -37,7 +37,7 @@ Profile, config, runtime context, and raw transaction lifecycle:
|
|
|
37
37
|
|
|
38
38
|
SAP registry and discovery:
|
|
39
39
|
|
|
40
|
-
`sap_register_agent`, `sap_update_agent`, `sap_deactivate_agent`,
|
|
40
|
+
`sap_protocol_invariants`, `sap_agent_identity_plan`, `sap_register_agent`, `sap_update_agent`, `sap_deactivate_agent`,
|
|
41
41
|
`sap_reactivate_agent`, `sap_close_agent`, `sap_get_agent`,
|
|
42
42
|
`sap_get_agent_profile`, `sap_get_agent_stats`, `sap_get_global_state`,
|
|
43
43
|
`sap_get_network_overview`, `sap_discover_agents`, `sap_list_agents`,
|
|
@@ -49,9 +49,30 @@ SAP registry and discovery:
|
|
|
49
49
|
`sap_deactivate_tool`, `sap_reactivate_tool`,
|
|
50
50
|
`sap_report_tool_invocations`, `sap_report_calls`.
|
|
51
51
|
|
|
52
|
-
Use
|
|
53
|
-
|
|
54
|
-
|
|
52
|
+
Use free exact/base reads before paid discovery when possible:
|
|
53
|
+
`sap_agent_context`, `sap_get_agent`, `sap_get_agent_profile`,
|
|
54
|
+
`sap_get_agent_stats`, `sap_is_agent_active`, `sap_get_global_state`, and
|
|
55
|
+
`sap_list_agents` with `limit <= 20`, `view: "compact"`, and
|
|
56
|
+
`includeProtocolIndexes: false`.
|
|
57
|
+
Use `sap_discover_agents` for targeted paid hosted search by `query`, `wallet`,
|
|
58
|
+
`agentPda`, `protocol`, `capability`, `capabilities`, or `hasX402Endpoint`.
|
|
59
|
+
Use paid `sap_list_all_agents` for user requests such as "give me a list of all
|
|
60
|
+
agents in the SAP ecosystem rn"; start with a small `limit` and continue with
|
|
61
|
+
`pagination.nextCursor`. If a capability lookup returns zero, retry with
|
|
62
|
+
`query` or `wallet` before reporting that the agent is absent.
|
|
63
|
+
|
|
64
|
+
Use `sap_agent_next_action` before retrying any SAP MCP error or partial write
|
|
65
|
+
result. It normalizes `payment_required`, `hosted_local_signer_required`,
|
|
66
|
+
transient Solana RPC failures, missing local bridge tools, and unconfirmed
|
|
67
|
+
submitted signatures into the next safe tool route.
|
|
68
|
+
|
|
69
|
+
Use `sap_protocol_invariants` before registry writes when the program id,
|
|
70
|
+
protocol treasury, source-level 0.1 SOL registration fee invariant, hosted
|
|
71
|
+
write route, or local signer route is unclear. Use `sap_agent_identity_plan`
|
|
72
|
+
before registration,
|
|
73
|
+
profile/image updates, Metaplex identity bridging, SNS linking, or x402
|
|
74
|
+
endpoint publishing. It is a free planner and should run before any local
|
|
75
|
+
signer write.
|
|
55
76
|
|
|
56
77
|
SAP memory and sessions:
|
|
57
78
|
|
|
@@ -72,6 +93,12 @@ SAP payments, x402, subscriptions, Escrow V2, settlement, disputes, staking:
|
|
|
72
93
|
`sap_x402_prepare_payment`, `sap_x402_get_balance`,
|
|
73
94
|
`sap_create_subscription`, `sap_fund_subscription`,
|
|
74
95
|
`sap_cancel_subscription`, `sap_fetch_subscription`,
|
|
96
|
+
`sap_escrow_build_create_transaction`,
|
|
97
|
+
`sap_escrow_build_deposit_transaction`,
|
|
98
|
+
`sap_escrow_build_settle_transaction`,
|
|
99
|
+
`sap_escrow_build_finalize_transaction`,
|
|
100
|
+
`sap_escrow_build_withdraw_transaction`,
|
|
101
|
+
`sap_escrow_build_close_transaction`,
|
|
75
102
|
`sap_create_escrow_v2`, `sap_deposit_escrow_v2`,
|
|
76
103
|
`sap_settle_escrow_v2`, `sap_finalize_settlement_v2`,
|
|
77
104
|
`sap_file_dispute_v2`, `sap_withdraw_escrow_v2`, `sap_close_escrow_v2`,
|
|
@@ -83,6 +110,13 @@ SAP payments, x402, subscriptions, Escrow V2, settlement, disputes, staking:
|
|
|
83
110
|
Use `sap_fetch_escrow` only for legacy read-only inspection. V1 escrow write
|
|
84
111
|
tools are not part of the active SAP MCP surface.
|
|
85
112
|
|
|
113
|
+
In hosted mode, prefer `sap_escrow_build_*_transaction` for Escrow V2 writes
|
|
114
|
+
and finalize the returned unsigned transaction locally with
|
|
115
|
+
`sap_payments_finalize_transaction`. Use direct `sap_create_escrow_v2`,
|
|
116
|
+
`sap_deposit_escrow_v2`, `sap_settle_escrow_v2`,
|
|
117
|
+
`sap_finalize_settlement_v2`, `sap_withdraw_escrow_v2`, and
|
|
118
|
+
`sap_close_escrow_v2` only when running a local SAP MCP profile with a signer.
|
|
119
|
+
|
|
86
120
|
## `sap-sns`
|
|
87
121
|
|
|
88
122
|
SAP SNS and direct SNS domain workflows:
|
|
@@ -92,13 +126,16 @@ SAP SNS and direct SNS domain workflows:
|
|
|
92
126
|
`sap_sns_get_domain_records`, `sap_sns_get_record`,
|
|
93
127
|
`sap_sns_resolve_wallet`, `sap_sns_check_ownership`,
|
|
94
128
|
`sap_sns_get_domain_pda`, `sap_sns_get_record_pda`,
|
|
95
|
-
`sap_sns_build_register_domain_transaction`,
|
|
96
129
|
`sap_sns_build_manage_record_transaction`,
|
|
97
|
-
`sap_sns_build_set_primary_domain_transaction`,
|
|
98
130
|
`sap_sns_register_agent_domain`, `sns_registerDomain`, `sns_resolveDomain`,
|
|
99
131
|
`sns_reverseLookup`, `alldomains_getOwnedDomains`,
|
|
100
132
|
`alldomains_registerDomain`, `alldomains_resolveDomain`.
|
|
101
133
|
|
|
134
|
+
`sap_sns_register_agent_domain` is local-signer-only. Hosted accountless SAP MCP
|
|
135
|
+
rejects that direct write before x402 payment. For hosted record changes, use
|
|
136
|
+
`sap_sns_build_manage_record_transaction` and finalize the unsigned transaction
|
|
137
|
+
locally with `sap_payments_finalize_transaction`.
|
|
138
|
+
|
|
102
139
|
## `sap-agentkit`
|
|
103
140
|
|
|
104
141
|
Solana RPC, SPL token, pricing, DAS:
|
|
@@ -164,7 +201,10 @@ Protocol routing shortcuts:
|
|
|
164
201
|
|
|
165
202
|
| User intent | Most specific tools |
|
|
166
203
|
| --- | --- |
|
|
167
|
-
| 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` |
|
|
168
208
|
| SOL or SPL transfer | `spl-token_transferSol`, `spl-token_transfer` |
|
|
169
209
|
| Token launch/mint/burn | `spl-token_deployToken`, `spl-token_mintTo`, `spl-token_burn` |
|
|
170
210
|
| Jupiter quote/swap | `jupiter_getQuote`, `jupiter_smartSwap`, `jupiter_swap`, `jupiter_swapInstructions` |
|
|
@@ -32,6 +32,28 @@ flows.
|
|
|
32
32
|
2. Validate collection, creator, metadata URI, royalties, and authority.
|
|
33
33
|
3. Preview transaction-producing outputs before signing.
|
|
34
34
|
|
|
35
|
+
## SAP Bridged Identity
|
|
36
|
+
|
|
37
|
+
When the user wants an SAP agent picture, NFT-backed identity, MPL Core asset,
|
|
38
|
+
or Metaplex-linked profile:
|
|
39
|
+
|
|
40
|
+
1. Publish the image and metadata to a public URI. Desktop file paths are never
|
|
41
|
+
valid on-chain metadata.
|
|
42
|
+
2. If creating a Metaplex NFT/MPL Core identity asset, mint or update that asset
|
|
43
|
+
with the same public metadata and keep the owner/authority clear.
|
|
44
|
+
3. Register or update the SAP agent with `metadataUri`/`agentUri` pointing to
|
|
45
|
+
the public metadata document or profile page.
|
|
46
|
+
4. In the metadata JSON, include a `metaplex` object with the asset or
|
|
47
|
+
collection address when available.
|
|
48
|
+
5. Hosted users must use local `sap_payments_register_agent` or
|
|
49
|
+
`sap_payments_update_agent` for SAP registry writes. Do not call hosted
|
|
50
|
+
`sap_register_agent` or hosted `sap_update_agent` after
|
|
51
|
+
`hosted_local_signer_required`.
|
|
52
|
+
|
|
53
|
+
Load `sap-agent-registry` together with this skill when the user says “register
|
|
54
|
+
my agent”, “add my picture”, “link my NFT identity”, or “bridge SAP with
|
|
55
|
+
Metaplex”.
|
|
56
|
+
|
|
35
57
|
## Safety
|
|
36
58
|
|
|
37
59
|
Minting, listing, buying, authority changes, and metadata updates are high-risk.
|
|
@@ -19,6 +19,8 @@ This skill corresponds to upstream SAP SDK v1.0.x domains such as
|
|
|
19
19
|
|
|
20
20
|
Use:
|
|
21
21
|
|
|
22
|
+
- `sap_protocol_invariants`
|
|
23
|
+
- `sap_agent_identity_plan`
|
|
22
24
|
- `sap_register_agent`
|
|
23
25
|
- `sap_update_agent`
|
|
24
26
|
- `sap_deactivate_agent`
|
|
@@ -30,9 +32,36 @@ Use:
|
|
|
30
32
|
- `sap_list_agents`
|
|
31
33
|
- `sap_list_all_agents`
|
|
32
34
|
|
|
33
|
-
Use `
|
|
34
|
-
`
|
|
35
|
-
|
|
35
|
+
Use `sap_discover_agents` for targeted hosted directory reads by `query`,
|
|
36
|
+
`wallet`, `agentPda`, `protocol`, `capability`, `capabilities`, or
|
|
37
|
+
`hasX402Endpoint`. Use `sap_list_all_agents` for global current ecosystem
|
|
38
|
+
requests, keep pages small, and continue with `pagination.nextCursor`.
|
|
39
|
+
For first-pass orientation, prefer free reads: `sap_agent_context`,
|
|
40
|
+
`sap_get_agent`, `sap_get_agent_profile`, `sap_get_agent_stats`,
|
|
41
|
+
`sap_is_agent_active`, `sap_get_global_state`, and `sap_list_agents` with `limit <= 20`,
|
|
42
|
+
`view: "compact"`, and `includeProtocolIndexes: false`. Use paid discovery
|
|
43
|
+
only when the user needs search, enrichment, full rows, large pages, analytics,
|
|
44
|
+
or global enumeration beyond the compact page.
|
|
45
|
+
|
|
46
|
+
Before registering or updating an agent profile, call free
|
|
47
|
+
`sap_protocol_invariants` when treasury, registration fee, hosted write route,
|
|
48
|
+
or local signer route is unclear. Then call `sap_agent_identity_plan`. The
|
|
49
|
+
planner tells the agent which fields are missing, whether the action should use
|
|
50
|
+
hosted reads or local signing, whether Metaplex or SNS identity is involved,
|
|
51
|
+
and how to verify the write afterward.
|
|
52
|
+
|
|
53
|
+
Hosted accountless SAP MCP cannot sign wallet-owned registry writes. If hosted
|
|
54
|
+
`sap_register_agent` or `sap_update_agent` returns
|
|
55
|
+
`hosted_local_signer_required`, do not retry the hosted write. Use local
|
|
56
|
+
`sap_payments_register_agent` or `sap_payments_update_agent` with
|
|
57
|
+
`confirm: true`. After registration, verify `success`, `agentPda`,
|
|
58
|
+
`confirmationStatus`, and `protocolFee.status`; after update, fetch the agent
|
|
59
|
+
profile again and compare the changed fields.
|
|
60
|
+
|
|
61
|
+
If any SAP operation returns `payment_required`, `hosted_local_signer_required`,
|
|
62
|
+
`BlockhashNotFound`, timeout, missing `sap_payments`, or a submitted signature
|
|
63
|
+
that did not confirm, call `sap_agent_next_action` before retrying. Follow its
|
|
64
|
+
`safeToRetryNow` and `nextTool` fields.
|
|
36
65
|
|
|
37
66
|
## Memory
|
|
38
67
|
|
|
@@ -9,6 +9,10 @@ workflows, and hosted SAP MCP x402/pay.sh monetization.
|
|
|
9
9
|
- `sap_x402_get_balance`
|
|
10
10
|
- `sap_payments_profile_current`
|
|
11
11
|
- `sap_payments_call_paid_tool`
|
|
12
|
+
- `sap_payments_call_external_x402`
|
|
13
|
+
- `sap_payments_register_agent`
|
|
14
|
+
- `sap_payments_update_agent`
|
|
15
|
+
- `sap_payments_finalize_transaction`
|
|
12
16
|
- `sap_payments_prepare_challenge`
|
|
13
17
|
- `sap_payments_sign_challenge`
|
|
14
18
|
- `sap_payments_verify_receipt`
|
|
@@ -41,9 +45,16 @@ hosted calls still proceed through x402/pay.sh plus the user's local SAP profile
|
|
|
41
45
|
or external signer.
|
|
42
46
|
|
|
43
47
|
- Free: `tools/list`, `prompts/list`, `resources/list`, `sap_profile_current`,
|
|
44
|
-
`
|
|
45
|
-
`
|
|
46
|
-
|
|
48
|
+
`sap_agent_start`, `sap_agent_runtime_status`, `sap_agent_context`,
|
|
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.
|
|
56
|
+
- Read premium: `sap_discover_agents`, `sap_list_all_agents`, full/enriched or
|
|
57
|
+
large `sap_list_agents` pages, indexed discovery, network stats,
|
|
47
58
|
protocol/capability indexes.
|
|
48
59
|
- Builder: batch SNS/domain checks, analytics, transaction builders.
|
|
49
60
|
- Value action: fixed fee plus configured basis-points fee when public USD
|
|
@@ -54,6 +65,11 @@ instructions, create a payment, retry with `PAYMENT-SIGNATURE`, and capture
|
|
|
54
65
|
`PAYMENT-RESPONSE` after settlement. If a `payShCheckoutUrl` is present, surface
|
|
55
66
|
it for browser/manual checkout flows.
|
|
56
67
|
|
|
68
|
+
Before retrying `payment_required`, `hosted_local_signer_required`,
|
|
69
|
+
`BlockhashNotFound`, timeout, missing `sap_payments`, or an unconfirmed
|
|
70
|
+
signature, call `sap_agent_next_action`. Use its `safeToRetryNow`, `nextTool`,
|
|
71
|
+
and `paymentCharged` fields as the retry guard.
|
|
72
|
+
|
|
57
73
|
For fast x402 execution:
|
|
58
74
|
|
|
59
75
|
1. Reuse the MCP session returned by `initialize`.
|
|
@@ -61,16 +77,26 @@ For fast x402 execution:
|
|
|
61
77
|
change, but the tool name and arguments must match the challenge.
|
|
62
78
|
3. Use `PAYMENT-SIGNATURE` first; use `X-PAYMENT` only for clients that require
|
|
63
79
|
the alternate header.
|
|
64
|
-
4. Cache
|
|
65
|
-
|
|
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.
|
|
66
84
|
5. Treat `PAYMENT-RESPONSE` as the receipt bound to the tool output.
|
|
67
85
|
6. If the client runtime cannot sign or attach x402 payment headers itself, use
|
|
68
86
|
the local SAP MCP `sap_payments_call_paid_tool` bridge configured by the SAP
|
|
69
87
|
MCP wizard instead of falling back to local stdio automatically.
|
|
70
88
|
|
|
71
|
-
Do not use x402 for
|
|
72
|
-
`spl-token_getBalance`,
|
|
73
|
-
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.
|
|
74
100
|
|
|
75
101
|
When available locally, call `sap_payments_call_paid_tool` with `toolName`,
|
|
76
102
|
`arguments`, `maxPriceUsd`, and `confirm: true`. It initializes the hosted MCP
|
|
@@ -81,6 +107,57 @@ SAP MCP `sap_payments` bridge is already configured. The legacy
|
|
|
81
107
|
`sap_x402_paid_call` alias is acceptable only when a runtime has not refreshed
|
|
82
108
|
to the new tool name.
|
|
83
109
|
|
|
110
|
+
For external x402 agents discovered through SAP registry metadata, do not
|
|
111
|
+
hand-roll HTTP payment scripts. Call `sap_payments_call_external_x402` with
|
|
112
|
+
`url`, `method`, optional JSON `body`, `maxPriceUsd`, `maxAttempts`, and
|
|
113
|
+
`confirm: true`. Use this for non-SAP-hosted HTTP providers such as another
|
|
114
|
+
agent's own x402 endpoint. It fetches the external 402 challenge, signs locally,
|
|
115
|
+
retries the same HTTP request with `PAYMENT-SIGNATURE`, and returns the response
|
|
116
|
+
plus receipt without exposing keypair bytes.
|
|
117
|
+
|
|
118
|
+
For hosted-user SAP agent registration, do not retry hosted
|
|
119
|
+
`sap_register_agent` after `hosted_local_signer_required`. The hosted server is
|
|
120
|
+
accountless by design and cannot sign user-owned registry writes. Call local
|
|
121
|
+
`sap_payments_register_agent` with the same registration fields and
|
|
122
|
+
`confirm: true`; it uses the active local SAP MCP profile signer, submits the
|
|
123
|
+
SAP registry transaction locally, and does not charge a hosted x402 access fee.
|
|
124
|
+
After it returns, verify `success`, `agentRegistered`, `confirmationStatus`,
|
|
125
|
+
`agentPda`, `protocolComplete`, and `protocolFee.status`. The expected protocol
|
|
126
|
+
fee is `100000000` lamports to treasury
|
|
127
|
+
`J7PyZAGKvprCz4SQ5DKBLAHstJxgVqZcz6kguUoWpP7P`. `success: true` means the agent
|
|
128
|
+
account and protocol fee invariant were both verified. If `success` is false
|
|
129
|
+
while `agentRegistered` is true, the account may exist but registration is not
|
|
130
|
+
SAP protocol-complete; report that state and do not retry automatically.
|
|
131
|
+
|
|
132
|
+
For hosted-user SAP agent profile updates, do not retry hosted
|
|
133
|
+
`sap_update_agent` after `hosted_local_signer_required`. Call local
|
|
134
|
+
`sap_payments_update_agent` with the intended replacement fields and
|
|
135
|
+
`confirm: true`; it signs locally and does not charge a hosted x402 access fee.
|
|
136
|
+
Use this for agent picture/profile metadata by first uploading the image or
|
|
137
|
+
metadata JSON to a public URI such as IPFS, Arweave, Kommodo, or HTTPS, then
|
|
138
|
+
setting `agentUri` or `metadataUri`. Do not use desktop file paths.
|
|
139
|
+
After update, fetch the agent profile again and verify the changed fields.
|
|
140
|
+
|
|
141
|
+
If the hosted paid tool returns `transactionBase64`, `transaction`, or an
|
|
142
|
+
unsigned transaction object, call `sap_payments_finalize_transaction` with
|
|
143
|
+
`confirm: true`. Set `submit: false` for preview/sign only, or `submit: true`
|
|
144
|
+
after the user approves execution. With `submit: true`, the bridge submits
|
|
145
|
+
already-signed bytes through `https://mcp.sap.oobeprotocol.ai/tx/submit` by
|
|
146
|
+
default and returns `confirmationStatus` plus `retrySafe`. Treat
|
|
147
|
+
`expired_or_not_landed` as unresolved, not success. Never create temporary
|
|
148
|
+
signing scripts, read keypair JSON, or call hosted `sap_sign_transaction` for
|
|
149
|
+
user-owned signatures.
|
|
150
|
+
|
|
151
|
+
For Escrow V2 hosted workflows, use the unsigned builder family first:
|
|
152
|
+
`sap_escrow_build_create_transaction`,
|
|
153
|
+
`sap_escrow_build_deposit_transaction`,
|
|
154
|
+
`sap_escrow_build_settle_transaction`,
|
|
155
|
+
`sap_escrow_build_finalize_transaction`,
|
|
156
|
+
`sap_escrow_build_withdraw_transaction`, or
|
|
157
|
+
`sap_escrow_build_close_transaction`, then finalize locally with
|
|
158
|
+
`sap_payments_finalize_transaction`. Use direct escrow write tools only when a
|
|
159
|
+
local SAP MCP profile with signer is the selected runtime.
|
|
160
|
+
|
|
84
161
|
Use low-level helpers only for custom clients:
|
|
85
162
|
|
|
86
163
|
- `sap_payments_prepare_challenge` returns the parsed hosted x402 challenge
|