
Xrpl Identity Mcp
io.github.jarod-vyentPublished by GitHub account jarod-vyentv0.1.1Updated Oct 24, 2026
MCP server for XRPL identity: DIDs, credentials, signer lists, and safe transaction workflows.
Overview
Local MCP server for XRP Ledger identity: resolve DIDs, manage credentials and signer lists, and prepare, verify and submit signed transactions.
- What you can do
- Resolve XLS-40 DIDs and fetch linked DID documents
- Prepare unsigned DID set/delete and credential create/accept/delete transactions
- Read credentials and list them per account, and summarize an account's identity posture
- Prepare multisig signer list changes
- Decode and verify a signed blob against expected intent, then submit it and poll for validation
- When to use it
- Useful when an assistant needs to work with XRPL identity features — DIDs, credentials or multisig signer lists — or to run a prepare, verify, submit transaction flow where signing stays in the user's own wallet. Defaults to testnet, so it suits experimentation before mainnet use.
- Requirements
- Runs locally via npx (Node.js). No API key or account is needed; the server holds no keys. Optional environment variables: XRPL_NETWORK (mainnet, testnet or devnet; default testnet), XRPL_ENDPOINT to override the WebSocket endpoint, and ALLOW_MAINNET_SUBMIT=true to permit mainnet submission. Network access to an XRPL WebSocket endpoint is required.
Installation
In SourceWeft
- Open Xrpl Identity Mcp in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
xrpl-identity-mcp
xrpl-identity-mcp is the first identity-focused MCP server for the XRP Ledger: DIDs (XLS-40), credentials (XLS-70), multisig signer lists, and safe transaction prepare/verify/submit workflows. It prepares unsigned transactions, reads ledger state, verifies signed blobs against intent, and can submit pre-signed blobs without ever taking custody of keys.
Built by Jarod Vyent, from the team behind SciPHR.
Security Model
These invariants are core behavior:
- No key custody. The server has no seed, private key, mnemonic, wallet import, or signing path. Signing happens in the user's wallet or agent.
- Network is explicit.
XRPL_NETWORKismainnet,testnet, ordevnet. The default istestnet. Every tool result includesnetwork. - Mainnet submit is opt-in.
tx_submit_signedon mainnet is blocked unlessALLOW_MAINNET_SUBMIT=trueis set. - Prepare, verify, then submit. Write workflows return unsigned JSON with instructions to sign externally, call
tx_decode_verify, and only then calltx_submit_signed.
Quickstart
Claude MCP:
Generic MCP client config:
Environment variables:
Default endpoints:
Tools
Example Agent Flows
Resolve a DID and read its document:
- Call
did_resolvewithaddressset to a classic XRPL address ordid:xrpl:<address>. - Inspect
decoded.URI,decoded.Data, anddecoded.DIDDocument. - If the URI is
ipfs://orhttps://, inspectdocumentanddocumentSource. Only text and JSON documents are inlined; binary content (for example an image) is reported asdocumentSource,documentContentType, anddocumentByteLengthwithdocumentSkippedexplaining why the body was omitted.
Issue and accept a credential on testnet:
- Set
XRPL_NETWORK=testnet. - Call
credential_prepare_createwith issuer, subject, credential type, optional expiration, and optional URI. - Sign the returned
unsignedTxexternally with the issuer account. - Call
tx_decode_verifywith the signed blob and the expected intent. - Call
tx_submit_signed. - Call
credential_prepare_acceptfor the subject, sign externally, verify withtx_decode_verify, then submit. - Call
credential_verifyto confirmaccepted: trueandexpired: false.
Verify a signed blob before submitting:
- Call
tx_decode_verifywithsignedBloband anexpectedIntentpartial transaction JSON. - Check
matchesand anymismatches. - Submit only when the decoded transaction matches the user's intent.
Development
Integration tests target testnet and are skipped when SKIP_INTEGRATION=1. To run the account summary integration test, set XRPL_INTEGRATION_ACCOUNT to a funded testnet account address.
License
MIT
Source: README.md at commit d8d5c2b
Tools
0Version history
1- v0.1.1LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts