About MachineWitness
MachineWitness is an EU archive that records what public domains serve to machines and seals daily records with a published Merkle root and external timestamp. Its MCP server checks coverage and lets clients request timestamped captures or extracts without exposing archived file contents.
Key features
- 01Check domain observation coverage
- 02View capture status by reference
- 03Suggest domains for observation
- 04Order timestamped address captures
- 05Request evidence extracts and observation
Use cases
- 01Check whether a domain has been recorded
- 02Request a timestamped record of public addresses
- 03Obtain an extract of archived domain records
MCP support
The hosted, unauthenticated Streamable HTTP MCP server provides tools to check coverage, view capture status, suggest domains, and order records or extracts. It reports archive records, not evaluations or legal advice.
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
https://machinewitness.eu/mcpclaude mcp add --transport http eu-machinewitness-archive https://machinewitness.eu/mcp{"mcpServers":{"eu-machinewitness-archive":{"type":"http","url":"https://machinewitness.eu/mcp"}}}Open in Cursor{"servers":{"eu-machinewitness-archive":{"type":"http","url":"https://machinewitness.eu/mcp"}}}Open in VS Code{"mcpServers":{"eu-machinewitness-archive":{"type":"http","url":"https://machinewitness.eu/mcp"}}}{"mcpServers":{"eu-machinewitness-archive":{"serverUrl":"https://machinewitness.eu/mcp"}}}Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.
Tools
6| Parameter | Type | Required | Description |
|---|---|---|---|
| domain | string | Yes | A domain name, for example example.eu. A pasted URL is accepted. |
Details
From the project README
MachineWitness MCP server: is this domain on the record?
MachineWitness is an evidentiary archive of the machine-readable web in the European Union. Every day two independent witnesses record what public domains serve to machines (robots.txt, ai.txt, TDM reservations, llms.txt, and the headers and meta tags of the homepage) and seal that day into a published Merkle root with an external timestamp.
This server lets Claude, ChatGPT, Cursor or any MCP client ask whether a domain is observed, suggest one, and order a time-stamped record of public addresses, in the same conversation in which the question comes up. Hosted by machinewitness.eu; this repository holds the public metadata, the server code is not open source.
https://machinewitness.eu/mcp
Streamable HTTP · no authentication · listed in the
official MCP registry
as eu.machinewitness/archive.
A witness, not a detective
The archive records; it does not evaluate, rank or accuse. The tools answer whether a domain is observed and from when. They never return file contents, and there is no way to list or search the observed set. A record states what an address delivered at a given time; it is not an assessment and not legal advice.
Tools
check_coverage: is a domain observed, from which sealed day, which files, at what cadence. Metadata only. read-onlycapture_status: where a point-in-time record stands, by its reference. Returns no customer data. read-onlysuggest_domain: suggest a domain for observation, with a reason a person reads. Always answered with "received", never with a promise. writeorder_capture: up to twenty public addresses on one domain. Every address is checked for free first; the tool then returns a payment link and charges nothing itself. After payment, both witnesses fetch and picture each address, each capture gets its own qualified electronic time-stamp, and the record is delivered by e-mail. writeorder_extract: one to twenty observed domains. Returns a payment link for an evidence extract, everything the archive recorded on each domain as one verifiable document; a domain never observed is refused by name before payment. Charges nothing itself. writeorder_observation: one to 500 domains, yearly or monthly. Returns a payment link for daily observation; a domain already observed daily in the core is refused by name. Charges nothing itself. write
Six languages for payment page and e-mails: en, de, es, fr, it, pl.
Setup
{
"mcpServers": {
"machinewitness": {
"type": "streamableHttp",
"url": "https://machinewitness.eu/mcp"
}
}
}
See llms-install.md for a one-call check that it works.
Connect in your assistant
Every client below takes the same address, https://machinewitness.eu/mcp, with
no authentication. No account, no API key.
-
Claude Code, as a plugin (server plus a short skill that says when to use it):
/plugin install machinewitness --marketplace martinschenk/machinewitness-mcp -
Claude Code, server only:
claude mcp add --transport http machinewitness https://machinewitness.eu/mcp -
Claude (web and desktop): add a custom connector with the address above.
-
ChatGPT: in developer mode, create a connector with the address above, authentication "none".
-
Le Chat (Mistral): add a custom MCP connector with the address above, "no authentication".
-
Perplexity, Grok, Cursor, VS Code, Gemini CLI and other MCP clients: add a remote (Streamable HTTP) server with the address above.
Full reference, including the plain HTTP API: machinewitness.eu/api. Fees: machinewitness.eu/services.
Privacy
The tools ask only for what their purpose needs: a domain, a reply address for a suggestion, addresses to record and a delivery address for an order. Never a purpose or a matter. What is kept and for how long: machinewitness.eu/privacy
Operated by Martin Schenk S.L., Madrid · machinewitness.eu · questions: [email protected]
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.