Every change Wellknown observed on this MCP server, newest first, with what it was before and what it became. Tool-surface changes carry the definition diff. Nothing here is edited after the fact.
Changed the definition of "search_datasets"
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
Use for discovery only: find DataPulse's418425 Malaysian public datasets by topic, source, or ⟨111 unchanged words⟩
Certificate changed, valid to 2026-12-30
Changed the definition of "usage_summary"
⟨13 unchanged words⟩ 2026-08-07. Returns `total_calls`, `by_outcome`, `by_tool`, `by_dataset`, `trust_verdict_calls` (the count of trust_verdict records regardless of outcome or result shape), and `trust_distribution` (counts of returned trust verdicts by ⟨75 unchanged words⟩
Changed the definition of "check_reconciliation", "find_anomalies", "find_by_licence" and 16 more
⟨26 unchanged words⟩ and does not prove either source is wrong. Use it to compare a dataset with its published cross-source group; do not use it for provenance or evidence receipts—use get_provenance or get_evidence instead. It reads precomputed reconciliation data, and single_source means no group contains the resolved dataset; DataPulse is read-only, requires no API key, and the edge limits clients to roughly one request per second with a small burst, so pace or retry.
{"additionalProperties":false,"properties":{"dataset_name":{"description":"DatasetStableiddataset slug or exact display name toreconcile
Certificate recorded, valid to 2026-10-31
Authorization not required
Changed the definition of "usage_summary"
⟨13 unchanged words⟩ 2026-08-07. Returns `total_calls`, `by_outcome`, `by_tool`, `by_dataset`, and `trust_distribution` (per-statuscounts ofcitedreturneddatasetstrust verdicts by published score band: 90-100, 75-89, 50-74, 25-49, 0-24) for the inclusive range. Legacy identity fields are ignored.
First tool surface recorded: 19 tools (server version v4.0.0b3+9e00a80)
Showing the latest 8 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed
⟨31 unchanged words⟩ reliability evidence so agents do not recompute it. Use it for unusual update intervals; do not use it for worsening freshness, recovery, reliability grades, or structural drift—use find_deteriorating, find_recovering, find_unreliable, or find_schema_drift instead. It reads precomputed anomaly data, so an empty result means no published row survives the selected filters; DataPulse is read-only, requires no API key, and the edge limits clients to roughly one request per second with a small burst, so pace or retry.
⟨4 unchanged words⟩ ":{"default":50,"description":"Maximumrankedhighest-ranked anomalies toreturn;return,integere.g.from50;1omit it to200,usee.g.5050.without changing the ranking.","examples":[10,50],"maximum": ⟨11 unchanged words⟩ }],"default":null,"description":"Optionalminimuminclusivepublish-reliabilitypublishedgrade;reliability floor, e.g. 'C' keeps A, B, andCC;andomitexcludesitinsufficienttodata.retain rows regardless of grade.","examples":["A","C"]} ⟨6 unchanged words⟩ ,"default":null,"description":"Optional exact published detectionmode;mode filter, e.g. 'rolling_14d' or'cadence_fallback'.'cadence_fallback'; omit it to include every mode.","examples":["rolling_14d","cadence_fallback"]} ⟨3 unchanged words⟩
⟨12 unchanged words⟩ available under a specific licence for compliance/reuse scoping. Use it to enumerate one licence; do not use it to discover by topic or inspect a dataset's citation context—use search_datasets or get_provenance instead. It reads published manifest data, so an empty list means no published dataset has the resolved licence; DataPulse is read-only, requires no API key, and the edge limits clients to roughly one request per second with a small burst, so pace or retry.
{"additionalProperties":false,"properties":{"licence":{"description":"Exact published licence name or supported alias, e.g. 'Creative Commons Attribution4.0'.4.0'; use search_datasets to discover licence values.","examples":["Creative Commons Attribution 4.0" ⟨12 unchanged words⟩
⟨23 unchanged words⟩ reliability evidence so agents do not recompute it. Use it for worsening freshness trends; do not use it for anomalies, recovery, reliability grades, or structural drift—use find_anomalies, find_recovering, find_unreliable, or find_schema_drift instead. It reads precomputed trend data, so an empty result means no published deteriorating row survives the selected filters; DataPulse is read-only, requires no API key, and the edge limits clients to roughly one request per second with a small burst, so pace or retry.
⟨4 unchanged words⟩ ":{"default":50,"description":"Maximumrankedhighest-ranked deteriorating datasets toreturn;return,integere.g.from50;1omit it to200,usee.g.5050.without changing ranking.","examples":[10,50],"maximum": ⟨15 unchanged words⟩ }],"default":null,"description":"Optionalminimuminclusivepercentanomaly-rateoffilteranomaly-evaluableonhistorypublisheddayshistory, e.g.25.0.25.0; omit it to retain every deteriorating row.","examples":[25,50]}},"required ⟨2 unchanged words⟩
⟨12 unchanged words⟩ reductions first. Includes pipeline-computed trend and publish-reliability evidence. Use it for improving freshness trends; do not use it for deterioration, anomalies, reliability grades, or structural drift—use find_deteriorating, find_anomalies, find_unreliable, or find_schema_drift instead. It reads precomputed trend data, so an empty result means no published recovering row exists; DataPulse is read-only, requires no API key, and the edge limits clients to roughly one request per second with a small burst, so pace or retry.
⟨4 unchanged words⟩ ":{"default":50,"description":"Maximumranked recoveringfastest-recovering datasets toreturn;return,integere.g.from50;1omit it to200,usee.g.5050.without changing ranking.","examples":[10,50],"maximum": ⟨8 unchanged words⟩
⟨26 unchanged words⟩ agents do not infer drift from freshness alone. Use it for structural or record-count changes; do not use it for freshness risk, anomalies, trends, or reliability—use find_stale, find_anomalies, find_deteriorating, or find_unreliable instead. It reads precomputed drift data, so an empty result means no published drift row survives the selected filters; DataPulse is read-only, requires no API key, and the edge limits clients to roughly one request per second with a small burst, so pace or retry.
⟨4 unchanged words⟩ ":{"default":50,"description":"Maximum structural-first ranked drift results toreturn;return,integere.g.from50;1omit it to200,usee.g.5050.without changing ranking.","examples":[10,50],"maximum": ⟨5 unchanged words⟩ "min_change_count":{"default":0,"description":"MinimumInclusivestructuralfilterfingerprintonorthecolumn-countlargertransitions;publishedintegershapefromor0columntotransition100count, e.g.1.1; omit it to include every drift row.","examples":[0,1],"maximum": ⟨8 unchanged words⟩
⟨24 unchanged words⟩ which data has a freshness or schema-validity risk. Use it to enumerate freshness or schema-risk candidates; do not use it for anomalies, trends, reliability, or drift—use find_anomalies, find_deteriorating, find_unreliable, or find_schema_drift instead. It reads the published health snapshot, so an empty result means no rows met this snapshot-based rule; DataPulse is read-only, requires no API key, and the edge limits clients to roughly one request per second with a small burst, so pace or retry.
⟨4 unchanged words⟩ ":{"default":24,"description":"Maximumacceptablepublished-snapshot ageofbeforetheotherwiselatesthealthyhealthrowscheckareinincluded,wholee.g.hours;72;non-negativeomitinteger,ite.g.to72.use 24 hours.","examples":[24,72],"minimum": ⟨6 unchanged words⟩
⟨35 unchanged words⟩ are included so agents can judge evidence depth. Use it for timeliness reliability grades; do not use it for individual anomalies, trends, or structural drift—use find_anomalies, find_deteriorating, find_recovering, or find_schema_drift instead. It reads precomputed reliability data, so an empty result means no published grade meets the threshold; DataPulse is read-only, requires no API key, and the edge limits clients to roughly one request per second with a small burst, so pace or retry.
⟨4 unchanged words⟩ {"default":"C","description":"Inclusive published reliability threshold; e.g. 'C' returns grades C, D, andF.F; omit it to use C.","examples":["C","F"], ⟨3 unchanged words⟩ ":{"default":50,"description":"Maximumrankedworst-ranked unreliable datasets toreturn;return,integere.g.from50;1omit it to200,usee.g.5050.without changing ranking.","examples":[10,50],"maximum": ⟨8 unchanged words⟩
⟨41 unchanged words⟩ certification, legal permission, safety, or AI admission. Use it for the bounded Passport artifact; do not use it for current health detail or citation context—use get_dataset or get_provenance instead. It reads precomputed published data, and evidence_available=false identifies an unavailable or unsupported Passport; DataPulse is read-only, requires no API key, and the edge limits clients to roughly one request per second with a small burst, so pace or retry.
{"additionalProperties":false,"properties":{"dataset_id":{"description":"CanonicalStable datasetidentifierslugforreturneditsbypublishedsearch_datasets,Passporte.g.v1'fuelprice'; this tool requires the slug,e.g.not'fuelprice'.a display name.","examples":["fuelprice"],"minLength": ⟨7 unchanged words⟩
⟨34 unchanged words⟩ search_datasets and distinguish unknown-freshness from proven stale data. Use it for one dataset's current published detail; do not use it for citation context or a Passport—use get_provenance or get_data_passport instead. It reads published data, so an absent health row is reported as unknown rather than probed live; DataPulse is read-only, requires no API key, and the edge limits clients to roughly one request per second with a small burst, so pace or retry.
{"additionalProperties":false,"properties":{"dataset_id":{"description":"CanonicalStable datasetidentifierslug returned by search_datasets, e.g.'dosm_cpi_state'.'dosm_cpi_state';Seethis tool requires theregistryslug,cataloguenotforavaliddisplayIDs.name.","examples":["dosm_cpi_state"],"minLength": ⟨7 unchanged words⟩
⟨79 unchanged words⟩ verification. search_datasets → get_evidence → verify_evidence → verify_attestation. Use it for a complete published receipt; do not use it for a live transport check or signature verification—use verify_evidence or verify_attestation instead. It reads precomputed evidence, so evidence_available=false means no published health row; DataPulse is read-only, requires no API key, and the edge limits clients to roughly one request per second with a small burst, so pace or retry.
{"additionalProperties":false,"properties":{"dataset_id":{"description":"CanonicalStable datasetidentifierslug returned by search_datasets for its completepublished evidencereceipt, e.g. 'fuelprice'; this tooldoesrequiresnotthefetchslug,thenotliveasource.display name.","examples":["fuelprice"],"minLength": ⟨7 unchanged words⟩
⟨12 unchanged words⟩ reference counts plus the latest health check time. Use it for catalogue-level freshness context; do not use it to enumerate affected datasets—use find_stale instead. It reads the latest published snapshot, so missing counts or check time mean the artifact omitted them; DataPulse is read-only, requires no API key, and the edge limits clients to roughly one request per second with a small burst, so pace or retry.
⟨92 unchanged words⟩ For pre-trust use search_datasets → verify_dataset → get_provenance. Use it for citation-ready provenance; do not use it for full evidence or a live comparison—use get_evidence or verify_evidence instead. It reads published evidence context, so absent fields mean the pipeline did not publish that value; DataPulse is read-only, requires no API key, and the edge limits clients to roughly one request per second with a small burst, so pace or retry.
{"additionalProperties":false,"properties":{"dataset_ids":{"description":"JSON array of 1 toDataset50slugscanonicalreturneddatasetbyIDssearch_datasets forprovenanceaandbatched citation lookup, e.g. ['fuelprice', 'pricecatcher'];thispreserveisordernotandauseliveget_datasetfreshnessforcheck.display-name resolution.","examples":[["fuelprice","pricecatcher"] ⟨13 unchanged words⟩
⟨53 unchanged words⟩ that a dataset is current or reliable. For'ispre-trustthisusedatasetsearch_datasetscurrent?'→orverify_datasetverify→beforeget_provenance.relyingUseonitdata,to discover candidates; do not usesearch_datasetsit→for a trust decision—use verify_dataset→instead.get_provenance.It reads published catalogue data, so no match means the published catalogue has no matching entry; DataPulse is read-only, requires no API key, and the edge limits clients to roughly one request per second with a small burst, so pace or retry.
⟨12 unchanged words⟩ :"Optional exact licence name or supported aliasforappliedreusebeforediscoveryranking, e.g. 'CC BY 4.0';thisomitdoesitnottoverifysearchattributioneverycompliance.licence.","examples":["CC BY 4.0"," ⟨5 unchanged words⟩ ":{"default":10,"description":"Maximum highest-ranked discovery matches toreturn;return,integere.g.from10;1
⟨29 unchanged words⟩ re-probe or verify the signature; call verify_attestation separately. Use it to assemble the published trust view; do not use it for receipt verification, live comparison, or signature verification—use verify_dataset, verify_evidence, or verify_attestation instead. It reads precomputed artifacts, so missing component availability explains omitted evidence rather than a live probe; DataPulse is read-only, requires no API key, and the edge limits clients to roughly one request per second with a small burst, so pace or retry.
{"additionalProperties":false,"properties":{"dataset_id":{"description":"CanonicalStable datasetidentifierslug returned by search_datasets to aggregate, e.g.'fuelprice'.'fuelprice'; display names are not resolved here.","examples":["fuelprice"],"minLength": ⟨7 unchanged words⟩
⟨33 unchanged words⟩ , 25-49, 0-24) for the inclusive range.LegacyUseidentityitfieldsforareaggregateignored.tool activity; do not use it to find data-quality risks—use find_stale, find_anomalies, find_deteriorating, find_recovering, find_unreliable, or find_schema_drift instead. It reads persisted usage records, so zero totals mean no retained records in that range; DataPulse is read-only, requires no API key, and the edge limits clients to roughly one request per second with a small burst, so pace or retry.
{"additionalProperties":false,"properties":{"since":{"description":"InclusiveISOfirststartdaydateofYYYY-MM-DDthe persisted-record window, e.g.'2026-08-01'.'2026-08-01'; it must not be after until.","examples":["2026-08-01"],"type":"string"},"until":{"description":"InclusiveISOlastenddaydateofYYYY-MM-DDthe persisted-record window, e.g.'2026-08-07'.'2026-08-07'; it must not be before since.","examples":["2026-08-07"],"type": ⟨6 unchanged words⟩
⟨57 unchanged words⟩ use search_datasets → get_evidence → verify_evidence → verify_attestation. Use it for signed-attestation integrity; do not use it for published receipt verification, a live transport comparison, or an aggregate verdict—use verify_dataset, verify_evidence, or trust_verdict instead. L2 is not run unless replay_chain is set, and a failed level reports an unsatisfied check rather than upstream semantic truth; DataPulse is read-only, requires no API key, and the edge limits clients to roughly one request per second with a small burst, so pace or retry.
{"additionalProperties":false,"properties":{"reference":{"description":"Datasetidslug returned by search_datasets orsafeanrelativeexact published digest reference,fore.g.signed-attestation'fuelprice';verification,thee.g.slug'fuelprice'.resolves through the attestation index.","examples":["fuelprice","attestations/2026-08-15/fuelprice.json"], ⟨4 unchanged words⟩ "replay_chain":{"default":false,"description":"ReplaySetsignedtruedailytoheadsperformtotheaslowerGit-tagL2anchordaily-headforreplayL2toverificationa Git tag, e.g.truetrue;foromitanitauditor.to run L1 only.","examples":[false,true],"type": ⟨5 unchanged words⟩
⟨65 unchanged words⟩ semantic truth. Use search_datasets → verify_dataset → get_provenance. Use it for one published pre-trust check; do not use it for a live transport comparison or attestation-chain verification—use verify_evidence or verify_attestation instead. It verifies precomputed published artifacts, so a failed check does not identify current upstream availability; DataPulse is read-only, requires no API key, and the edge limits clients to roughly one request per second with a small burst, so pace or retry.
{"additionalProperties":false,"properties":{"dataset_id":{"description":"CanonicalStable datasetidentifierslug returned by search_datasets for the publishedpre-trustreceipt check, e.g. 'fuelprice'; thisdoestoolnotrequiresperformtheaslug,livenotsourceafetch.display name.","examples":["fuelprice"],"minLength": ⟨3 unchanged words⟩ "include_proof_steps":{"default":false,"description":"IncludeSetboundedtruesigned-receiptto include bounded verifier diagnostics for an audit, e.g. false;the resultomitstillitdoestonotsuppressestablishdiagnosticsupstreamwithoutsemanticchangingtruth.verification.","examples":[false,true],"type": ⟨5 unchanged words⟩
⟨76 unchanged words⟩ use search_datasets → get_evidence → verify_evidence → verify_attestation. Use it for a live transport comparison; do not use it for published receipt integrity or signed-attestation verification—use verify_dataset or verify_attestation instead. An unreachable or not_verifiable verdict reports that this live comparison could not establish a match, while cached results are still ephemeral; DataPulse is read-only, requires no API key, and the edge limits clients to roughly one request per second with a small burst, so pace or retry.
{"additionalProperties":false,"properties":{"dataset_id":{"description":"CanonicalStable direct-access datasetidentifierslug returned by search_datasets for arate-limitedlive transport observation, e.g. 'fuelprice'; browser-dependent sourcescannot be fetchedreturnhere.not_verifiable.","examples":["fuelprice"],"minLength": ⟨7 unchanged words⟩