Rules for the Verae MCP timestamping server.
This process is an MCP server (Model Context Protocol). Clients are assistants and inspectors that speak MCP. It is not a REST product API and not a browser session by itself.
sha256: prefix is stripped.e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855.
Callers may stamp that digest. The server does not invent it from a
missing file.| Scope | Where the receipt lives |
|---|---|
local |
JSON file, default
~/.verae/mcp-timestamp-local.json |
shared |
Same file. There is no separate shared store in this process |
global |
POST https://api.veraetime.net/api/timestamp with
wait=true |
want_scope=global on verify asks VeraeTime.
A local receipt cannot satisfy global.
hash_report reads the local file only. VeraeTime is not
queried for a digest history. A global stamp can verify by certificate
id and still be absent from hash_report. An empty list
means “not in the local file,” not “VeraeTime has no record.”
VERAE_GLOBAL_TOKEN, else
access_token / id_token /
auth_token in ~/.verae/auth.properties
(VERAE_AUTH_PROPERTIES overrides the path)..env is gitignored.0600 after each
save.NatsLedger is optional and is not the default. It uses
core NATS request/reply:
verae.ts.requestverae.ts.verifyverae.hash.reportJob-complete and receipt notifications stay ephemeral core NATS
(verae.ts.completed, verae.ts.receipt). This
server does not put those events on JetStream.
VERAE_MCP_TRANSPORT |
Bind |
|---|---|
unset or stdio |
Parent process stdin/stdout |
streamable-http |
VERAE_MCP_HOST (default 127.0.0.1) and
VERAE_MCP_PORT (default 8000), path
/mcp |
Leave the HTTP bind on loopback unless a reverse proxy terminates TLS and authentication in front of it. Do not publish the VeraeTime bearer token on an open internet listener.
Invalid digests and unknown scopes raise ToolError with
the ValueError text. HTTP failures from VeraeTime surface
as global timestamp HTTP <status>.