verae-mcp-timestamping-server/README.md
George Lambert 107fa785b0 feat: route scope=global stamp/verify to api.veraetime.net
Evercycle-style local facade: GlobalClient posts /api/timestamp and
/api/verify with Bearer from VERAE_GLOBAL_TOKEN or ~/.verae/auth.properties.
2026-09-20 10:07:41 -04:00

52 lines
1.6 KiB
Markdown

# verae-mcp-timestamping-server
[![standard-readme compliant](https://img.shields.io/badge/readme%20style-standard-brightgreen.svg?style=flat-square)](https://github.com/RichardLitt/standard-readme)
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. Bearer token: `VERAE_GLOBAL_TOKEN` or `~/.verae/auth.properties`.
## Install
```sh
cd /Users/marchon/research/modelcontextprotocol/verae-mcp-timestamping-server
uv sync --group dev
```
## Usage
Inspector (stdio, memory ledger):
```sh
uv run mcp dev src/verae_mcp_timestamping_server/server.py
```
Streamable HTTP (`http://127.0.0.1:8000/mcp`):
```sh
VERAE_MCP_TRANSPORT=streamable-http uv run verae-mcp-timestamping-server
```
Tests:
```sh
uv run pytest
```
Global stamp (central VeraeTime):
```sh
export VERAE_GLOBAL_URL=https://api.veraetime.net
export VERAE_GLOBAL_TOKEN= # or put access_token= in ~/.verae/auth.properties
# then call tool stamp with scope=global
```
Do not send file bytes to `stamp`. Local receipts persist at `~/.verae/mcp-timestamp-local.json` (`VERAE_LEDGER_PATH`).
## 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