Provenance

io.github.MarkovianProtocolPublished by GitHub account MarkovianProtocolv0.2.0Updated Oct 25, 2026

Stamp or notarize data into a public witnessed transparency log. Proves timing, not truth.

VerifiedStreamable HTTPWeb executableDeveloper ToolsSecurity & Monitoring

Overview

AI-generated overview

A remote MCP server that lets an assistant notarize files or hashes and stamp data into a public, witnessed transparency log anchored to Bitcoin, then verify it

What you can do
Notarize a file or SHA-256 hash into a public transparency log and get back a receipt; the remote endpoint accepts hashes only, so files stay local unless a local stdio server hashes them first. Commit arbitrary data, such as an AI output or a decision, and receive a tamper-evident provenance stamp in the markovian-provenance/v1 format. Look up a stamp by its merkle root on the public verifier without a key or account, then recompute your content's SHA-256 and compare it to the returned data_hash. Walk a stamp's lineage by merkle root when derived_from links exist, returning a graph map with per-node hash binds and anchoring and per-edge verification.
When to use it
Useful when you need to prove that a piece of data or an AI output existed at a given time and has not been altered since, or to trace what an output was derived from. It is not a correctness check: it proves timing, not truth.
Requirements
A remote streamable HTTP endpoint; no authentication, environment variables or headers are declared. The remote endpoint accepts only SHA-256 hex strings, so hashing a file requires the local stdio server. Network access to the public log and verifier is needed.
Before you install
Anything stamped is committed to a public, witnessed transparency log and cannot be treated as private; submit hashes rather than raw content. Verification confirms a record exists and echoes a data_hash, so you must recompute and compare the hash yourself. A verified stamp does not mean the data is correct.

Installation

In SourceWeft

  1. Open Provenance in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.MarkovianProtocol%2Fprovenance/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "provenance": {
      "type": "http",
      "url": "https://api.markovianprotocol.com/mcp/"
    }
  }
}

README

This repository has no README.

Tools

4

markovian_notarize

Markovian Notarize

Notarize any file or hash into a public transparency log cosigned by 7 witnesses from 6 operators and anchored to Bitcoin. Hash-only: pass a sha256 hex string, or with the local stdio server a file path (hashed on your machine; the file never leaves it) — only 32 bytes reach the log. Returns a receipt with the leaf index, inclusion-proof URL, an offline c2sp.org/tlog-proof bundle URL, and the witness trust policy. Proves the hash existed no later than the covering checkpoint, in a single history everyone sees identically; does NOT prove authorship or that the content is true. Rate-limited (10/hour). Typical use: notarize an output the moment it is produced, keep the file, hand anyone the proof URL.

Parameterspathsha256

markovian_stamp

Markovian Provenance Stamp

Commit any data (an AI output, a decision, a record) into a public, witnessed transparency log and get back a verifiable, tamper-evident provenance stamp (canonical markovian-provenance/v1). It proves the data existed and was committed at this time; it does NOT assert the data is correct (provenance, not truth). No wallet, account, or funding is required, the first stamp just works, and only the SHA-256 hash of your data is sent to the public API, the raw data is never stored. The returned merkle_root is the handle: save it, then call markovian_verify(merkle_root) to prove integrity later, or pass prior stamps in derived_from to build a lineage you can walk with markovian_trace. Typical use: stamp an agent output the moment it is produced, so anyone can later confirm it was not altered.

Parametersdatarequiredlabelwalletderived_from

markovian_verify

Markovian Verify

Look up a Markovian stamp by its merkle_root against the public verifier, with no key or account. verified:true means the stamp record exists and the response echoes its committed data_hash — recompute your content's SHA-256 and compare it to that data_hash yourself to confirm the content is unaltered. An unknown merkle_root returns verified:false. The trust-nobody path is the stamp's witnessed transparency-log leaf (log_index / inclusion URL from markovian_stamp): its inclusion proof verifies against the witnessed log head with no trust in this endpoint. Read-only; anyone can run it, including a party who does not trust the stamper.

Parametersmerkle_rootrequired

markovian_trace

Markovian Trace

Walk and verify a stamp's full provenance lineage by merkle_root. Use this when a stamp was created with derived_from links, to map what an output was built from. Returns a MAP of the graph (not a yes/no verdict): each node carries hash_binds and anchored, each edge carries edge_verified, and `valid` is true only if every node and edge checks out. A node whose payload was never published is an unresolved frontier (resolved:false). Read-only. Provenance, not truth.

Parametersmerkle_rootrequired

Version history

2
  1. v0.2.0LatestSep 24, 2026
  2. v0.1.0Sep 16, 2026

Score

75% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts

    Declare a GitHub repository with a README, or serve resource_documentation in the OAuth protected-resource metadata.

  • License10 pts

    Declare a license in the repository or the registry entry.