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 分