An MCP server for XRP Ledger identity that never signs.
An identity-focused MCP server covering DIDs, credentials and signer lists, which never holds a key and never submits on its own authority.
Claude, or any MCP client
- Speaks MCP over stdio
- Holds no ledger credentials
The server
- did_resolve, credential_verify
- tx_decode_verify, signer_list_*
Public node
- Read only
- No write path from here
Every write leaves the server unsigned and is signed somewhere the agent cannot reach.
- The agent calls a tool. The server resolves, decodes or verifies against a public node.
- Anything that would change state comes back as an unsigned transaction.
- A human or a wallet signs it elsewhere, so the agent gains reach without gaining custody.
Ledger access for agents, without key custody.
This server never holds a key. It prepares, decodes and verifies transactions, and it never signs. Every transaction it produces is unsigned and has to be authorized somewhere a human controls.
DIDs, credentials, and signer lists.
Resolving and preparing XLS-40 DID documents, listing and verifying XLS-70 credentials, preparing signer-list changes, decoding a signed blob so you can check it against what you meant to sign, and summarizing an account's identity surface in one call.
Published to npm and listed in the official MCP Registry.
It is MIT licensed and public. An adversarial review pass over the finished code found and fixed five bugs the test suite had not caught, two of them serious.