Skip to main content
Glama

MachineWitness

Server Details

EU archive of the machine-readable web: check if a domain is observed, order a time-stamped record.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
martinschenk/machinewitness-mcp
GitHub Stars
0

TDQS

A3.9/5.0

Scored across 4 tools

Disambiguation4/5

The four tools target distinct operations: order_capture (paid capture), capture_status (per-order status), check_coverage (domain observation metadata), and suggest_domain (free admission request). capture_status vs check_coverage and order_capture vs suggest_domain could be momentarily confused, but the descriptions make the boundaries explicit.

Naming Consistency5/5

All four follow a clean verb_noun snake_case pattern: capture_status, check_coverage, order_capture, suggest_domain. No mixing of conventions or vague verbs.

Tool Count4/5

Four tools is slightly thin, but the service is a narrowly scoped archive/capture operation and each tool earns its place. Nothing extraneous and no obvious duplication.

Completeness3/5

Core lifecycle (order, check status, check coverage, suggest domain) is covered, but there is no way to list past captures/orders, retrieve capture output, or cancel/refund an order. These gaps are partly by design (email delivery), but agents will hit dead ends.

Available Tools

4 tools
capture_statusStatus of a point-in-time recordA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
referenceYesThe order reference, e.g. MW-K-3F9A2C1D.

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so safety is covered structurally; the description adds the closed-world state vocabulary (awaiting payment, queued, capturing, first delivery sent, complete, plus per-witness waiting/capturing/captured/failed/refused) and an explicit negative scope ('never returns the e-mail address, the addresses ordered or anything else about the customer'), which is genuinely useful context. It stops short of stating behavior on an unknown reference or stale record.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three compact sentences, front-loaded with the resource and its state vocabulary, ending with the privacy boundary. The two enumerations are information-dense rather than padding, though the second ('Per witness: …') interrupts the flow slightly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description correctly takes on the burden of describing return values by enumerating both record-level and per-witness states, and it bounds what is not returned. It omits error/invalid-reference behavior and any indication of whether status can change over time (polling expectations), leaving a small gap for a point-in-time status tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the single parameter carries its own description with an example, so the schema does the heavy lifting. The description restates the reference prefix (MW-K-…) but adds no format, validation, or sensitivity detail beyond the schema. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific resource (a point-in-time record) and the information returned (its status, keyed by reference), and enumerates the possible states, so the agent knows exactly what it gets back. It does not, however, distinguish itself from siblings such as check_coverage or order_capture, so an agent still has to infer the boundary. Clear purpose, no sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: 'by its reference (MW-K-…)' signals a lookup keyed on an existing order reference, and the enumerated states imply a polling/monitoring use. There is no explicit when-to-use-this versus check_coverage or order_capture, and no stated preconditions. Minimum viable guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

check_coverageCheck whether a domain is observedA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesA domain name, for example example.eu. A pasted URL is accepted.

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, non-destructive, and closed-world, so the safety profile is covered. The description adds real value beyond that: it states the return is metadata only, never file contents, never an assessment of the domain or operator, and pre-empts misreading 'not observed' as a judgment about the domain. It does not mention auth or rate limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with what the tool returns, followed by output-scope limits and a caveat about the meaning of a negative result. Every sentence carries information, though the opening sentence is long and packs four distinct facts into one clause chain.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description carries the burden of describing the return — and it does, listing sealed day, requested files, and cadence. Combined with the explicit statement that no file contents or judgments are returned, an agent has enough to call it correctly; only error/edge behavior (invalid domain, subdomain) is unaddressed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Only one parameter exists and schema description coverage is 100%, including the note that a pasted URL is accepted. The description adds no additional semantics about the domain argument (normalization, subdomain handling, IDN), so the schema does the work and the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb and resource — answering whether this archive observes a given domain — and enumerates the dimensions of the answer (sealed day, requested machine-readable files, cadence). It is unambiguous about what the tool does, but it never references or contrasts with siblings like capture_status or suggest_domain, so an agent gets no explicit routing signal.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied: this is the lookup to run when you want to know if a domain is in the archive. There is no explicit when-to-use/when-not guidance and no named alternative (e.g., suggest_domain for unobserved domains, order_capture to add one), so the agent must infer routing from sibling names alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

