Vtimestamp Write

io.github.vdappdev2由 GitHub 账号 vdappdev2 发布v1.0.0更新于 Oct 24, 2026

MCP server for creating vtimestamp proofs on the Verus blockchain via a local or remote daemon

已验证STDIO仅桌面文件与存储金融

概览

AI 生成的概览

本地 MCP 服务器,让助手通过 Verus 守护进程在 Verus 区块链上为文档创建 SHA-256 时间戳,写入指定 VerusID。

可以做什么
从文件路径或给定文本在 VerusID 上创建时间戳,自动计算 SHA-256 哈希,并可附带标题、描述、文件名和文件大小。为链上交易指定出资地址和费用报价。条目以公开加密数据写入身份的内容多重映射,之后任何人都能解密。身份不存在、哈希重复、文件缺失或守护进程 RPC 失败时会返回错误。
适用场景
适合需要助手把文档或声明锚定到 Verus 区块链上自己 VerusID 的场景,例如为报告、发票审批或合同打时间戳。若只需只读验证且不想运行守护进程或钱包,README 建议改用单独的只读服务器。
运行要求
通过 npx 在本地运行,需要 Node.js 18 或更高版本。需要运行中的 Verus 守护进程(verusd),启用 RPC,且该身份的私钥已导入其钱包。RPC 凭据会从 VRSC.conf 自动读取;远程守护进程可通过 VERUS_RPC_URL、VERUS_RPC_USER 和 VERUS_RPC_PASSWORD 设置,VERUS_NETWORK 选择主网或测试网。
安装前请注意
会执行链上写入并产生少量交易费(默认 0.0001 VRSC),由 sourceoffunds 和 feeoffer 参数控制。守护进程钱包必须持有该身份的私钥,因此服务器可签名并广播身份更新。它会读取 VRSC.conf 获取 RPC 凭据,而这些凭据以明文 HTTP 传输;连接远程守护进程时 README 建议使用 SSH 隧道,不要直接暴露 RPC 端口。时间戳为公开加密,任何人都能解密。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Vtimestamp Write,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

vtimestamp-mcp-write

MCP server for creating vtimestamp proofs on the Verus blockchain.

Enables AI agents (Claude Desktop, VS Code, etc.) to create document timestamps on a VerusID — writing directly to the Verus blockchain via a local or remote daemon.

Looking for the read-only server? See vtimestamp-mcp — no daemon or wallet required.

Prerequisites

  • Node.js 18+
  • Verus daemon (verusd) running with:
    • The identity's private key imported into the wallet
    • RPC access enabled (default on localhost)

Installation

Claude Code

bash
claude mcp add --transport stdio --scope user vtimestamp-write -- npx vtimestamp-mcp-write@latest

Claude Desktop

Add to your claude_desktop_config.json:

json
{
  "mcpServers": {
    "vtimestamp-write": {
      "command": "npx",
      "args": ["-y", "vtimestamp-mcp-write@latest"]
    }
  }
}

That's it — the server auto-detects your RPC credentials from VRSC.conf (see Configuration below).

VS Code

Add to your VS Code MCP settings:

json
{
  "mcp": {
    "servers": {
      "vtimestamp-write": {
        "command": "npx",
        "args": ["-y", "vtimestamp-mcp-write@latest"]
      }
    }
  }
}

Configuration

The server automatically reads RPC credentials from your local VRSC.conf file. No manual configuration is needed for most users.

Auto-detected VRSC.conf paths:

  • macOS: ~/Library/Application Support/Komodo/VRSC/VRSC.conf
  • Linux: ~/.komodo/VRSC/VRSC.conf
  • Windows: %AppData%\Roaming\Komodo\VRSC\VRSC.conf

Environment Variables

All optional — only needed for non-standard setups or remote daemons.

VariableDescription
VERUS_CONF_PATHCustom path to VRSC.conf
VERUS_RPC_URLOverride: daemon RPC URL (for remote daemons)
VERUS_RPC_USEROverride: RPC username (for remote daemons)
VERUS_RPC_PASSWORDOverride: RPC password (for remote daemons)

Tools

vtimestamp_create

Create a new timestamp on a VerusID. Provide either a file path or text — the server computes the SHA-256 hash automatically.

ParameterTypeRequiredDescription
identitystringYesVerusID name (e.g., alice@)
file_pathstringOne ofPath to a file to hash and timestamp
textstringOne ofText to hash and timestamp (e.g., an attestation or report)
titlestringYesTitle for the timestamp
descriptionstringNoDescription of the content
filenamestringNoOriginal filename (auto-detected when using file_path)
filesizenumberNoFile size in bytes (auto-detected when using file_path)
sourceoffundsstringNoFunding address (R-address, z-address, or ID@)
feeoffernumberNoFee offer in VRSC (default: 0.0001)

