# nft-modify

Modify the URI of a dynamic NFT (dNFT) on the XRP Ledger. The NFT must have been minted with the tfMutable flag enabled. Only the issuer or their authorized minter can modify the URI.

Agent View of the PolicyLayer registry record for `nft-modify`. HTML page: https://policylayer.com/tools/romthpt-mcp-xrpl/nft-modify

## Facts

- Tool: `nft-modify`
- Server: Xrpl mcp (`romthpt/mcp-xrpl`) — https://policylayer.com/tools/romthpt-mcp-xrpl.md
- Homepage: https://github.com/RomThpt/mcp-xrpl
- Risk category: Write (Medium risk)
- Registry record: grade F, identity unverified
- Server rate-limited: no
- Parameters: 0
- Recommended policy verdict: Rate-limited

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

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

## Why nft-modify is rated Medium

This tool modifies NFT metadata (the URI field) on the XRP Ledger. While it changes state, the modification is reversible (the URI can be changed again), distinguishing it from destructive operations. It does not delete data, execute arbitrary code, or involve financial transactions. The authorization requirement and XRP Ledger integration suggest it's scoped to NFT ownership.

From the tool's own definition: "Tool description states it 'Modify[s] the URI of a dynamic NFT' - a reversible modification of data on the ledger. The operation requires authorization (issuer or authorized minter only) and affects NFT metadata."

## Use case

AI agents use nft-modify to create or update resources in Xrpl mcp, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Xrpl mcp environment.

## Recommended policy (PolicyLayer)

Verdict: **Rate-limited**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches Xrpl mcp:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "nft-modify": {
      "limits": [
        {
          "counter": "nft-modify_rate",
          "window": "minute",
          "max": 30,
          "scope": "grant"
        }
      ]
    }
  }
}
```

## Other tools on Xrpl mcp (70)

- `amm-delete` — Destructive — https://policylayer.com/tools/romthpt-mcp-xrpl/amm-delete.md
- `check-cancel` — Destructive — https://policylayer.com/tools/romthpt-mcp-xrpl/check-cancel.md
- `credential-delete` — Destructive — https://policylayer.com/tools/romthpt-mcp-xrpl/credential-delete.md
- `deactivate-did` — Destructive — https://policylayer.com/tools/romthpt-mcp-xrpl/deactivate-did.md
- `delete-account` — Destructive — https://policylayer.com/tools/romthpt-mcp-xrpl/delete-account.md
- `escrow-cancel` — Destructive — https://policylayer.com/tools/romthpt-mcp-xrpl/escrow-cancel.md
- `mpt-issuance-destroy` — Destructive — https://policylayer.com/tools/romthpt-mcp-xrpl/mpt-issuance-destroy.md
- `offer-cancel` — Destructive — https://policylayer.com/tools/romthpt-mcp-xrpl/offer-cancel.md
- `oracle-delete` — Destructive — https://policylayer.com/tools/romthpt-mcp-xrpl/oracle-delete.md
- `permissioned-domain-delete` — Destructive — https://policylayer.com/tools/romthpt-mcp-xrpl/permissioned-domain-delete.md
- `reject-transaction` — Destructive — https://policylayer.com/tools/romthpt-mcp-xrpl/reject-transaction.md
- `amm-vote` — Execute — https://policylayer.com/tools/romthpt-mcp-xrpl/amm-vote.md
- `batch-submit` — Execute — https://policylayer.com/tools/romthpt-mcp-xrpl/batch-submit.md
- `transfer-nft` — Execute — https://policylayer.com/tools/romthpt-mcp-xrpl/transfer-nft.md
- `amm-bid` — Financial — https://policylayer.com/tools/romthpt-mcp-xrpl/amm-bid.md
- `amm-clawback` — Financial — https://policylayer.com/tools/romthpt-mcp-xrpl/amm-clawback.md
- `amm-create` — Financial — https://policylayer.com/tools/romthpt-mcp-xrpl/amm-create.md
- `amm-deposit` — Financial — https://policylayer.com/tools/romthpt-mcp-xrpl/amm-deposit.md
- `approve-transaction` — Financial — https://policylayer.com/tools/romthpt-mcp-xrpl/approve-transaction.md
- `batch-payment` — Financial — https://policylayer.com/tools/romthpt-mcp-xrpl/batch-payment.md
- `check-cash` — Financial — https://policylayer.com/tools/romthpt-mcp-xrpl/check-cash.md
- `escrow-finish` — Financial — https://policylayer.com/tools/romthpt-mcp-xrpl/escrow-finish.md
- `offer-create` — Financial — https://policylayer.com/tools/romthpt-mcp-xrpl/offer-create.md
- `payment` — Financial — https://policylayer.com/tools/romthpt-mcp-xrpl/payment.md
- `payment-channel-claim` — Financial — https://policylayer.com/tools/romthpt-mcp-xrpl/payment-channel-claim.md
- `payment-channel-create` — Financial — https://policylayer.com/tools/romthpt-mcp-xrpl/payment-channel-create.md
- `payment-channel-fund` — Financial — https://policylayer.com/tools/romthpt-mcp-xrpl/payment-channel-fund.md
- `token-clawback` — Financial — https://policylayer.com/tools/romthpt-mcp-xrpl/token-clawback.md
- `token-escrow-create` — Financial — https://policylayer.com/tools/romthpt-mcp-xrpl/token-escrow-create.md
- `transfer-token` — Financial — https://policylayer.com/tools/romthpt-mcp-xrpl/transfer-token.md
- …and 40 more: https://policylayer.com/tools/romthpt-mcp-xrpl.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=romthpt-mcp-xrpl · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/romthpt-mcp-xrpl
