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.
Recently observed → Live
Live → Recently observed
Recently observed → Live
Live → Recently observed
Recently observed → Live
Changed the definition of "ptpge_fingerprint" and "ptpge_validate_document"
Side effect: the spec-profile fingerprint is registered in the public register at ptpge.org/f (no personal data; same configuration → same entry; cannot be undone). Compute the canonical ptpge-cfs/1 serialization and SHA-256 fingerprint ⟨155 unchanged words⟩
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":falsetrue,"readOnlyHint":truefalse,"title":"Fingerprint a configuration"}
Live → Recently observed
Recently observed → Live
Live → Recently observed
Added "ptpge_validate_document" (10 tools before, 11 now)
Validate a PTPGE document — Validate ONE document you hand over — a vendor declaration, supplier catalogue, request, quote or UCP manifest (its `schema` field says which) — against the published JSON Schema, the vocabulary (every term URI must exist; deprecated warns) and, for request/1 and quote/1, the identity: the spec and request fingerprints are recomputed from the configuration and must match what the document states; a quote's offer fingerprint must equal request + the quote's vendor (SD-0108). Nothing is fetched from any domain and nothing is stored. This is the PTPGE Ready conformance check for a module that wr…
Certificate recorded, valid to 2026-12-12
Authorization not required
Changed the definition of "ptpge_expand_fingerprint" and "ptpge_fingerprint"
Expand a spec orofferrequest fingerprint (ptpge-cfs/1, full 64-hex or 16-hex short ⟨80 unchanged words⟩
⟨22 unchanged words⟩ Returns both profiles in strict containment spec ⊂offerrequest: 'spec' = the manufacturable artifact, commercial cluster excluded;'offer''request' = spec plus the commercial cluster,
Changed the definition of "ptpge_fingerprint" and "ptpge_validate_config"
⟨7 unchanged words⟩ ,"surface":{"type":"string"},"unit":{"description":"custom-width / custom-height only — converted to mm before the identity.","enum":["mm","cm","m","in","pt"],"type":"string"},"value":{"description":"URI/path or number."} ⟨54 unchanged words⟩
⟨246 unchanged words⟩ `complete: true` means an identity can be issued. SD-0104 spot inks: a spot-color layer in color-mode is not identified until it is named — bind variables/features/spot-ink on the same face with the value <matching-system term>/<code>: Pantone 300 C → printing/standards/color-systems/color-matching-systems/pantone-matching-system/300-c, HKS 43 K → …/color-matching-systems/hks/43-k, RAL 5015 → …/ral/5015 (code lower-case, spaces as hyphens; checked for form only). One spot-ink per spot-color layer; two spots = color-mode values [cmyk, spot-color, spot-color] + two spot-ink values. Fewer inks than layers → needs_disambiguation; the specification sets no limit on the number of spot colours (the press does).
Changed the definition of "ptpge_validate_config"
⟨9 unchanged words⟩ : checks every binding against the product's supports*envelopesenvelopes. When a value is not in this template's envelope but another template takes every bound value,mapsthe result carries alsoOfferedBy (ranked) and switchHint — switch product and validate again rather than dropping what the buyer asked for (a poster on aluminium composite is a panel print). Maps numeric substrate-weight (gsm) to its weight band ⟨182 unchanged words⟩
Unknown → Live
First tool surface recorded: 10 tools (server version 0.33.2)
https://mcp.ptpge.org/mcp (mcp_streamable_http) — from mcp_registry, with the record
Showing the latest 18 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":falsetrue,"readOnlyHint":true,"title":"Validate a PTPGE document"}
⟨78 unchanged words⟩ 'outside').","type":"string"},"unit":{"description":"custom-width / custom-height only: the unit the value is stated in. Converted to mm before validation and identity (the identity is always mm).","enum":["mm","cm","m","in","pt"],"type":"string"},"value":{"description":"URI/path (enum) or ⟨45 unchanged words⟩