Either file_path or text must be provided (mutually exclusive).

Example prompts:

  • "Timestamp the file at /path/to/report.pdf on alice@"
  • "Timestamp this text on alice@: I attest that invoice #4521 was approved"

Success response:

json
{
  "success": true,
  "identity": "alice@",
  "hash": "a7f3b2c1...",
  "title": "Q4 Report",
  "transaction_id": "abc123...",
  "message": "Timestamp created successfully"
}

Error cases:

  • Identity not found → error with identity name
  • Duplicate hash → error with existing block height and txid
  • File not found → InvalidParams error
  • RPC failure → error with daemon message

How It Works

The server connects to your Verus daemon (local or remote) to create on-chain timestamps. The daemon must have the identity's private key in its wallet to sign the updateidentity transaction.

AI Agent (Claude Desktop, VS Code, etc.)
    │ stdio (JSON-RPC)
    ▼
vtimestamp-mcp-write (local)
    │ HTTP (JSON-RPC 1.0, with auth)
    ▼
Your Verus Daemon (verusd)
    ├── Has identity's private key in wallet
    ├── Signs and broadcasts updateidentity tx
    └── Local (127.0.0.1) or remote (VPS)

On-chain storage shape

As of v1.2.0, this server writes timestamps as public-encrypted entries under the VerusID's contentmultimap. Each timestamp produces a single entry under the proof.basic outer key (iJvkQ3uTKmRoFiE3rtP8YJxryLBKu8enmX) using the daemon's {data: {...}} envelope shorthand. The daemon expands that to an on-chain DataDescriptor with flags: 13 (HAS_OBJECTDATA | ENCRYPTED | HAS_IVK) — ciphertext in objectdata, plus published epk and ivk fields.

The metadata (sha256, title, description, filename, filesize) is JSON-stringified into a single message before encryption, so one decrypt call recovers all fields. Because the IVK is published on-chain (public-encrypted mode), anyone can decrypt these entries — no key sharing or wallet access is required for readers. See vtimestamp-mcp for the read side.

What this means for inspection:

  • Inspecting the cmm via any read RPC (getidentity, getidentityhistory, getidentitycontent) returns the ciphertext descriptor, not readable strings.
  • Recovering the original fields requires a decryptdata call passing the descriptor + the originating txid + retrieve: true. The daemon stores ciphertext as an indirect reference back to the writing transaction — the txid is part of the decrypt input.
  • Verifying a hash against an identity does not require a wallet — only daemon RPC access to a node that has decryptdata whitelisted.

Legacy entries continue to work. Timestamps written by 1.1.x and earlier (plaintext per-field DataDescriptors with flags: 0) remain on-chain forever (cmm is append-only), and [email protected]+ reads both shapes transparently.

For background, see How to Publish Encrypted Data on an Identity.

Daemon Setup

Local daemon

The simplest setup — verusd runs on the same machine as the MCP server. No configuration needed — credentials are auto-detected from VRSC.conf.

Remote daemon (VPS)

You can point the MCP server at a verusd instance running on another machine (e.g., a VPS). The daemon needs two config changes in its VRSC.conf:

  1. Allow your IP: Add rpcallowip=<your-ip> (the daemon only accepts localhost by default)
  2. Open the port: Ensure the RPC port (27486) is reachable through any firewalls

Then set the env var overrides (VERUS_RPC_URL, VERUS_RPC_USER, VERUS_RPC_PASSWORD) in your MCP config.

Important: RPC credentials are sent over plain HTTP. If connecting over the open internet (not a local network), use an SSH tunnel to secure the connection:

bash
ssh -L 27486:127.0.0.1:27486 user@your-vps

Then use VERUS_RPC_URL=http://127.0.0.1:27486 as if it were local — the tunnel handles the rest.

Security Notes

  • This server reads your VRSC.conf to auto-detect RPC credentials — no secrets are copied or stored elsewhere
  • This server performs on-chain writes that cost a small transaction fee (default 0.0001 VRSC)
  • The server only connects to your local daemon (or the URL you configure) — no data is sent elsewhere
  • If connecting to a remote daemon, use an SSH tunnel rather than exposing the RPC port directly
  • The sourceoffunds parameter can be used to control which address pays fees

License

MIT

来源:README.md,提交 2fda4e1

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v1.0.0最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分