accueil / serveurs / Recherche & Web / org.ptpge/mcp-server
org.ptpge/mcp-server
serveur MCP (Model Context Protocol) · ptpge-mcp 0.40.0
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que org.ptpge/mcp-server est sûr ?
Au dernier audit MCP Hub, le serveur MCP « org.ptpge/mcp-server » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 11 outils
- ptpge_browse≈ 179 tokens
Navigate the PTPGE hierarchy. Returns a node and its children (id, notation, label, level, elementType, hasChildren). Omit id_or_path to get the three top concepts (printing, ordering, variables). Use this for systematic exploration instead of guessing search keywords.
Paramètres, retour & exemple (2)
Paramètreslanguage· string · optionnelid_or_path· string · optionnel
Full URI or path under /v1/. Omit for the top concepts.
Exemple d'appel{"name": "ptpge_browse", "arguments": {"language": "texte", "id_or_path": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - ptpge_check_domain≈ 325 tokens
Does an agent find PTPGE on this domain? Fetches exactly what a checkout agent fetches — https://<domain>/.well-known/ucp (the UCP manifest and its ptpge block), the vendor declaration at /.well-known/ptpge/declaration.json, the identity in the vendors register, and a supplier catalogue if the domain is a maker — and validates each against its published JSON Schema (ptpge.org/v1/schemas/) and the vocabulary. Returns a verdict (ready | partial | none), one line per step with errors and warnings, what the agent sees (name, identity, products, capability counts) and what is missing with where to fix it. Read-only; nothing is stored. Use it to answer 'is <printer> agent-ready?' or 'why does my declaration not validate?'.
Paramètres, retour & exemple (2)
Paramètresdomain· string · requis
A hostname or URL, e.g. trykkverk.no or https://trykkverk.no/.document· string · optionnel
Optional: https URL of a declaration or catalogue hosted elsewhere than the known path (a register entry marked «hosted»).
Exemple d'appel{"name": "ptpge_check_domain", "arguments": {"domain": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - ptpge_expand_fingerprint≈ 279 tokens
Expand a spec or request fingerprint (ptpge-cfs/1, full 64-hex or 16-hex short form) back into its structured configuration — the read-back path for MIS/ERP: matched profile, product, every binding with resolved labels, the canonical string, and the dataset version. This is a LOOKUP in the public resolver (ptpge.org/f/), not an inversion of the hash: it resolves when the fingerprint has been registered (every fingerprint computed by ptpge_fingerprint is self-registered within seconds). An unregistered fingerprint is still a valid identity — it simply has no stored expansion yet; returns status 'unknown' then.
Paramètres, retour & exemple (2)
Paramètreslanguage· string · optionnelfingerprint· string · requis
SHA-256 hex (64) or the 16-hex short form, with or without the resolver URL prefix.
Exemple d'appel{"name": "ptpge_expand_fingerprint", "arguments": {"fingerprint": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - ptpge_fingerprint≈ 592 tokens
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 of a resolved product configuration (SD-0040) — the vendor-neutral identity used as quote/order/cache key. Returns both profiles in strict containment spec ⊂ request: 'spec' = the manufacturable artifact, commercial cluster excluded; 'request' = spec plus the commercial cluster — the variables under variables/order/ (quantity, lead-time, delivery-method, incoterm; SD-0040) without a vendor. An 'offer' is a request plus variables/order/vendor, one per vendor (SD-0108). Transaction data (print-ready file, delivery date, price) is keyed BY the request fingerprint and never hashed into it. SD-0083: the input is validated first and an identity is issued ONLY for a valid, complete configuration — every required axis of the product bound (or envelope-implied where the envelope offers one value; those are written into the identity) and every surface one of the bound setup's faces. Otherwise the result is error=not_fingerprintable with the validator's needs_disambiguation: put each question to the user verbatim, bind the answer, call again. Never guess a missing axis.
Paramètres, retour & exemple (3)
Paramètresproduct· string · requis
Product URI or path.visuals· boolean · optionnel
Also return markSvg (the ptpge-mark/1 recognition mark) and qrSvg (QR encoding the resolver permalink) per profile. Off by default to keep payloads small.bindings· array · requis
Exemple d'appel{"name": "ptpge_fingerprint", "arguments": {"product": "texte", "bindings": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - ptpge_get_product_envelope≈ 218 tokens
Return the complete Configuration Envelope of a product class in one call: supportsSetupModel, every supports* and perSurfaceSupports* predicate with resolved labels, plus typical* descriptors. This is the full menu of what can be configured for the product — use it before composing a configuration, instead of many individual ptpge_get_term calls. Absent predicates mean NOT supported (closed semantics).
Paramètres, retour & exemple (2)
Paramètreslanguage· string · optionnelid_or_path· string · requis
Product URI or path, e.g. 'ordering/products/brochures'.
Exemple d'appel{"name": "ptpge_get_product_envelope", "arguments": {"id_or_path": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - ptpge_get_term≈ 204 tokens
Fetch full context for a single PTPGE term: definition, broader/narrower relations, exactMatch / closeMatch mappings, properties, notation, level, and metadata. Accepts either a full URI (https://ptpge.org/v1/...) or a relative path under /v1/.
Paramètres, retour & exemple (2)
Paramètreslanguage· string · optionnel
ISO 639-1 language code for which label and definition variants to return flat.id_or_path· string · requis
Full URI or relative path under /v1/. E.g. 'printing/configurations/formats/a-series/a4'.
Exemple d'appel{"name": "ptpge_get_term", "arguments": {"id_or_path": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - ptpge_get_version≈ 120 tokens
Return the current PTPGE dataset version, total term count, counts per level and per group, license, scheme URL, and server version. Useful for version-pinning, health checks, and diagnostics.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "ptpge_get_version", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - ptpge_resolve_color_notation≈ 451 tokens
Resolve print colour pair notation (4/4, 4/1, 4+4) into per-surface colour bindings for a given product. The number is a COUNT OF SEPARATIONS, not a colour: it is resolved by searching the combinations this product's envelope actually supports whose colorChannelCount sums to that number. Returns one of three outcomes per surface — a deterministic binding, `needs_disambiguation` with the candidate combinations, or `invalid_for_template` when no combination is possible. IMPORTANT: when `needs_disambiguation` is returned you MUST put its `question` to the user and never infer the answer yourself. '1' is black on some products and a named spot colour on others; guessing gives two different products the same identity. Do not fingerprint an unresolved configuration.
Paramètres, retour & exemple (5)
Paramètressetup· string · optionnel
Optional setup-model URI/path (e.g. 'printing/configurations/setup-models/folded-sheet/tri-fold') so the surfaces match the fold. Required for products with several setups.product· string · requis
Product URI or path.language· string · optionnelnotation· string · requis
Pair notation, e.g. '4/4', '4 / 1', '4+4'.surfaces· array · optionnel
Optional surface slugs in notation order. Without them the faces come from 'setup' (or the product's only setup): flat-sheet front/back, folded-sheet outside/inside, roll face/back (SD-0083).
Exemple d'appel{"name": "ptpge_resolve_color_notation", "arguments": {"product": "texte", "notation": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - ptpge_search_terms≈ 466 tokens
Free-text search over the PTPGE vocabulary and registers — the open specification of print. Returns a ranked list of matching terms with their URI, notation, preferred label, level (top-concept / group / category / sub-category / element), group, and a relevance score (0.0–1.0).
Paramètres, retour & exemple (6)
Paramètreslimit· integer · optionnel
Maximum number of results to return.query· string · requis
Free-text query. Matched against notation, label, altLabels, and definition.groups· array · optionnel
Optional filter by group code(s), e.g. ["substrates", "configurations"]. Omit for all groups.language· string · optionnel
ISO 639-1 language code for label and definition matching.query_language· string · optionnel
ISO 639-1 code for the language the QUERY is written in — not the language of the labels you want back (that is `language`). Optional, and it never changes the results: search always looks across every language. It is used only so that a phrase we cannot resolve is recorded against the right market, which is how missing synonyms get found and added. Send it if you know it; omit it if you do not.include_deprecated· boolean · optionnel
Also return deprecated terms (they still resolve by URI but are no longer vocabulary). Default false: a brand name resolves to its register entry (kind=supplier) instead of the retired term.
Exemple d'appel{"name": "ptpge_search_terms", "arguments": {"query": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - ptpge_validate_config≈ 1017 tokens
Envelope validation of a product configuration against the specification: checks every binding against the product's supports* envelopes. When a value is not in this template's envelope but another template takes every bound value, the 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 via the bands' minWeight/maxWeight properties, and returns data-driven advisories (e.g. creasing recommended above the scoring thresholds). NOTE: this validates the ENVELOPE only — cross-variable legality (e.g. valid panel counts per fold topology) and vendor capability matching are an implementation's concern (a configurator), not the specification's; commercial values (date, price) are not configuration and belong to the transaction layer. Elicitation contract (shared by every ptpge_* tool): whenever a result carries `needs_disambiguation`, each entry has a `field`, a `question` that MUST be put to the user verbatim, and `candidates` — never infer the answer, never fingerprint until it is resolved. SD-0083: the validator also checks completeness — a missing REQUIRED axis of the product (setup/fold, format, page count, binding, colour on the first face, shape where shape is the product) returns needs_disambiguation with the envelope's candidates; a required axis with exactly one allowed value is bound for you as envelope-implied; a surface name that is not a face of the bound setup (faces: flat-sheet front/back, folded-sheet outside/inside, multi-page front-cover…back-cover) is rejected with the allowed faces. `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).
Paramètres, retour & exemple (3)
Paramètresproduct· string · requis
Product URI or path.bindings· array · requis
Variable bindings to validate.language· string · optionnel
Exemple d'appel{"name": "ptpge_validate_config", "arguments": {"product": "texte", "bindings": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - ptpge_validate_document≈ 281 tokens
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 writes these documents (ptpge.org/ready/). Returns valid, errors[], warnings[] and what was checked.
Paramètres, retour & exemple (1)
Paramètresdocument· object · requis
The document itself (JSON object with a `schema` field).
Exemple d'appel{"name": "ptpge_validate_document", "arguments": {"document": {}}}Exemple de retour{"content": [{"type": "text", "text": "…"}]}
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».