{"$schema":"https://verifymcp.io/schemas/trust-report.json","schemaVersion":1,"license":{"name":"CC BY-NC 4.0","url":"https://creativecommons.org/licenses/by-nc/4.0/"},"generatedAt":"2026-11-06T16:32:31.922Z","url":"https://verifymcp.io/servers/com-oods-foundry-foundry/oods-foundry-2","markdownUrl":"https://verifymcp.io/servers/com-oods-foundry-foundry/oods-foundry-2.md","server":{"slug":"com-oods-foundry-foundry","name":"OODS Foundry","registryName":"com.oods-foundry/foundry","description":"OODS Foundry is an object-oriented design system that extends the one you already have.","registryStatus":"active","deletedAt":null,"statusMessage":null,"liveness":"live","publisher":{"class":"unknown","claimed":false}},"component":{"slug":"oods-foundry-2","type":"remote","identifier":"https://oods-foundry.com/mcp","withdrawn":false,"url":"https://verifymcp.io/servers/com-oods-foundry-foundry/oods-foundry-2","version":"0.11.3","transport":null,"scoredAt":"2026-11-06T10:38:23.403Z"},"score":{"total":79,"tier":"medium","status":"scored","weekDelta":4,"history":[{"date":"2026-11-06","total":79},{"date":"2026-11-05","total":77},{"date":"2026-11-04","total":76},{"date":"2026-11-03","total":77},{"date":"2026-11-02","total":76},{"date":"2026-11-01","total":76},{"date":"2026-10-31","total":75},{"date":"2026-10-30","total":75},{"date":"2026-10-29","total":74},{"date":"2026-10-28","total":74},{"date":"2026-10-27","total":73},{"date":"2026-10-26","total":73},{"date":"2026-10-25","total":73},{"date":"2026-10-24","total":72},{"date":"2026-10-23","total":72},{"date":"2026-10-22","total":71},{"date":"2026-10-21","total":71},{"date":"2026-10-20","total":70},{"date":"2026-10-19","total":70},{"date":"2026-10-18","total":69},{"date":"2026-10-17","total":69},{"date":"2026-10-16","total":68},{"date":"2026-10-15","total":68},{"date":"2026-10-14","total":67},{"date":"2026-10-13","total":67},{"date":"2026-10-12","total":67},{"date":"2026-10-06","total":59},{"date":"2026-10-04","total":58}]},"categories":[{"name":"Endpoint Security","score":74,"verdict":"fail","reasons":["The endpoint's TLS certificate is valid, in date, and uses a strong key.","No authorisation is required to call this server. Nothing on it is marked destructive, but we can't show that an anonymous caller can only read: full credit needs the server to list at least one tool and every tool to be verifiably read-only. We use a best-effort check of tool names and descriptions to tell read-only tools from tools that change things, so some genuinely read-only tools may not get full credit. Names that start with a read verb (get, list, read, search and similar) and accurate readOnlyHint annotations help. Meet that to earn full credit, or require authorisation.","HTTPS is enforced; there's no plaintext access path.","HSTS check failed: the Strict-Transport-Security header is absent.","DNSSEC check failed: this domain isn't protected by DNSSEC."],"codes":[{"code":"tls.valid","args":{}},{"code":"auth.none_no_destructive","args":{}},{"code":"https.enforced","args":{}},{"code":"headers.hsts_absent","args":{}},{"code":"dnssec.absent","args":{}}]},{"name":"Transport & Reachability","score":100,"verdict":"pass","reasons":["Verified streamable-http transport via a live MCP handshake."],"codes":[{"code":"transport.verified","args":{"transport":"streamable-http"}}]},{"name":"Schema Quality & AI Usability","score":55,"verdict":"fail","reasons":["AI-judged instruction clarity (good).","Context-footprint check failed: tool/resource definitions use about 2338 tokens (~259/item across 9 items; 9 tools + 0 resources), over budget; trim descriptions and params.","Usage-examples check failed: none of the tools include examples."],"codes":[{"code":"schema.ai_quality","args":{"band":"good"}},{"code":"schema.footprint_heavy","args":{"avg":"259","items":"9","tools":"9","tokens":"2338","resources":"0"}},{"code":"schema.examples_absent","args":{}}]},{"name":"Stability & Change Management","score":83,"verdict":"partial","reasons":["Stability observed for 25 of 30 days with no destabilising changes; credit accrues until the full window elapses."],"codes":[{"code":"stability.building_history","args":{"days":"25"}}]},{"name":"Tool Coverage","score":99,"verdict":"partial","reasons":["100% of tools have a non-trivial description (not blank, and not just the tool's name).","98% of tool parameters carry a description."],"codes":[{"code":"toolquality.descriptions","args":{"pct":"100"}},{"code":"toolquality.param_docs","args":{"pct":"98"}}]},{"name":"Tool Safety","score":100,"verdict":"pass","reasons":["No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.","We read all 9 captured tool definition(s), and no name or description among them implies an irreversible operation.","An AI judge read all 10 captured unit(s) of tool text and found none that tries to manipulate the model reading it."],"codes":[{"code":"toolsafety.injection_clean","args":{}},{"code":"toolsafety.destructive_none","args":{"tools":"9"}},{"code":"toolsafety.manipulation_clean","args":{"units":"10","judged":"10"}}]},{"name":"Capabilities","score":100,"verdict":"pass","reasons":["Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28."],"codes":[{"code":"protocol.supported","args":{"latest":"2026-07-28","version":"2025-11-25"}}]}],"inconclusive":[],"malware":[],"components":[{"slug":"oods-foundry-2","type":"remote","identifier":"https://oods-foundry.com/mcp","withdrawn":false,"score":79,"current":true,"url":"https://verifymcp.io/servers/com-oods-foundry-foundry/oods-foundry-2","markdownUrl":"https://verifymcp.io/servers/com-oods-foundry-foundry/oods-foundry-2.md"},{"slug":"oods-foundry","type":"npm","identifier":"@oods/foundry","withdrawn":false,"score":79,"current":false,"url":"https://verifymcp.io/servers/com-oods-foundry-foundry/oods-foundry","markdownUrl":"https://verifymcp.io/servers/com-oods-foundry-foundry/oods-foundry.md"}],"facts":[{"label":"Endpoint","value":"https://oods-foundry.com/mcp"},{"label":"Transports","value":"streamable-http"},{"label":"Auth","value":"none"},{"label":"Version","value":"0.11.3"}],"install":{"available":true,"bundleSha256":null},"tools":[{"name":"health_check","title":"Check Health","description":"Read the running service status, pinned version, registry counts, built brands, themes, token scopes and retained proof summaries. Uptime and latency are current process measurements; host paths are omitted. includeChangelog adds the DSL changelog, and sinceVersion keeps entries after that version. catalog_list and object_registry read the definitions behind the counts.","inputs":[{"name":"includeChangelog","type":"boolean","required":false,"description":"When true, include DSL version changelog in the response."},{"name":"reproduce","type":"boolean","required":false,"description":"Include the command and calls for reproducing this result."},{"name":"sinceVersion","type":"string","required":false,"description":"When provided with includeChangelog, only return changelog entries since this version."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":136},{"name":"catalog_list","title":"List Components","description":"Read components a page at a time. category, trait, context and status filter the list; status describes the HTML renderer. detail is brief by default, or full when filtering; summary includes tags, contexts, regions and traits. Brief and summary allow up to 200 entries; full clamps pageSize to 10 and reports the adjustment. totalCount, hasMore and nextPage describe pagination. object_registry reads objects instead.","inputs":[{"name":"category","type":"string","required":false,"description":"Filter components by category (e.g., 'core', 'lifecycle', 'visual')"},{"name":"context","type":"string","required":false,"description":"Filter components by context (e.g., 'detail', 'list')"},{"name":"detail","type":"string","required":false,"description":"Defaults to brief unfiltered, full with filters. Both defaults are paged (filtered: 10 entries). summary adds tags, contexts, regions and traits; full includes evidence. Explicit detail without pagin…"},{"name":"includeInternal","type":"boolean","required":false,"description":"Also list OODS Foundry's internal (non-business) objects in registry.objects, after the business objects. Without it they are left out and registry.hiddenInternal counts them."},{"name":"page","type":"integer","required":false,"description":"1-based page index for pagination."},{"name":"pageSize","type":"integer","required":false,"description":"Components per page. Filtered calls without detail default to 10; nextPage gives the next call."},{"name":"reproduce","type":"boolean","required":false,"description":"Include the command and calls for reproducing this result."},{"name":"status","type":"string","required":false,"description":"Filter by legacy static-HTML status only: 'stable' = mapped HTML renderer; 'planned' = HTML fallback. Consult productReality.surfaces for React/Vue, generated-consumer and maturity evidence."},{"name":"trait","type":"string","required":false,"description":"Filter components by trait (e.g., 'Editable', 'Searchable')"}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":360},{"name":"object_registry","title":"Read Object Registry","description":"Read objects from the pinned registry. action list returns names, traits and field counts; domain, trait and maturity filter them, and includeInternal adds internal objects. action show requires name and returns its composed definition; context narrows view extensions. registry_snapshot provides an overview; design_preview looks up recorded screens.","inputs":[{"name":"action","type":"string","required":true,"description":"List objects or show one composed definition."},{"name":"context","type":"string","required":false,"description":"Optional: filter view_extensions to a single context (e.g. 'detail', 'list', 'form', 'timeline', 'card', 'inline')"},{"name":"domain","type":"string","required":false,"description":"Filter to objects in a specific domain (e.g. 'core.identity', 'saas.billing')"},{"name":"includeInternal","type":"boolean","required":false,"description":"Also list OODS Foundry's internal (non-business) objects, after the business objects. Without it they are left out and hiddenInternal counts them."},{"name":"maturity","type":"string","required":false,"description":"Filter by metadata maturity level"},{"name":"name","type":"string","required":false,"description":"Object name to look up (e.g. 'User', 'Product', 'Invoice')"},{"name":"reproduce","type":"boolean","required":false,"description":"Include the command and calls for reproducing this result."},{"name":"trait","type":"string","required":false,"description":"Filter to objects composing a given trait (e.g. 'Priceable', 'lifecycle/Stateful')"}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":265},{"name":"registry_snapshot","title":"Snapshot Registry","description":"Read the registry summary: active objects and traits, loaded names, loader issues, etag and generatedAt. detail full includes definitions; names narrows them. includeInternal adds internal objects. Replies larger than 100,000 characters are refused with their size. object_registry reads one composed object; catalog_list reads components.","inputs":[{"name":"detail","type":"string","required":false,"description":"summary (default), or full definitions, best with names."},{"name":"includeInternal","type":"boolean","required":false,"description":"Also list OODS Foundry's internal (non-business) objects, after the business objects. Without it they are left out and registry.hiddenInternal counts them."},{"name":"names","type":"array","required":false,"description":"Exact trait and object names; misses go in notFound."},{"name":"reproduce","type":"boolean","required":false,"description":"Include the command and calls for reproducing this result."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":164},{"name":"structured_data_fetch","title":"Fetch Structured Data","description":"Read the tokens or manifest dataset. Full data is the default; detail summary returns section counts and the first page call. page reads lossless JSON Pointer entries; pageSize defaults to 10, at most 100, also bounded by size. meta.next continues and meta.full requests full data. includePayload false returns metadata; listVersions lists dates, version selects one, and ifNoneMatch returns matched true without unchanged payload. catalog_list reads components.","inputs":[{"name":"dataset","type":"string","required":true,"description":"Registry dataset to return."},{"name":"detail","type":"string","required":false,"description":"Dataset only. summary returns section counts and the call for page 1; full (default) preserves the dataset."},{"name":"ifNoneMatch","type":"string","required":false,"description":"Return matched=true without payload when the ETag matches."},{"name":"includePayload","type":"boolean","required":false,"description":"When false, omit payload even if no ETag match occurs."},{"name":"listVersions","type":"boolean","required":false,"description":"When true, return available version dates instead of payload."},{"name":"page","type":"integer","required":false,"description":"Dataset only: read a 1-based page of lossless JSON Pointer entries, each reply below 100,000 characters. Omit for full data."},{"name":"pageSize","type":"integer","required":false,"description":"Dataset entries per page, default 10, also bounded by serialized size. Reply meta gives next and full calls."},{"name":"reproduce","type":"boolean","required":false,"description":"Include the command and calls for reproducing this result."},{"name":"version","type":"string","required":false,"description":"Request a specific date-stamped version (e.g., '2026-02-24'). Omit for latest. Applies to dataset mode only."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":316},{"name":"viz_render","title":"Render Chart","description":"Draw and certify a chart from inline data. Provide chartType and encodings with rows, a pattern with its own data, or an intent to recommend a tabular chart. Brand and theme apply to drawing and certification. The compact reply contains hashes, warnings and certification; output.svg adds the SVG drawing, includeA11y adds the table and narrative, and includeNormalizedSpec adds its specification. Request SVG when a displayed chart is needed. Up to 500 rows; optional outputs still share the 100,000-character reply bound. artifact_certify returns the same drawing and checks for an input in chart.","inputs":[{"name":"a11yEquivalence","type":"boolean","required":false,"description":"Check Vega-Lite accessible equivalents (default true). Errors stop rendering; warnings are returned. ECharts-primary scaffolds are not checked here."},{"name":"brand","type":"string","required":false,"description":"Token brand for drawing and certification."},{"name":"chartType","type":"string","required":false,"description":"Chart family; Cartesian types need rows and encodings, others their named input. Omit to suggest from rows."},{"name":"chord","type":"object","required":false,"description":"Chord input: {nodes:[{name}],links:[{source,target,value}]}; links refer to node names; each directed pair must be unique."},{"name":"description","type":"string","required":false,"description":"Optional override for the synthesized accessibility description. When omitted, a non-empty description is generated from the encodings."},{"name":"encodings","type":"object","required":false,"description":"Cartesian bindings: each needs field; optional type, aggregate, title, format (d3-format), currency (ISO 4217)."},{"name":"geo","type":"object","required":false,"description":"Inline geojson or topojson with topoObjectName, rows, join and valueField; optional point or flow fields. tool_schema gives the full contract."},{"name":"hierarchy","type":"object","required":false,"description":"Treemap/sunburst: {type:\"nested\",data:{name,value,children}} or {type:\"adjacency_list\",data:[{id,parentId,value}]}. See full schema."},{"name":"id","type":"string","required":false,"description":"Optional stable identifier for the produced spec."},{"name":"intent","type":"object","required":false,"description":"Structured request: goal, measures and dimensions, with optional chartFamily; uses rows instead of explicit chartType and encodings."},{"name":"name","type":"string","required":false,"description":"Optional human-friendly chart title."},{"name":"network","type":"object","required":false,"description":"Force graph: nodes [{id,group}] and links [{source,target,value}], at most 250 nodes."},{"name":"opacity","type":"number","required":false,"description":"Constant mark opacity for Cartesian charts only; omission keeps renderer defaults."},{"name":"output","type":"object","required":false,"description":"Optional outputs; default reply has hashes and certification."},{"name":"pattern","type":"string","required":false,"description":"Exact registered pattern identity; preserves source data and presentation. Cannot combine with chartType, data, intent or identity/presentation overrides."},{"name":"reproduce","type":"boolean","required":false,"description":"Include the command and calls for reproducing this result."},{"name":"rows","type":"array","required":false,"description":"Inline flat data rows."},{"name":"sankey","type":"object","required":false,"description":"Sankey input: {nodes:[{name}],links:[{source,target,value}]}; links refer to node names. Use chartType:\"sankey\"."},{"name":"strictFields","type":"boolean","required":false,"description":"Warn about unresolved fields and unmatched map joins (OODS-V131/V134). Default false preserves existing behavior."},{"name":"theme","type":"string","required":false,"description":"Colour theme for drawing and certification."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":653},{"name":"artifact_certify","title":"Certify Chart","description":"Draw and certify a chart from the input in chart, using matching data, brand and theme. Returns the same result as viz_render: hashes, warnings and the certification verdict, including accessibility equivalence, determinism, contrast and accuracy. Optional chart.output fields add SVG, the accessible table and narrative, or the normalized specification. A verdict can be conformant false; each pillar explains its result.","inputs":[{"name":"chart","type":"object","required":true,"description":null},{"name":"reproduce","type":"boolean","required":false,"description":"Include the command and calls for reproducing this result."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":112},{"name":"design_preview","title":"Look Up Recorded Screen","description":"Look up a recorded screen by object, context and framework. Returns its running screen URL, content hash, brand and theme. No new screen is generated. object_registry reads the definition behind the screen. Set reproduce true when the command and calls used to generate it are requested.","inputs":[{"name":"context","type":"string","required":false,"description":"The context the screen was composed for."},{"name":"framework","type":"string","required":false,"description":"The framework of the generated app."},{"name":"object","type":"string","required":true,"description":"An object with recorded screens at this version."},{"name":"reproduce","type":"boolean","required":false,"description":"Include the command and calls for reproducing this result."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":122},{"name":"tool_schema","title":"Read Tool Schema","description":"Read a shipped tool schema by name and kind (input or output). Returns its JSON Schema, package-relative file, recorded file hash and source URL. tools/list describes this endpoint’s narrower accepted inputs; the full schema may describe operations outside the hosted tools.","inputs":[{"name":"kind","type":"string","required":false,"description":"The tool's input schema or its output schema."},{"name":"name","type":"string","required":true,"description":"Any OODS Foundry tool at this version, local-only tools included."},{"name":"reproduce","type":"boolean","required":false,"description":"Include the command and calls for reproducing this result."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":113}],"toolsTruncatedAtCapture":false,"diagnostics":{"capturedAt":"2026-11-06T10:38:23.000Z","track":"remote","endpoint":"https://oods-foundry.com/mcp","declaredUrl":null,"truncated":false,"tls":{"outcome":"valid","label":"Valid","version":"TLS 1.3","cipherSuite":"TLS_AES_128_GCM_SHA256","chainError":null,"certificates":[{"subject":"CN=oods-foundry.com","issuer":"CN=WE1,O=Google Trust Services,C=US","notBefore":"2026-09-22T18:41:30Z","notAfter":"2026-12-21T19:40:01Z","keyType":"ECDSA","keyBits":256,"isCa":false},{"subject":"CN=WE1,O=Google Trust Services,C=US","issuer":"CN=GTS Root R4,O=Google Trust Services LLC,C=US","notBefore":"2023-12-13T09:00:00Z","notAfter":"2029-02-20T14:00:00Z","keyType":"ECDSA","keyBits":256,"isCa":true},{"subject":"CN=GTS Root R4,O=Google Trust Services LLC,C=US","issuer":"CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE","notBefore":"2023-11-15T03:43:21Z","notAfter":"2028-01-28T00:00:42Z","keyType":"ECDSA","keyBits":384,"isCa":true}]},"dnssec":{"result":"insecure","label":"Not signed","name":"oods-foundry.com.","steps":[{"zone":".","outcome":"verified","label":"Verified"},{"zone":"com.","outcome":"verified","label":"Verified"},{"zone":"oods-foundry.com.","outcome":"insecure_proven","label":"Unsigned (proven)"}]},"auth":{"outcome":"none","label":"No authorisation required","gate":null,"gateLabel":null,"status":200,"authorizationServers":[]},"httpsRedirect":{"outcome":"https_enforced","label":"HTTPS enforced","status":301},"transports":[{"transport":"streamable-http","outcome":"verified","label":"Verified","status":200,"followed":false}],"provenance":null,"installScripts":[],"installScriptsTotal":null,"vulnerabilities":[],"vulnerabilitiesTotal":null,"dependencies":null},"mismatches":[],"changelog":{"trackingSince":"2026-10-04","recent":[{"id":"chg_01a1b070-2ac3-79ee-846f-7c6eb2604454","kind":"score.rubric_changed","summary":"We updated how we score, so this day's move reflects our rubric, not a change to the server","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-11-06","url":"https://verifymcp.io/servers/com-oods-foundry-foundry/oods-foundry-2#chg-chg_01a1b070-2ac3-79ee-846f-7c6eb2604454"},{"id":"chg_01a1ab4d-636a-7b01-8a4a-5e674061fa6a","kind":"score.total_changed","summary":"Trust score (76 → 77)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-11-05","url":"https://verifymcp.io/servers/com-oods-foundry-foundry/oods-foundry-2#chg-chg_01a1ab4d-636a-7b01-8a4a-5e674061fa6a"},{"id":"chg_01a1a623-c821-73ed-bf92-1e6e8ed6a4dd","kind":"score.total_changed","summary":"Trust score (77 → 76)","materiality":"functional","direction":"regression","scoreDelta":-1,"occurredOn":"2026-11-04","url":"https://verifymcp.io/servers/com-oods-foundry-foundry/oods-foundry-2#chg-chg_01a1a623-c821-73ed-bf92-1e6e8ed6a4dd"},{"id":"chg_01a1a0fb-e5b2-76ed-819e-873c19cbd5a5","kind":"score.total_changed","summary":"Trust score (76 → 77)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-11-03","url":"https://verifymcp.io/servers/com-oods-foundry-foundry/oods-foundry-2#chg-chg_01a1a0fb-e5b2-76ed-819e-873c19cbd5a5"},{"id":"chg_01a1a0fb-e5b0-7316-9f9d-37cfec15aa8a","kind":"server.instructions_changed","summary":"The server rewrote its instructions, which are the text every model session reads","materiality":"security","direction":"neutral","scoreDelta":null,"occurredOn":"2026-11-03","url":"https://verifymcp.io/servers/com-oods-foundry-foundry/oods-foundry-2#chg-chg_01a1a0fb-e5b0-7316-9f9d-37cfec15aa8a"},{"id":"chg_01a1a0fb-e5a9-70c6-a7fd-92700b012931","kind":"server.version_changed","summary":"Server version (0.11.2 → 0.11.3)","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-11-03","url":"https://verifymcp.io/servers/com-oods-foundry-foundry/oods-foundry-2#chg-chg_01a1a0fb-e5a9-70c6-a7fd-92700b012931"},{"id":"chg_01a196ab-3b4c-7550-a69a-c9cde42a7cf7","kind":"score.total_changed","summary":"Trust score (75 → 76)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-11-01","url":"https://verifymcp.io/servers/com-oods-foundry-foundry/oods-foundry-2#chg-chg_01a196ab-3b4c-7550-a69a-c9cde42a7cf7"},{"id":"chg_01a18c5f-8815-7009-bf7b-161b1c399ca9","kind":"score.total_changed","summary":"Trust score (74 → 75)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-30","url":"https://verifymcp.io/servers/com-oods-foundry-foundry/oods-foundry-2#chg-chg_01a18c5f-8815-7009-bf7b-161b1c399ca9"},{"id":"chg_01a18210-1f2f-7e55-a766-1dbd214cdeef","kind":"score.total_changed","summary":"Trust score (73 → 74)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-28","url":"https://verifymcp.io/servers/com-oods-foundry-foundry/oods-foundry-2#chg-chg_01a18210-1f2f-7e55-a766-1dbd214cdeef"},{"id":"chg_01a1729b-875b-773c-8be9-25dc3c7387d4","kind":"score.total_changed","summary":"Trust score (72 → 73)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-25","url":"https://verifymcp.io/servers/com-oods-foundry-foundry/oods-foundry-2#chg-chg_01a1729b-875b-773c-8be9-25dc3c7387d4"},{"id":"chg_01a1684c-990d-7ebb-83a0-738a7de5c3f9","kind":"score.total_changed","summary":"Trust score (71 → 72)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-23","url":"https://verifymcp.io/servers/com-oods-foundry-foundry/oods-foundry-2#chg-chg_01a1684c-990d-7ebb-83a0-738a7de5c3f9"},{"id":"chg_01a15e00-1d1e-7032-9b49-5dc69b4e9e0c","kind":"score.total_changed","summary":"Trust score (70 → 71)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-21","url":"https://verifymcp.io/servers/com-oods-foundry-foundry/oods-foundry-2#chg-chg_01a15e00-1d1e-7032-9b49-5dc69b4e9e0c"},{"id":"chg_01a153b1-2f16-781a-afcf-5c91a7994e24","kind":"score.total_changed","summary":"Trust score (69 → 70)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-19","url":"https://verifymcp.io/servers/com-oods-foundry-foundry/oods-foundry-2#chg-chg_01a153b1-2f16-781a-afcf-5c91a7994e24"},{"id":"chg_01a14963-df04-71a2-832b-7099089caed7","kind":"score.total_changed","summary":"Trust score (68 → 69)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-17","url":"https://verifymcp.io/servers/com-oods-foundry-foundry/oods-foundry-2#chg-chg_01a14963-df04-71a2-832b-7099089caed7"},{"id":"chg_01a13f1c-4785-75a3-810b-2497dee513c7","kind":"score.total_changed","summary":"Trust score (67 → 68)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-15","url":"https://verifymcp.io/servers/com-oods-foundry-foundry/oods-foundry-2#chg-chg_01a13f1c-4785-75a3-810b-2497dee513c7"},{"id":"chg_01a12e6b-3f60-717e-acc9-3adba8adb212","kind":"tool.description_changed","summary":"Tool “registry_snapshot” rewrote its description, which is the text the model reads","materiality":"security","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-12","url":"https://verifymcp.io/servers/com-oods-foundry-foundry/oods-foundry-2#chg-chg_01a12e6b-3f60-717e-acc9-3adba8adb212"},{"id":"chg_01a12e6b-3e95-7882-901c-bb9a7da1f9b1","kind":"check.verdict","summary":"Judged manipulation (fail → pass)","materiality":"security","direction":"improvement","scoreDelta":null,"occurredOn":"2026-10-12","url":"https://verifymcp.io/servers/com-oods-foundry-foundry/oods-foundry-2#chg-chg_01a12e6b-3e95-7882-901c-bb9a7da1f9b1"},{"id":"chg_01a12e6b-3e96-70f7-928e-885dcbdf904d","kind":"check.measure","summary":"Tool coverage (81% → 98%)","materiality":"functional","direction":"improvement","scoreDelta":null,"occurredOn":"2026-10-12","url":"https://verifymcp.io/servers/com-oods-foundry-foundry/oods-foundry-2#chg-chg_01a12e6b-3e96-70f7-928e-885dcbdf904d"},{"id":"chg_01a12e6b-3e99-766c-bb72-5437db2e0558","kind":"check.measure","summary":"Schema quality (poor → good)","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-12","url":"https://verifymcp.io/servers/com-oods-foundry-foundry/oods-foundry-2#chg-chg_01a12e6b-3e99-766c-bb72-5437db2e0558"},{"id":"chg_01a12e6b-3e99-7aef-bf65-9f085724522d","kind":"tool.description_changed","summary":"Tool “artifact_certify” rewrote its description, which is the text the model reads","materiality":"security","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-12","url":"https://verifymcp.io/servers/com-oods-foundry-foundry/oods-foundry-2#chg-chg_01a12e6b-3e99-7aef-bf65-9f085724522d"}],"truncated":true,"feedUrl":"https://verifymcp.io/servers/com-oods-foundry-foundry/oods-foundry-2/changelog.json"},"links":{"html":"https://verifymcp.io/servers/com-oods-foundry-foundry/oods-foundry-2","markdown":"https://verifymcp.io/servers/com-oods-foundry-foundry/oods-foundry-2.md","changelogJson":"https://verifymcp.io/servers/com-oods-foundry-foundry/oods-foundry-2/changelog.json","changelogRss":"https://verifymcp.io/servers/com-oods-foundry-foundry/oods-foundry-2.xml","external":[{"label":"Remote endpoint","href":"https://oods-foundry.com/mcp"},{"label":"Repository","href":"https://github.com/kneelinghorse/OODS-Foundry"},{"label":"Website","href":"https://oods-foundry.com/"}]}}