+
+ Get the local hasher
+ No repo clone. This page detects your platform, fetches the matching published binary from /hasher/, and falls back to WASM/JS when a native build is not available.
+
+
Detecting platform…
+
+
+
+
+ All published binaries
+
+ | Target | File | Size | SHA-256 |
+
+
+ Manifest: /hasher/latest.json · Source rebuild: ./scripts/publish-hasher.sh in the client repo.
+
+
+
+ Connect an MCP client
+ Point Claude, Cursor, or another MCP client at this host. You do not need to run a local server.
+ {
+ "mcpServers": {
+ "verae-timestamping": {
+ "url": "https://HOST/mcp"
+ }
+ }
+}
+ Public endpoints: https://HOST/mcp
+ · also mcp.veraetime.net/mcp
+ · mcp.georgelambert.org/mcp
+
+ Hash a file, then stamp
+ # after installing the binary as verae-sha256 on your PATH:
+DIGEST=$(verae-sha256 ./document.pdf)
+echo "$DIGEST"
+# then ask your MCP client to call tool "stamp" with { "sha256": "$DIGEST", "scope": "global" }
+# or try the browser sample:
+# open sample.html and paste the digest
+
+
- Register on your machine
- This is the install for a person or a server you control. uv runs the command. You do not clone this repository.
+ Optional: register on your machine
+ For a local uvx server (or global stamps that need a VeraeTime account), register once. You still do not clone a repository.
uvx verae-mcp-timestamping-server setup
- Choose new to create a VeraeTime account, or existing to log in.
- - Enter a username and password. The command calls
https://api.veraetime.net.
- - It writes ~/.verae/auth.properties with mode
600 and prints your username, role, and expiry. It does not print the token.
- - Check it later with
uvx verae-mcp-timestamping-server session.
+ - It writes ~/.verae/auth.properties with mode
600. It does not print the token.
+ - Check later with
uvx verae-mcp-timestamping-server session.
- If you start the server before registering, it prints those same steps on its error stream and still starts. Global stamps need the file. Local stamps do not.
-
-
-
- Connect an assistant
- Pick the environment you use. The config names the program. It does not contain the token.
Claude Desktop
macOS and Windows
- macOS file: ~/Library/Application Support/Claude/claude_desktop_config.json. Windows file: %APPDATA%\Claude\claude_desktop_config.json. Restart Claude after saving.
+ macOS: ~/Library/Application Support/Claude/claude_desktop_config.json. Windows: %APPDATA%\Claude\claude_desktop_config.json.
Cursor
Project or user
- User file: ~/.cursor/mcp.json. A project file is .cursor/mcp.json in that project. Restart Cursor after saving.
+ User file: ~/.cursor/mcp.json. Project file: .cursor/mcp.json.
- VS Code and others
- mcp.json
- The same JSON works for any client that reads the Model Context Protocol mcpServers map, including VS Code with an MCP extension.
+ Local uvx
+ Run on this computer
+ Use command: uvx / args: ["verae-mcp-timestamping-server"] instead of a remote URL when you want the process on your machine.
- Run it on your computer
- The assistant starts the server. Your login in ~/.verae/auth.properties is the one it uses.
- {
- "mcpServers": {
- "verae-timestamping": {
- "command": "uvx",
- "args": ["verae-mcp-timestamping-server"]
- }
- }
-}
- Use the public server
- No local program. The assistant connects to this host. When per-user sign-in is on, the first connection opens a browser page at /account to create an account or log in. That token stays in the assistant’s OAuth store, not in this file.
- {
- "mcpServers": {
- "verae-timestamping": {
- "url": "https://mcp.veraetime.net/mcp"
- }
- }
-}
- Where the token lives
+ Where credentials live
Your machine
~/.verae/auth.properties
- Mode 600, owned by you. Holds the JWT, its expiry, your username, and your password so a stamp can log in again before the 24-hour token expires. Do not commit this file.
+ Mode 600. Holds the JWT for local/global stamps. Do not commit this file.
Your assistant
- OAuth file
- A browser login on the public server gives the assistant a VeraeTime JWT and a refresh token. The Python client stores that under ~/.verae/oauth/mcp-tokens.json, also mode 600.
+ OAuth store
+ Browser login on the public server keeps tokens in the assistant’s OAuth store, not in mcp.json.
Never
Chat or mcp.json
- Do not paste the token into a conversation or into the client config. session shows the username and expiry if you need to confirm the login.
+ Do not paste tokens into a conversation or client config.
@@ -212,8 +272,213 @@
+