# sap_register_agent

Deprecated raw SDK wrapper. Production registration must use sap_payments_register_agent so the local signer path confirms the account, verifies the 0.1 SOL protocol treasury fee invariant, and returns protocolComplete. Hosted accountless SAP MCP rejects this direct write before x402 payment. SAP MCP context: Do not use this raw SDK wrapper for production registration. The canonical registration path is sap_payments_register_agent, because it confirms the account, audits the protocol treasury fee, and fails closed when protocolComplete is false. Hosted accountless SAP MCP rejects direct registration before x402 payment because OOBE never custodies user wallet keys. Use sap_agent_identity_plan first, then sap_payments_register_agent with confirm:true. SAP MCP execution guidance: Intent: local-signer write workflow. Pricing: paid value-action; preview cost and transaction effects before user confirmation. Routing: hosted accountless write is blocked; do not call this as a paid hosted write and no x402 payment should be charged. Use sap_payments_register_agent when user signing is required. Signer boundary: user-controlled local profile or external signer; OOBE hosted MCP remains non-custodial.

Agent View of the PolicyLayer registry record for `sap_register_agent`. HTML page: https://policylayer.com/tools/oobe-protocol-labs-sap-mcp-server/sap-register-agent

## Facts

- Tool: `sap_register_agent`
- Server: Sap (`https://mcp.sap.oobeprotocol.ai/mcp`) — https://policylayer.com/tools/oobe-protocol-labs-sap-mcp-server.md
- Homepage: https://github.com/OOBE-PROTOCOL/sap-mcp
- Risk category: Financial (Critical risk)
- Registry record: grade F, identity unverified
- Server auth posture: open
- Server rate-limited: yes
- Parameters: 9
- Recommended policy verdict: Approval-gated

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `name` | string | no | Required public display name for the SAP agent. Keep it stable enough for explorers and humans. |
| `agentId` | string | no | Optional stable lowercase agent id, for example solking. This is separate from the on-chain agent PDA. |
| `pricing` | array | no | Optional pricing tiers advertised by the agent. Use tokenType usdc + settlementMode x402 for pay.sh/x402 agent commerce. |
| `agentUri` | string | no | Optional public HTTPS/IPFS/Arweave/Kommodo URI for the agent profile metadata or profile page. Never use local desktop file paths. |
| `protocols` | array | no | Required protocol tags the agent supports, for example sap, mcp, jupiter, pyth, metaplex, sns, x402, payments. |
| `description` | string | no | Required public description of what the agent does, which protocols it can use, and its safety/trust boundaries. |
| `metadataUri` | string | no | Alias for agentUri. Prefer a public JSON metadata document containing name, description, image, external_url, attributes, sap, metaplex, sns, and x402 fields. |
| `capabilities` | array | no | Required capability list. Prefer object form for production; strings are accepted as shorthand. |
| `x402Endpoint` | string | no | Optional public x402 discovery/payment endpoint, usually https://host/.well-known/x402 for external agent services. |

Parameters from the server's own tool schema.

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "sap_register_agent",
    "arguments": {}
  }
}
```

## Why sap_register_agent is rated Critical

Tool involves SOL payment fees and financial protocol registration with treasury obligations.

From the tool's own definition: "0.1 SOL protocol treasury fee invariant, x402 payment"

Risk signals: High parameter count (25 properties)

## Use case

AI agents use sap_register_agent to commit financial operations through Sap, usually the final step of a payment, billing, or trading workflow. A call moves real money.

## Recommended policy (PolicyLayer)

Verdict: **Approval-gated**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches Sap:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "sap_register_agent": {
      "deny_if": [
        {
          "conditions": [],
          "on_deny": "Requires human approval."
        }
      ]
    }
  }
}
```

## Other tools on Sap (374)

