Vtimestamp

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

MCP server for verifying and querying vtimestamp proofs on the Verus blockchain

已验证STDIO仅桌面数据库安全与监控

概览

AI 生成的概览

本地 MCP 服务器,让助手在 Verus 区块链身份上验证文件或文本是否已打时间戳,并列出某身份的全部时间戳。

可以做什么
验证文件或文本:根据身份名加上文件路径或文本(二者互斥),计算 SHA-256 哈希并与链上记录比对。列出某 VerusID 上记录的所有时间戳,包括旧版明文条目与公开加密条目混合的情况。通过无参数的信息工具介绍 vtimestamp 服务本身。
适用场景
需要证明或核查某份文档或文本在特定时间已存在于 Verus 区块链上,或想查看某身份打过哪些时间戳时适用。它是只读的,适合审计与验证流程,而不是写入新时间戳。
运行要求
需要 Node.js 18 或更高版本,通过 npx 以 stdio 在本地运行。默认无需钱包、API 密钥或认证,通过 HTTPS 查询公共 Verus 主网 RPC 端点。可选环境变量(VERUS_RPC_URL、VERUS_CONF_PATH、VERUS_RPC_USER、VERUS_RPC_PASSWORD)可切换到本地守护进程,测试网的加密读取必须使用本地守护进程。
安装前请注意
这是只读服务器;写入时间戳是另一个服务器,需要守护进程和钱包私钥。默认查询会发往公共 RPC 端点,因此你核查的身份名和哈希会发送给第三方;改用本地守护进程可避免。若配置本地守护进程,会从环境读取 VERUS_RPC_PASSWORD 及配置文件中的凭据。在备用公共端点上加密条目无法解密。

安装

在 SourceWeft 中

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

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

其他 MCP 客户端

参照 仓库 中的启动说明。

README

vtimestamp-mcp

MCP server for verifying and querying vtimestamp proofs on the Verus blockchain.

Enables AI agents (Claude Desktop, VS Code, etc.) to verify document timestamps and list all timestamps on a VerusID — directly from the blockchain.

Looking for the write server? See vtimestamp-mcp-write — needs a local daemon and a wallet with the identity's private key.

Installation

Claude Code

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

Claude Desktop

Add to your claude_desktop_config.json:

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

Using yarn:

json
{
  "mcpServers": {
    "vtimestamp": {
      "command": "yarn",
      "args": ["dlx", "vtimestamp-mcp"]
    }
  }
}

Using pnpm:

json
{
  "mcpServers": {
    "vtimestamp": {
      "command": "pnpm",
      "args": ["dlx", "vtimestamp-mcp"]
    }
  }
}

VS Code

Add to your VS Code MCP settings:

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

Tools

vtimestamp_verify

Verify whether a file or text has been timestamped on a VerusID. Provide either a file path or text — the server computes the SHA-256 hash and checks it against the on-chain record.

ParameterTypeRequiredDescription
identitystringYesVerusID name (e.g., alice@)
file_pathstringOne ofPath to a file to verify
textstringOne ofText string to verify

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

Example prompts:

  • "Check if the file at /path/to/report.pdf has been timestamped on alice@"
  • "Verify this text was timestamped on bob@: I attest that invoice #4521 was approved"

vtimestamp_list

List all timestamps recorded on a VerusID.

ParameterTypeRequiredDescription
identitystringYesVerusID name (e.g., alice@)

Example: "What documents has alice@ timestamped?"

vtimestamp_info

Get information about the vtimestamp service.

No parameters.

Example: "What is vtimestamp?"

How It Works

By default, the server queries a public Verus mainnet RPC endpoint. No wallet, no API keys, no authentication required.

AI Agent (Claude Desktop, VS Code, etc.)
    │ stdio (JSON-RPC)
    ▼
vtimestamp-mcp (local)
    │ HTTPS (JSON-RPC 1.0)
    ▼
Public Verus Mainnet RPC (rpc.vrsc.syncproof.net, fallback api.verus.services)

You can also point this server at your own daemon — useful for testnet (where no public RPC supports decryption), high-volume agents, custom chains, or anyone who'd rather not have their inspections hit a public RPC. See Configuration below.

