Xrpl Identity Mcp

io.github.jarod-vyent由 GitHub 帳號 jarod-vyent 發布v0.1.1更新於 Oct 24, 2026

MCP server for XRPL identity: DIDs, credentials, signer lists, and safe transaction workflows.

已驗證STDIO僅桌面金融安全與監控

概覽

AI 產生的概覽

針對 XRP Ledger 身分管理的本機 MCP 伺服器:解析 DID、管理憑證與簽署者清單,並準備、驗證與提交已簽署交易。

可以做什麼
  • 解析 XLS-40 DID 並取得連結的 DID 文件
  • 準備未簽署的 DID 設定/刪除與憑證建立/接受/刪除交易
  • 讀取憑證、依帳戶列出憑證,並彙整帳戶的身分狀態
  • 準備多簽簽署者清單變更
  • 解碼並驗證已簽署交易是否符合預期意圖,再提交並輪詢確認
適用情境
當助理需要處理 XRPL 身分相關功能(DID、憑證或多簽簽署者清單),或需要走「準備、驗證、提交」的交易流程且簽章保留在使用者自己的錢包時適用。預設使用測試網,適合在主網使用前先行試驗。
執行需求
透過 npx 在本機執行(需要 Node.js)。不需要 API 金鑰或帳戶,伺服器不持有任何金鑰。選用環境變數:XRPL_NETWORK(mainnet、testnet 或 devnet,預設 testnet)、XRPL_ENDPOINT 可覆寫 WebSocket 端點、ALLOW_MAINNET_SUBMIT=true 可允許主網提交。需要能連線至 XRPL WebSocket 端點。
安裝前請注意
tx_submit_signed 會把已簽署交易廣播到帳本,在主網上可能轉移真實資產;除非將 ALLOW_MAINNET_SUBMIT 設為 true,否則主網提交會被阻擋。伺服器不保存種子或私鑰,簽章在其他地方完成,傳入的已簽署資料即會被廣播。提交前先用 tx_decode_verify 驗證,並留意每個結果回報的網路。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Xrpl Identity Mcp,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

xrpl-identity-mcp

[CI] [npm] [License: MIT]

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:

  1. 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.
  2. Network is explicit. XRPL_NETWORK is mainnet, testnet, or devnet. The default is testnet. Every tool result includes network.
  3. Mainnet submit is opt-in. tx_submit_signed on mainnet is blocked unless ALLOW_MAINNET_SUBMIT=true is set.
  4. Prepare, verify, then submit. Write workflows return unsigned JSON with instructions to sign externally, call tx_decode_verify, and only then call tx_submit_signed.

Quickstart

Claude MCP:

bash
claude mcp add xrpl-identity -- npx -y xrpl-identity-mcp

Generic MCP client config:

json
{  "mcpServers": {    "xrpl-identity": {      "command": "npx",      "args": ["-y", "xrpl-identity-mcp"],      "env": {        "XRPL_NETWORK": "testnet"      }    }  }}

Environment variables:

VariableValuesDefaultPurpose
XRPL_NETWORKmainnet, testnet, devnettestnetSelects the XRPL network.
XRPL_ENDPOINTWebSocket URLNetwork defaultOverrides the rippled WebSocket endpoint.
ALLOW_MAINNET_SUBMITtrue or unsetunsetRequired for tx_submit_signed on mainnet.

Default endpoints:

NetworkEndpoint
mainnetwss://xrplcluster.com
testnetwss://s.altnet.rippletest.net:51233
devnetwss://s.devnet.rippletest.net:51233

Tools

ToolWhat it doesNetwork writes?
did_resolveResolve an XLS-40 DID object and fetch an ipfs:// or https:// DID document when present.No
did_prepare_setPrepare an unsigned DIDSet transaction.No
did_prepare_deletePrepare an unsigned DIDDelete transaction.No
credential_prepare_createPrepare an unsigned CredentialCreate transaction.No
credential_prepare_acceptPrepare an unsigned CredentialAccept transaction.No
credential_prepare_deletePrepare an unsigned CredentialDelete transaction.No
credential_verifyRead a credential object and report existence, acceptance, and expiration.No
credential_listList up to 400 credential objects visible to an account, with issuer/subject filtering.No
account_identity_summarySummarize auth posture, signer list, DID presence, and credential counts for an account.No
signer_list_prepare_setPrepare an unsigned SignerListSet transaction for multisig create, replace, or delete.No
tx_decode_verifyDecode a signed blob, compute hash, and compare against expected intent.No
tx_submit_signedSubmit a pre-signed blob and poll for validation. Mainnet requires ALLOW_MAINNET_SUBMIT=true.Yes

Example Agent Flows

Resolve a DID and read its document:

  1. Call did_resolve with address set to a classic XRPL address or did:xrpl:<address>.
  2. Inspect decoded.URI, decoded.Data, and decoded.DIDDocument.
  3. If the URI is ipfs:// or https://, inspect document and documentSource. Only text and JSON documents are inlined; binary content (for example an image) is reported as documentSource, documentContentType, and documentByteLength with documentSkipped explaining why the body was omitted.

Issue and accept a credential on testnet:

  1. Set XRPL_NETWORK=testnet.
  2. Call credential_prepare_create with issuer, subject, credential type, optional expiration, and optional URI.
  3. Sign the returned unsignedTx externally with the issuer account.
  4. Call tx_decode_verify with the signed blob and the expected intent.
  5. Call tx_submit_signed.
  6. Call credential_prepare_accept for the subject, sign externally, verify with tx_decode_verify, then submit.
  7. Call credential_verify to confirm accepted: true and expired: false.

Verify a signed blob before submitting:

  1. Call tx_decode_verify with signedBlob and an expectedIntent partial transaction JSON.
  2. Check matches and any mismatches.
  3. Submit only when the decoded transaction matches the user's intent.

Development

bash
npm installnpm run typechecknpm run buildSKIP_INTEGRATION=1 npm test

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

來源:README.md,提交 d8d5c2b

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.1.1最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分