- `jupiter_cancelDCA` — Destructive — https://policylayer.com/tools/oobe-protocol-labs-sap-mcp-server/jupiter-canceldca.md
- `jupiter_cancelLimitOrder` — Destructive — https://policylayer.com/tools/oobe-protocol-labs-sap-mcp-server/jupiter-cancellimitorder.md
- `jupiter_cancelLimitOrders` — Destructive — https://policylayer.com/tools/oobe-protocol-labs-sap-mcp-server/jupiter-cancellimitorders.md
- `manifest_cancelOrder` — Destructive — https://policylayer.com/tools/oobe-protocol-labs-sap-mcp-server/manifest-cancelorder.md
- `metaplex-nft_revokeAuthority` — Destructive — https://policylayer.com/tools/oobe-protocol-labs-sap-mcp-server/metaplex-nft-revokeauthority.md
- `openbook_cancelOrder` — Destructive — https://policylayer.com/tools/oobe-protocol-labs-sap-mcp-server/openbook-cancelorder.md
- `sap_revoke_attestation` — Destructive — https://policylayer.com/tools/oobe-protocol-labs-sap-mcp-server/sap-revoke-attestation.md
- `sap_revoke_feedback` — Destructive — https://policylayer.com/tools/oobe-protocol-labs-sap-mcp-server/sap-revoke-feedback.md
- `spl-token_burn` — Destructive — https://policylayer.com/tools/oobe-protocol-labs-sap-mcp-server/spl-token-burn.md
- `blinks_confirmAction` — Execute — https://policylayer.com/tools/oobe-protocol-labs-sap-mcp-server/blinks-confirmaction.md
- `blinks_executeAction` — Execute — https://policylayer.com/tools/oobe-protocol-labs-sap-mcp-server/blinks-executeaction.md
- `jupiter_swapInstructions` — Execute — https://policylayer.com/tools/oobe-protocol-labs-sap-mcp-server/jupiter-swapinstructions.md
- `magicblock_ensureCrank` — Execute — https://policylayer.com/tools/oobe-protocol-labs-sap-mcp-server/magicblock-ensurecrank.md
- `magicblock_initializeMint` — Execute — https://policylayer.com/tools/oobe-protocol-labs-sap-mcp-server/magicblock-initializemint.md
- `magicblock_login` — Execute — https://policylayer.com/tools/oobe-protocol-labs-sap-mcp-server/magicblock-login.md
- `magicblock_requestRandomness` — Execute — https://policylayer.com/tools/oobe-protocol-labs-sap-mcp-server/magicblock-requestrandomness.md
- `sap_adrena_build_add_limit_order` — Execute — https://policylayer.com/tools/oobe-protocol-labs-sap-mcp-server/sap-adrena-build-add-limit-order.md
- `sap_adrena_build_add_liquid_stake` — Execute — https://policylayer.com/tools/oobe-protocol-labs-sap-mcp-server/sap-adrena-build-add-liquid-stake.md
- `sap_adrena_build_add_liquidity` — Execute — https://policylayer.com/tools/oobe-protocol-labs-sap-mcp-server/sap-adrena-build-add-liquidity.md
- `sap_adrena_build_add_locked_stake` — Execute — https://policylayer.com/tools/oobe-protocol-labs-sap-mcp-server/sap-adrena-build-add-locked-stake.md
- `sap_adrena_build_cancel_limit_order` — Execute — https://policylayer.com/tools/oobe-protocol-labs-sap-mcp-server/sap-adrena-build-cancel-limit-order.md
- `sap_adrena_build_cancel_stop_loss` — Execute — https://policylayer.com/tools/oobe-protocol-labs-sap-mcp-server/sap-adrena-build-cancel-stop-loss.md
- `sap_adrena_build_cancel_take_profit` — Execute — https://policylayer.com/tools/oobe-protocol-labs-sap-mcp-server/sap-adrena-build-cancel-take-profit.md
- `sap_adrena_build_claim_stakes` — Execute — https://policylayer.com/tools/oobe-protocol-labs-sap-mcp-server/sap-adrena-build-claim-stakes.md
- `sap_adrena_build_close_commodity_long` — Execute — https://policylayer.com/tools/oobe-protocol-labs-sap-mcp-server/sap-adrena-build-close-commodity-long.md
- `sap_adrena_build_close_commodity_short` — Execute — https://policylayer.com/tools/oobe-protocol-labs-sap-mcp-server/sap-adrena-build-close-commodity-short.md
- `sap_adrena_build_init_user_staking` — Execute — https://policylayer.com/tools/oobe-protocol-labs-sap-mcp-server/sap-adrena-build-init-user-staking.md
- `sap_adrena_build_open_short` — Execute — https://policylayer.com/tools/oobe-protocol-labs-sap-mcp-server/sap-adrena-build-open-short.md
- `sap_adrena_build_position_package` — Execute — https://policylayer.com/tools/oobe-protocol-labs-sap-mcp-server/sap-adrena-build-position-package.md
- `sap_adrena_build_remove_liquid_stake` — Execute — https://policylayer.com/tools/oobe-protocol-labs-sap-mcp-server/sap-adrena-build-remove-liquid-stake.md
- …and 344 more: https://policylayer.com/tools/oobe-protocol-labs-sap-mcp-server.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=oobe-protocol-labs-sap-mcp-server · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/oobe-protocol-labs-sap-mcp-server
