Témoin public
Server Details
Prove a web page or document existed on a date: public SHA-256 registry anchored in Bitcoin. Free.
- Status
- Healthy
- Uptime
- 100.0% over 19 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
- Repository
- temoinpublic/empreintes
- GitHub Stars
- 0
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 4 tools
Chaque outil cible une opération distincte : recherche par empreinte, datation locale, datation URL distante, et lecture de reçu. Aucun chevauchement réel malgré la proximité entre dater_empreinte et dater_url, car la distinction local/distant est claire.
Trois verbes cohérents (chercher, dater, lire) suivis d'un complément, mais le complément alterne entre objet direct (empreinte) et cible (url, recu), ce qui reste lisible sans être un pattern strict.
Quatre outils couvrent exactement le cycle du service d'horodatage : recherche, enregistrement local, enregistrement distant, consultation de preuve. Rien de superflu ni de manquant dans le périmètre annoncé.
Le cycle de vie est complet : datation (deux variantes), recherche par empreinte, et lecture d'un reçu par identifiant. Aucun besoin évident de mise à jour ou suppression, le registre étant par nature immuable.
Available Tools
4 toolschercher_empreinteTrouver les dates d’un documentARead-onlyInspect
Rend chaque dépôt de cette empreinte SHA-256 : jour, ligne du registre, adresse du reçu. Aucun dépôt : le document n’a pas été daté par ce service.
| Name | Required | Description | Default |
|---|---|---|---|
| sha256 | Yes | Empreinte SHA-256, 64 caractères hexadécimaux. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so safety is covered. The description adds real behavioral value beyond that: it enumerates the returned payload (day, register line, receipt address) and, importantly, defines the empty-result case ('Aucun dépôt : le document n'a pas été daté par ce service'), which prevents an agent from misreading a null as an error. It omits auth/rate-limit details, so not a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with no filler: the first states what is returned, the second handles the empty case. The primary behaviour is front-loaded, and the minimal length matches a one-parameter lookup tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only lookup with one fully documented parameter, an existing readOnlyHint annotation, and no output schema, the description covers the essentials: what comes back and what an empty result means. The only gap is not pointing to the sibling used to create a date, which would round out the workflow.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single parameter, and schema description coverage is 100%: the schema already specifies '^[0-9a-fA-F]{64}$' and '64 caractères hexadécimaux'. The description only repeats 'empreinte SHA-256' without adding format, casing, or sourcing guidance beyond the schema. Baseline 3 is appropriate when the schema carries the parameter detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb-and-resource: it returns every 'dépôt' (deposit/anchor) recorded for a given SHA-256 fingerprint, plus the fields returned (day, register line, receipt address). Together with the title 'Trouver les dates d'un document', an agent can tell this is the read/lookup counterpart to the sibling dater_empreinte. It stops short of explicitly naming that sibling, so it is clear but not fully differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: query a hash to find whether/how it was dated. There is no explicit statement of when to use this versus dater_empreinte (to create a date) or dater_url (for URLs), nor any prerequisite such as performing the dating first. The implied context is sufficient to act but not to choose confidently among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dater_empreinteDater un document par son empreinteAInspect
Inscrit dans le registre public l’empreinte SHA-256 d’un document que l’utilisateur garde ; le document n’est jamais envoyé. Rend le reçu, qui prouve que ce document existait à cette date, sans modification.
| Name | Required | Description | Default |
|---|---|---|---|
| sha256 | Yes | Empreinte SHA-256, 64 caractères hexadécimaux. | |
| libelle | No | Un nom pour s’y retrouver ; il reste dans le reçu, jamais publié. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it discloses that the document itself is never transmitted, that only the fingerprint enters a public registry, and that the returned receipt is immutable proof of existence at a date. It omits auth requirements, cost, and duplicate-hash behavior, so not quite exhaustive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences that front-load the action and then the guarantee and return value. Every clause earns its place with no repetition of the title or schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter tool with no output schema, the description covers the essential contract: what is registered, what is not sent, and what comes back (a receipt proving dated existence). Details like verification steps or error cases are absent but not critical here.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both sha256 and libelle fully documented in the schema, so baseline is 3. The description adds only a light semantic point ('le document n'est jamais envoyé', i.e. the hash is the payload), which doesn't meaningfully extend the parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: registering the SHA-256 fingerprint of a document the user keeps. The phrase 'd'un document que l'utilisateur garde' implicitly separates it from dater_url (which would act on a URL rather than a local file), but no sibling is named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the right context (you hold the document, only the hash is registered), but never states when to pick this over dater_url, chercher_empreinte, or lire_recu, nor any preconditions such as having computed the hash first.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dater_urlDater une page ou un document en ligneAInspect
Le service lit lui-même l’adresse publique (http ou https, 20 Mo et 30 s au plus) et inscrit l’empreinte SHA-256 des octets lus dans le registre public, ancré dans Bitcoin. Rend le reçu : à remettre à l’utilisateur, il prouve que ce contenu était servi à cette adresse à cet instant. Une même adresse se lit une fois par jour.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Adresse publique à lire. | |
| libelle | No | Un nom pour s’y retrouver ; il reste dans le reçu, jamais publié. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it discloses size/time limits (20 Mo, 30 s), a per-address rate limit (once per day), that the service fetches the URL itself rather than the caller, and that the hash goes to a public Bitcoin-anchored registry. It omits authentication/quota/error behavior, but the operational traits are unusually well surfaced.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences that front-load the core mechanic (server reads the address, hashes it, anchors it) before the payoff (receipt) and the constraint (one read per day). Every sentence contributes, though the phrasing is tight enough to demand careful reading.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema and no annotations, so the description must cover behavior and return semantics — and it does, explaining that the return is a receipt proving the content was served at that address at that moment, plus the 20 Mo/30 s and once-per-day limits. Only auth/error handling is absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and both parameters are documented there, so the baseline is 3. The description reinforces that the url must be public http/https and is read server-side, but says nothing about libelle (that it is a private label kept only in the receipt).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a precise verb (reads the public URL itself and inscribes the SHA-256 fingerprint) plus the resource (public address / online page or document) and the outcome (a Bitcoin-anchored registry entry and a receipt). This is operationally distinct from dater_empreinte (which dates an already-computed fingerprint), so an agent can select it without ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use it (the agent has a public http/https URL and wants provable timestamping) and says what to do with the result ('à remettre à l'utilisateur'). But it never names an alternative such as dater_empreinte for local content or chercher_empreinte for lookup, and gives no explicit when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lire_recuLire un reçuARead-onlyInspect
Rend la ligne publique d’un reçu par son identifiant (64 caractères hexadécimaux) : empreinte, jour, ligne du registre, et pour un acte de collectivité son adresse pérenne, à citer.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the description's addition that this is a public line and can be cited is extra useful context. It also clarifies that only an acte de collectivité includes a permanent address, enriching behavioral understanding beyond the annotations. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that front-loads the core action and then lists return fields. Every element earns its place with no waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given one required parameter, a simple read annotation, and no output schema, the description is complete enough. It explains the identifier format and what the tool returns, though it does not explicitly say what happens if the id is invalid or not found, which is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the id parameter has only a pattern in the schema. The description compensates by stating that the identifier must be 64 hexadecimal characters (matching the pattern) and clarifying that it identifies a receipt. This adds meaning beyond the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (rend/lire) and resource (la ligne publique d'un reçu), and enumerates what is returned (empreinte, jour, ligne du registre, adresse pérenne). This makes the tool's function clear without needing to open the schema. However, it does not differentiate from siblings like chercher_empreinte or dater_empreinte, which also deal with receipt fingerprints.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage by accepting an identifier and returning the public line for citation, but provides no explicit when-to-use or when-not-to-use guidance relative to the sibling tools. The agent must infer that this tool is for retrieving a full public record, not for searching or dating.
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.
4 tool updates
- First observed
chercher_empreinte - First observed
dater_empreinte - First observed
dater_url - First observed
lire_recu
Related MCP Connectors
Timestamp & verify evidence on-chain, free. Proofpack: a portable BEEF+BUMP proof bundle per txid.
Stamp or notarize data into a public witnessed transparency log. Proves timing, not truth.
Capture a web source, or seal a hash you hold, into a signed receipt anyone can verify offline.
Shielded proof-of-existence timestamps on BitcoinZ (zk-SNARKs). Free trial: 3 proofs.
Related MCP Servers
AlicenseAqualityBmaintenanceVerifies blockchain-anchored timestamp proofs entirely on the user's machine, with five tools: hash a file, verify a file against a proof, verify a known hash against inline proof data, explain what a proof asserts, and create a new proof through ProofLedger. Verification recomputes the SHA-256 and walks the Merkle path locally instead of asking the issuer; only create uses the network.5135 PyPIMIT- AlicenseNot gradedqualityDmaintenanceEnables AI agents to timestamp files in Bitcoin by submitting only their SHA-256 hashes, paying per hash in USDC via x402, and retrieving or verifying OpenTimestamps .ots proofs without an account or API key.MIT
- AlicenseAqualityBmaintenanceAppend-only evidence receipts for AI records: seal, verify, cite, chain-check, anchor status. A seal proves a record existed at a time, not that its contents are true. Five tools over stdio with npx -y apex-psi-mcp — no account, no key, verification free forever.5316 npm1MIT
- AlicenseAqualityAmaintenanceOTrust issues cryptographic PDRs (Provenance Data Records) — proving a digital artifact existed at a specific time. $0.01 per proof. Blockchain-anchored. Publicly verifiable.451MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.