On-chain storage shape

vtimestamps are stored under a VerusID's contentmultimap and read via getidentityhistory (one history entry per updateidentity). This server handles two on-chain shapes transparently:

  • Public-encrypted (flags: 13, written by [email protected]+) — the daemon's {data:{}} envelope produces a single ciphertext DataDescriptor with epk and ivk published on-chain. Reading these requires decryptdata + the originating txid + retrieve: true. Because the IVK is on-chain (public-encrypted mode), anyone can decrypt — no key sharing.
  • Legacy plaintext (flags: 0, written by [email protected] and earlier) — per-field DataDescriptors (sha256, title, description, filename, filesize) under labeled keys. Read directly without decryptdata.

The reader branches on each entry's flags. Mixed identities (legacy entries from older writes alongside new encrypted entries) are handled correctly — both surface in vtimestamp_list output.

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

Public RPC requirement

decryptdata is a daemon RPC method that public Verus RPCs do not all whitelist. As of writing:

EndpointChaindecryptdataNotes
https://rpc.vrsc.syncproof.netVRSC mainnet✅ enabledThis server's primary endpoint.
https://api.verus.servicesVRSC mainnet❌ disabledFallback only. Encrypted entries fail to decrypt here, but legacy plaintext reads still work.
https://api.verustest.netVRSCTEST❌ disabledNo public testnet RPC supports decryptdata. Testnet encrypted reads require a local daemon.

If syncproof is unreachable and the call falls back to api.verus.services, encrypted entries will gracefully surface as un-decryptable rather than crashing.

Configuration

For default public-RPC use, no configuration is needed. To point the server at your own daemon (required for testnet, recommended for high-volume use), set environment variables.

Environment Variables

All optional. Setting any of these switches the server from public-RPC mode to local-daemon mode.

VariableDescription
VERUS_RPC_URLDaemon RPC URL (e.g., http://127.0.0.1:27486 for mainnet, http://127.0.0.1:18843 for testnet)
VERUS_CONF_PATHPath to a VRSC.conf / vrsctest.conf file. Auto-derives URL (http://127.0.0.1:<rpcport>) and credentials.
VERUS_RPC_USEROverride: RPC username
VERUS_RPC_PASSWORDOverride: RPC password

Behavior:

  • (no env vars) → public RPC pair (rpc.vrsc.syncproof.net primary, api.verus.services fallback). Mainnet only.
  • VERUS_RPC_URL set → single local endpoint at that URL. Auth from VERUS_RPC_USER + VERUS_RPC_PASSWORD, or auto-derived from VERUS_CONF_PATH if those are missing.
  • VERUS_CONF_PATH set (without VERUS_RPC_URL) → URL = http://127.0.0.1:<rpcport> from the conf, with credentials from the conf.

Local daemon example (testnet)

json
{
  "mcpServers": {
    "vtimestamp": {
      "command": "npx",
      "args": ["-y", "vtimestamp-mcp@latest"],
      "env": {
        "VERUS_CONF_PATH": "/Users/you/Library/Application Support/Komodo/vrsctest/vrsctest.conf"
      }
    }
  }
}

Or pin everything explicitly:

json
{
  "mcpServers": {
    "vtimestamp": {
      "command": "npx",
      "args": ["-y", "vtimestamp-mcp@latest"],
      "env": {
        "VERUS_RPC_URL": "http://127.0.0.1:18843",
        "VERUS_RPC_USER": "rpc-user-from-conf",
        "VERUS_RPC_PASSWORD": "rpc-password-from-conf"
      }
    }
  }
}

Requirements

  • Node.js 18+
  • For default operation: nothing else — uses public mainnet RPC.
  • For testnet or local-daemon mode: a running verusd (or verusd -chain=vrsctest) on the host you point at.

License

MIT

来源:README.md,提交 bbe4785

工具

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

版本历史

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

评分

已满足适用检查项的 50%

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

  • 近 30 天内可连通25 分

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

  • 已声明认证方式10 分

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

  • 已列出工具15 分

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

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