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.
1.4 KiB
1.4 KiB
Operator guide
Install
cd /Users/marchon/research/modelcontextprotocol/verae-mcp-timestamping-server
uv sync --group dev
Run stdio
uv run verae-mcp-timestamping-server
Run Streamable HTTP
VERAE_MCP_TRANSPORT=streamable-http uv run verae-mcp-timestamping-server
The listener is http://127.0.0.1:8000/mcp.
For the sample page on another origin:
VERAE_MCP_CORS=1 VERAE_MCP_TRANSPORT=streamable-http uv run verae-mcp-timestamping-server
A page served from the public internet still cannot call 127.0.0.1 from current browsers. Open site/index.html on the same machine, or put TLS and an access control in front of a non-loopback bind you choose yourself.
Global token
signup creates a role user account with no bearer token. Call login with that username and password to store the JWT in ~/.verae/auth.properties (mode 600). The server uses it for scope=global without a restart. session checks that JWT. create_user adds an account when the stored role is admin.
# or skip the tool and export a token yourself:
export VERAE_GLOBAL_TOKEN=...
Tests
uv run pytest
Stamp traces (live VeraeTime) are a separate script. They write debug-trace/<YYYY-MM-DDTHHMMSSZ>-<slug>/:
uv run python scripts/transaction_log_test.py
Build these documents
bash scripts/build-docs.sh
HTML lands in docs/html/. PDF lands in docs/pdf/.