Vtimestamp Mcp Write — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Vtimestamp Mcp Write (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
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.
claude mcp add --transport stdio --scope user vtimestamp-write -- npx vtimestamp-mcp-write@latestAdd to your claude_desktop_config.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).
Add to your VS Code MCP settings:
{
"mcp": {
"servers": {
"vtimestamp-write": {
"command": "npx",
"args": ["-y", "vtimestamp-mcp-write@latest"]
}
}
}
}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:
~/Library/Application Support/Komodo/VRSC/VRSC.conf~/.komodo/VRSC/VRSC.conf%AppData%\Roaming\Komodo\VRSC\VRSC.confAll optional — only needed for non-standard setups or remote daemons.
| Variable | Description |
|---|---|
VERUS_CONF_PATH | Custom path to VRSC.conf |
VERUS_RPC_URL | Override: daemon RPC URL (for remote daemons) |
VERUS_RPC_USER | Override: RPC username (for remote daemons) |
VERUS_RPC_PASSWORD | Override: RPC password (for remote daemons) |
vtimestamp_createCreate a new timestamp on a VerusID. Provide either a file path or text — the server computes the SHA-256 hash automatically.
| Parameter | Type | Required | Description |
|---|---|---|---|
identity | string | Yes | VerusID name (e.g., alice@) |
file_path | string | One of | Path to a file to hash and timestamp |
text | string | One of | Text to hash and timestamp (e.g., an attestation or report) |
title | string | Yes | Title for the timestamp |
description | string | No | Description of the content |
filename | string | No | Original filename (auto-detected when using file_path) |
filesize | number | No | File size in bytes (auto-detected when using file_path) |
sourceoffunds | string | No | Funding address (R-address, z-address, or ID@) |
feeoffer | number | No | Fee offer in VRSC (default: 0.0001) |
Either file_path or text must be provided (mutually exclusive).
Example prompts:
Success response:
{
"success": true,
"identity": "alice@",
"hash": "a7f3b2c1...",
"title": "Q4 Report",
"transaction_id": "abc123...",
"message": "Timestamp created successfully"
}Error cases:
InvalidParams errorThe 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)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:
getidentity, getidentityhistory, getidentitycontent) returns the ciphertext descriptor, not readable strings.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.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.
The simplest setup — verusd runs on the same machine as the MCP server. No configuration needed — credentials are auto-detected from VRSC.conf.
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:
rpcallowip=<your-ip> (the daemon only accepts localhost by default)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:
ssh -L 27486:127.0.0.1:27486 user@your-vpsThen use VERUS_RPC_URL=http://127.0.0.1:27486 as if it were local — the tunnel handles the rest.
sourceoffunds parameter can be used to control which address pays feesMIT
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.