Quickstart
The Sarek MCP server exposes Sarek Core to AI agents over the Model Context
Protocol. It advertises three tools, sarek_stamp, sarek_verify and
sarek_get_proof, so an agent can stamp data and verify proofs as part of its
own reasoning. The tools operate on SHA3-256 hashes, so raw data never leaves the
agent’s process.
Requirements
- An MCP client that speaks Streamable HTTP
- A Sarek API key (the same key the Sarek SDKs use)
Connecting your agent
Point your MCP client at your Sarek MCP endpoint and pass the API key as a Bearer
token in the Authorization header. The examples below use
https://mcp.sarek.technology/mcp.
MCP client config
{
"mcpServers": {
"sarek": {
"url": "https://mcp.sarek.technology/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}Once connected, the client discovers the tools through tools/list. The
descriptions tell the agent exactly how to call each one.
Your first stamp
sarek_stamp takes a hash, not raw data. The agent hashes its data locally with
SHA3-256 and passes the 64-character lowercase hex digest. The tool stamps it
on-chain and returns a verifiable proof.
// sarek_stamp input
{
"hash": "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08"
}// sarek_stamp result
{
"tx_hash": "0x4a7c2f...e91b",
"ldgp": "VEVSSFVB...base64...",
"mmr_root": "c1d2e3...f0",
"block_number": 10789522,
"on_chain": true
}The ldgp field is the portable proof. Keep it; it is all you need to verify the
stamp later.
Verifying a proof
sarek_verify checks a ldgp proof against the on-chain record. Pass the proof
on its own, or attach the original data (base64-encoded) to also confirm the data
is unchanged.
// sarek_verify input
{
"ldgp": "VEVSSFVB...base64...",
"data": "TG9hbiAjNDgyMSBhcHByb3ZlZA=="
}// sarek_verify result
{
"valid": true,
"layers": {
"data_integrity": true,
"tree_integrity": true,
"on_chain": true,
"on_chain_leaf": true,
"block_number": 10789522,
"block_date": "2026-06-12T00:00:00.000Z"
},
"leaf": "9f86d081...0a08",
"mmr_root": "c1d2e3...f0"
}See Tools for every parameter and return field, and Verification for what each layer proves.
What the tools never see
The server only ever handles hashes and proofs. sarek_stamp validates that its
input is a 64-character SHA3-256 hash and rejects raw data outright, so the data
itself never reaches the network, the server’s memory, or any log. Hashing stays
on the agent’s side, exactly as the Sarek SDKs and CLI already do it.