EU archive of the machine-readable web: check a domain, order a time-stamped record or extract.
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Where a point-in-time record stands, by its reference (MW-K-…): awaiting payment, queued, capturing, first delivery sent, complete. Per witness: waiting, capturing, captured, failed or refused. Never returns the e-mail address, the addresses ordered or anything else about the customer.
The order reference, e.g. MW-K-3F9A2C1D.
Where a point-in-time record stands, by its reference (MW-K-…): awaiting payment, queued, capturing, first delivery sent, complete. Per witness: waiting, capturing, captured, failed or refused. Never returns the e-mail address, the addresses ordered or anything else about the customer.
| Argument | Type | Description |
|---|---|---|
| reference* | string | The order reference, e.g. MW-K-3F9A2C1D. |
{
"type": "object",
"required": [
"reference"
],
"properties": {
"reference": {
"type": "string",
"description": "The order reference, e.g. MW-K-3F9A2C1D."
}
}
}Answer whether this archive observes a given domain, from which sealed day onward, which machine-readable files it requests, and at what cadence. Returns metadata only — never the contents of any file, and never an assessment of the domain or its operator. 'Not observed' is a statement about this archive, not about the domain: most of the web is not observed.
| Argument | Type | Description |
|---|---|---|
| domain* | string | A domain name, for example example.eu. A pasted URL is accepted. |
{
"type": "object",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string",
"description": "A domain name, for example example.eu. A pasted URL is accepted."
}
}
}Create a payment link for a point-in-time record: both witnesses fetch the named addresses, take a full-page picture of each, and give each capture its own qualified electronic time-stamp. Up to twenty public addresses, all on the same domain. Before the link is created, every address is checked at no charge: a public domain name, not on the stop list, robots.txt allows our crawler, and it answers without a login; refused addresses are named with the reason. This call charges nothing. The capture starts only after a person has paid on the returned page; the record is then delivered by e-mail, and a second e-mail follows after the night's seal. Only addresses are asked for, never a purpose. Fees: https://machinewitness.eu/services
| Argument | Type | Description |
|---|---|---|
| string | Delivery address, prefilled on the payment page. Optional; the page asks for it otherwise. | |
| language | string | Language of the payment page and the e-mails. Default en. |
| timezone | string | IANA time zone of the requester (e.g. Europe/Berlin) for the expected start time. Default Europe/Madrid. |
| addresses* | array | Full addresses (https://…), one to twenty, all on one domain. |
{
"type": "object",
"required": [
"addresses"
],
"properties": {
"email": {
"type": "string",
"description": "Delivery address, prefilled on the payment page. Optional; the page asks for it otherwise."
},
"language": {
"enum": [
"en",
"de",
"es",
"fr",
"it",
"pl"
],
"type": "string",
"description": "Language of the payment page and the e-mails. Default en."
},
"timezone": {
"type": "string",
"description": "IANA time zone of the requester (e.g. Europe/Berlin) for the expected start time. Default Europe/Madrid."
},
"addresses": {
"type": "array",
"items": {
"type": "string"
},
"description": "Full addresses (https://…), one to twenty, all on one domain."
}
}
}Create a payment link for an evidence extract: everything this archive recorded on a domain, as one verifiable document (every observed day, every file type, both witnesses, with the seals and verification instructions). One to twenty domains. A domain this archive never observed is refused by name before the link is created, because there would be nothing to deliver; use check_coverage first. This call charges nothing. After a person has paid on the returned page, a confirmation with the reference follows at once and the extract is normally delivered by e-mail within five working days. Only domains are asked for, never a purpose or a matter. Terms: https://machinewitness.eu/extract · Fees: https://machinewitness.eu/services
| Argument | Type | Description |
|---|---|---|
| string | Delivery address, prefilled on the payment page. Optional; the page asks for it otherwise. | |
| domains* | array | Domain names, one to twenty, e.g. example.eu. |
| language | string | Language of the payment page and the e-mails. Default en. |
{
"type": "object",
"required": [
"domains"
],
"properties": {
"email": {
"type": "string",
"description": "Delivery address, prefilled on the payment page. Optional; the page asks for it otherwise."
},
"domains": {
"type": "array",
"items": {
"type": "string"
},
"description": "Domain names, one to twenty, e.g. example.eu."
},
"language": {
"enum": [
"en",
"de",
"es",
"fr",
"it",
"pl"
],
"type": "string",
"description": "Language of the payment page and the e-mails. Default en."
}
}
}Create a payment link for the daily observation of domains, as a yearly or monthly subscription: from admission, within five working days of payment, two independent witnesses record each domain every day in full (homepage and the machine-readable files), seal each day and anchor it externally; the admission is entered in the public record. The customer pays for the measurement, not for a document: the data in hand is an evidence extract (order_extract). A domain already observed daily in the core is refused by name, because it costs nothing. On cancellation the subscription ends with the paid period and everything witnessed until then stays sealed. This call charges nothing; the subscription starts only after a person has paid on the returned page. Fees and tiers: https://machinewitness.eu/services
| Argument | Type | Description |
|---|---|---|
| string | Address for confirmations, prefilled on the payment page. Optional. | |
| domains* | array | Domain names, one to 500, e.g. example.eu. |
| interval | string | Billing interval. Default year. |
| language | string | Language of the payment page and the e-mails. Default en. |
{
"type": "object",
"required": [
"domains"
],
"properties": {
"email": {
"type": "string",
"description": "Address for confirmations, prefilled on the payment page. Optional."
},
"domains": {
"type": "array",
"items": {
"type": "string"
},
"description": "Domain names, one to 500, e.g. example.eu."
},
"interval": {
"enum": [
"year",
"month"
],
"type": "string",
"description": "Billing interval. Default year."
},
"language": {
"enum": [
"en",
"de",
"es",
"fr",
"it",
"pl"
],
"type": "string",
"description": "Language of the payment page and the e-mails. Default en."
}
}
}Suggest that a domain be observed. This is a request, not an instruction: admission follows documented criteria (a connection to the European Union, publicly served machine-readable files) and is decided by the operator. The answer is always 'received' with 'guarantee: none' — it creates no obligation to observe the domain, no timeline, and no assurance that it will be added. A reason is required and is read by a person.
| Argument | Type | Description |
|---|---|---|
| email* | string | Reply address. Used to answer the suggestion and nothing else. |
| domain* | string | The domain to suggest. |
| reason* | string | Why this domain should be observed. Written for a human reader; a sentence or two is enough. |
{
"type": "object",
"required": [
"domain",
"email",
"reason"
],
"properties": {
"email": {
"type": "string",
"description": "Reply address. Used to answer the suggestion and nothing else."
},
"domain": {
"type": "string",
"description": "The domain to suggest."
},
"reason": {
"type": "string",
"description": "Why this domain should be observed. Written for a human reader; a sentence or two is enough."
}
}
}