Twelve Permissions MCP server
{
"mcpServers": {
"twelve-permissions": {
"type": "http",
"url": "https://twelvepermissions.com/mcp"
}
}
}{
"mcpServers": {
"twelve-permissions": {
"type": "http",
"url": "https://twelvepermissions.com/mcp"
}
}
}{
"mcpServers": {
"twelve-permissions": {
"type": "http",
"url": "https://twelvepermissions.com/mcp"
}
}
}{
"servers": {
"twelve-permissions": {
"type": "http",
"url": "https://twelvepermissions.com/mcp"
}
}
}{
"mcpServers": {
"twelve-permissions": {
"type": "http",
"url": "https://twelvepermissions.com/mcp"
}
}
}file .mcp.json (in your project root)file claude_desktop_config.jsonfile ~/.cursor/mcp.jsonfile .vscode/mcp.jsonfile ~/.codeium/windsurf/mcp_config.jsonversion 1.0.0
What it does
An MCP server for browsing and verifying Twelve Permissions NFTs on XRP Ledger. Each NFT's visual seal is deterministically generated from the SHA-256 hash of its canonical authorization record, making forgery equivalent to breaking SHA-256. The server exposes tools to list pieces, retrieve metadata, verify seals, and obtain purchase transactions.
- Verify that an NFT's on-chain URI hash matches a regenerated seal by re-running the deterministic generator against canonical records.
- Look up NFT metadata, purchase transactions, and constraints on what the issuing agent will and will not do.
- Obtain x402 payment requirements and transaction details for buying pieces directly from the storefront.
Tools this server exposes
| Tool | Does |
|---|---|
| list_pieces | Lists all twelve pieces in the collection. |
| get_piece | Retrieves NFT metadata for a specified piece number. |
| get_buy_transaction | Returns transaction details needed to purchase a piece. |
| get_x402_info | Provides x402 payment information and requirements for the seller. |
| verify_seal | Verifies that a piece's seal matches its canonical record hash. |
| get_refusals | Retrieves the hash-chained constraints ledger of what the issuing agent will not do. |
Before you enable it
An MCP server runs with whatever access you give it. Start with a development account rather than production, and check which tools the server exposes before you let an agent call them unattended.