protogrid

Search / io.github.MarkovianProtocol/provenance

provenance

R0· no sign-in

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

v0.2.0 · active · repository · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality88good
Trust94of 100
Uptime, 30 days98%
Latency p50367 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "provenance": {
      "type": "http",
      "url": "https://api.markovianprotocol.com/mcp/"
    }
  }
}
claude mcp add --transport http provenance https://api.markovianprotocol.com/mcp/
[mcp_servers.provenance]
url = "https://api.markovianprotocol.com/mcp/"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "provenance": {
      "type": "remote",
      "url": "https://api.markovianprotocol.com/mcp/",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "provenance": {
      "type": "http",
      "url": "https://api.markovianprotocol.com/mcp/"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=provenance&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vYXBpLm1hcmtvdmlhbnByb3RvY29sLmNvbS9tY3AvIn0%3D"
}
{
  "servers": {
    "provenance": {
      "type": "http",
      "url": "https://api.markovianprotocol.com/mcp/"
    }
  }
}
{
  "mcpServers": {
    "provenance": {
      "httpUrl": "https://api.markovianprotocol.com/mcp/"
    }
  }
}
extensions:
  "provenance":
    enabled: true
    name: "provenance"
    type: streamable_http
    uri: "https://api.markovianprotocol.com/mcp/"
    timeout: 300

Quality 88 / 100good

protocol75 · weight 25
  • warn
    protocol.modernnewest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
  • n/a
    protocol.statelessonly applies to 2026-07-28 servers
  • pass
    protocol.transportstreamable HTTP
  • n/a
    protocol.list_ttlonly applies to 2026-07-28 servers
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene93 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations4 of 4 tools declare readOnlyHint or destructiveHint
  • warn
    tools.directory_hints2 of 4 tools declare all four hints; missing: markovian_verify (destructiveHint, idempotentHint); markovian_trace (destructiveHint, idempotentHint)
  • pass
    tools.token_costabout 1,146 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability100 · weight 15
  • pass
    stability.changesno tool changes in 30 days
  • pass
    stability.rug_pullno tool changed its meaning under the same name
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

4 tools, about 1,146 tokens to load them all · tool set 620ab38fd8a9 · checked 2026-10-20 20:14 UTC

Tool changes

No tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 94 / 100

provenance80
liveness99
freshness100
hygiene100

+repository +namespace-matches-repo +reachable +uptime-98% +updated-27d-ago

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://api.markovianprotocol.com/mcp/ streamable-httpnoneyes98%367 ms2025-11-252026-10-20

Tools (4)

markovian_notarizeNotarize 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.
markovian_stampCommit 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.
markovian_traceread-onlyWalk 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.
markovian_verifyread-onlyLook 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.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "io.github.MarkovianProtocol/provenance",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://api.markovianprotocol.com/mcp/",
      "type": "streamable-http"
    }
  ],
  "version": "0.2.0",
  "repository": {
    "url": "https://github.com/MarkovianProtocol/markovian-protocol",
    "source": "github"
  },
  "description": "Stamp or notarize data into a public witnessed transparency log. Proves timing, not truth."
}