order_captureOrder a point-in-time record of public addressesAInspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
emailNoDelivery address, prefilled on the payment page. Optional; the page asks for it otherwise.
languageNoLanguage of the payment page and the e-mails. Default en.
timezoneNoIANA time zone of the requester (e.g. Europe/Berlin) for the expected start time. Default Europe/Madrid.
addressesYesFull addresses (https://…), one to twenty, all on one domain.

TDQS

A4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare readOnlyHint=false, openWorldHint=true, idempotentHint=false, destructiveHint=false. The description goes well beyond them: no charge at call time, per-address refusal with named reason, delivery by e-mail plus a second e-mail after the night's seal, and the fact that no purpose is collected. That is exactly the behavioral context an agent needs and cannot get from structured fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose is front-loaded in the first sentence, but the paragraph is a single run-on stream with redundancy (address count/domain repeat the schema, and the fees URL is tacked on). The behavioral detail earns its place, but tighter sentence structure and removal of schema echoes would improve it.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description carries the return burden and largely does so: a payment link page is returned, refused addresses are named with reasons, and results arrive by e-mail. It does not specify the exact return shape or error object, leaving a small gap for a mutating tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents email, language, timezone and addresses. The description's 'up to twenty public addresses, all on the same domain' and 'only addresses are asked for, never a purpose' largely restate the schema rather than adding format or constraint detail, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Create a payment link for a point-in-time record' of named public addresses, with clear scope (up to twenty, one domain). It is not a tautology of the name/title. It does not explicitly differentiate itself from siblings like check_coverage, whose pre-validation role it silently absorbs, so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives strong usage context: the call charges nothing, validation happens automatically before link creation, and the capture only starts after a person pays on the returned page. However it never names an alternative tool or states when NOT to use this one, so the routing guidance against check_coverage/capture_status is left implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suggest_domainSuggest a domain for observationAInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYesReply address. Used to answer the suggestion and nothing else.
domainYesThe domain to suggest.
reasonYesWhy this domain should be observed. Written for a human reader; a sentence or two is enough.

TDQS

A4.2/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond annotations: it discloses that the call creates no obligation, no timeline, and no assurance of addition, that the response is always 'received' with 'guarantee: none', and that a human reads the reason. This is exactly the kind of non-obvious behavioral context the annotations cannot convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four sentences, front-loaded with the core action, then the request-not-instruction framing, then the outcome. Every sentence carries distinct information with no repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having no output schema, the description fully describes the return ('received', 'guarantee: none') and the downstream process, so an agent knows both what to send and what to expect.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3, but the description adds meaning the schema lacks: the reason is required and is read by a person, framing it as human-facing prose rather than a machine field.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('suggest that a domain be observed') and frames the action as a non-binding request. It implicitly separates itself from order_capture, but never names the sibling or explicitly contrasts the two.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explains what happens after the suggestion (criteria, operator decision) but never says when an agent should prefer this over order_capture or the other siblings. Usage is implied rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 4 tool updates
    • First observedcapture_status
    • First observedcheck_coverage
    • First observedorder_capture
    • First observedsuggest_domain

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Domain intelligence for DNS, WHOIS/RDAP, SSL/TLS, subdomain discovery, availability, valuation, email security, and typosquatting and brand protection.
    1
    1
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    MCP server and CLI for querying Common Crawl via AWS Athena, enabling users to check a domain's presence in crawls, analyze dynamics, compare domains, and inspect page text.
    13
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables searching Common Crawl's web archive for crawl history of any URL since 2008. It also retrieves the exact captured page bytes from the archived records.
    285 npm
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.