verae-mcp-timestamping-server/README.md
George Lambert c547804835 feat: add signup, login, session, and create_user
signup calls POST /auth/signup and leaves the stored JWT in place.
login writes the VeraeTime token to the auth properties file and
does not return it. A stored username and password refresh that
token when expires_at is missing or within five minutes.
create_user still requires an admin session.
2026-09-23 11:15:11 -04:00

2.4 KiB

verae-mcp-timestamping-server

standard-readme compliant

Verae MCP timestamping server. Hash-only stamps via leaf locald/NATS.

The MCP process never hashes content. Clients send a SHA-256 hex digest. scope=local writes ~/.verae/mcp-timestamp-local.json. scope=global POSTs to https://api.veraetime.net/api/timestamp (same wire as verae-timestamp/global.Client). want_scope=global verifies against that API as the central source of truth. signup creates a user account with no existing session. login stores the VeraeTime JWT on this host. session checks it. create_user adds an account when that JWT is an admin.

Install

cd /Users/marchon/research/modelcontextprotocol/verae-mcp-timestamping-server
uv sync --group dev

Usage

Inspector (stdio, memory ledger):

uv run mcp dev src/verae_mcp_timestamping_server/server.py

Streamable HTTP (http://127.0.0.1:8000/mcp):

VERAE_MCP_TRANSPORT=streamable-http uv run verae-mcp-timestamping-server

Tests:

uv run pytest

HTTP stamp traces (HTML viewer) live under debug-trace/<YYYY-MM-DDTHHMMSSZ>-<slug>/:

uv run python scripts/transaction_log_test.py
open debug-trace/2026-09-20T143541Z-verae-debug-test/transaction-log-test.html

Global stamp (central VeraeTime). login writes ~/.verae/auth.properties (mode 600) and does not return the JWT:

# MCP tools: signup, login, session, create_user
# or: export VERAE_GLOBAL_TOKEN=...
# then stamp with scope=global

Do not send file bytes to stamp. Local receipts persist at ~/.verae/mcp-timestamp-local.json (VERAE_LEDGER_PATH).

Printed and HTML copies of the operator guide, architecture, tool API, and standards:

bash scripts/build-docs.sh
open docs/html/index.html

Sources: docs/operator-guide.md, docs/architecture.md, docs/api.md, docs/standards.md.

Sample page (talks to Streamable HTTP on this machine):

open site/index.html

Public copy of the page and the docs: https://mcp.georgelambert.org/.

Contributing

Questions: this research workspace. PRs welcome. Protocol questions belong at https://github.com/modelcontextprotocol. Timestamp ledger questions belong with verae-timestamp / locald.

License

UNLICENSED © George Lambert