{"$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-05T16:21:17.581Z","url":"https://verifymcp.io/servers/com-oods-foundry-foundry/oods-foundry","markdownUrl":"https://verifymcp.io/servers/com-oods-foundry-foundry/oods-foundry.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","type":"npm","identifier":"@oods/foundry","withdrawn":false,"url":"https://verifymcp.io/servers/com-oods-foundry-foundry/oods-foundry","version":"0.11.3","transport":"stdio","scoredAt":"2026-11-05T06:38:45.885Z"},"score":{"total":79,"tier":"medium","status":"scored","weekDelta":0,"history":[{"date":"2026-11-05","total":79},{"date":"2026-11-04","total":79},{"date":"2026-11-03","total":79},{"date":"2026-11-02","total":64},{"date":"2026-11-01","total":79},{"date":"2026-10-31","total":79},{"date":"2026-10-30","total":79},{"date":"2026-10-29","total":79},{"date":"2026-10-28","total":79},{"date":"2026-10-27","total":79},{"date":"2026-10-26","total":79},{"date":"2026-10-25","total":78},{"date":"2026-10-24","total":78},{"date":"2026-10-23","total":77},{"date":"2026-10-22","total":77},{"date":"2026-10-21","total":76},{"date":"2026-10-20","total":76},{"date":"2026-10-19","total":75},{"date":"2026-10-18","total":75},{"date":"2026-10-17","total":74},{"date":"2026-10-16","total":40},{"date":"2026-10-15","total":40},{"date":"2026-10-14","total":40},{"date":"2026-10-13","total":40},{"date":"2026-10-12","total":40},{"date":"2026-10-04","total":34},{"date":"2026-10-03","total":52},{"date":"2026-10-02","total":41},{"date":"2026-10-01","total":51},{"date":"2026-09-30","total":51}]},"categories":[{"name":"Supply Chain Security","score":100,"verdict":"pass","reasons":["No malware found by supply-chain analysis.","No known CVEs affecting this package version or its production dependencies.","No install/post-install scripts declared.","No production dependencies, so there is no dependency health to assess."],"codes":[{"code":"supplychain.malware_clean","args":{}},{"code":"cve.none","args":{}},{"code":"installscript.none","args":{}},{"code":"dephealth.no_dependencies","args":{"deps":"0","unhealthy":"0"}}]},{"name":"Provenance & Transparency","score":48,"verdict":"fail","reasons":["Source repository is publicly reachable at the declared URL.","Provenance check failed: no build-provenance attestation is published.","Clear OSI-approved license (Apache-2.0).","Actively maintained (last published 3 days ago).","Publishes a security disclosure policy (SECURITY.md)."],"codes":[{"code":"provenance.repo_verified","args":{}},{"code":"provenance.none","args":{}},{"code":"license.osi","args":{"spdx":"Apache-2.0"}},{"code":"maintenance.recent","args":{"age_days":"3"}},{"code":"disclosure.present","args":{}}]},{"name":"Schema Quality & AI Usability","score":76,"verdict":"fail","reasons":["100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).","AI-judged instruction clarity (good).","Context-footprint check failed: tool/resource definitions use about 9676 tokens (~182/item across 53 items; 26 tools + 27 resources), over budget; trim descriptions and params.","Usage-examples check failed: none of the tools include examples."],"codes":[{"code":"schema.descriptions","args":{"pct":"100"}},{"code":"schema.ai_quality","args":{"band":"good"}},{"code":"schema.footprint_heavy","args":{"avg":"182","items":"53","tools":"26","tokens":"9676","resources":"27"}},{"code":"schema.examples_absent","args":{}}]},{"name":"Stability & Change Management","score":55,"verdict":"fail","reasons":["Stability check failed: the tool surface changed between 0.4.2 and 0.11.3: 8 tool removals, 1 breaking changes, 15 additions."],"codes":[{"code":"stability.version_churn","args":{"to":"0.11.3","days":"35","from":"0.4.2","added":"15","breaks":"1","removed":"8"}}]},{"name":"Tool Coverage","score":100,"verdict":"pass","reasons":["100% of tools have a non-trivial description (not blank, and not just the tool's name).","100% of tool parameters carry a description."],"codes":[{"code":"toolquality.descriptions","args":{"pct":"100"}},{"code":"toolquality.param_docs","args":{"pct":"100"}}]},{"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 26 captured tool definition(s), and no name or description among them implies an irreversible operation.","An AI judge read all 28 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":"26"}},{"code":"toolsafety.manipulation_clean","args":{"units":"28","judged":"28"}}]},{"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":77,"current":false,"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":true,"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":"Registry","value":"npm"},{"label":"Package","value":"@oods/foundry"},{"label":"Version","value":"0.11.3"},{"label":"Transport","value":"stdio"}],"install":{"available":true,"bundleSha256":null},"tools":[{"name":"tokens_build","title":"Build Tokens","description":"Compile registered brand tokens with the shipped compiler. Use it when you need fresh CSS and JSON; use brand_create to create a brand or brand_apply to change its source. Returns inline CSS variables, CSS and JSON plus artifact paths, hashes and sizes. apply:true builds in isolated artifact storage; omission previews the artifacts without writing. Requested brand/theme selects the inline scope; full CSS includes every registered scope. Source and shipped runtime files stay unchanged. Full schema: oods://schemas/tokens_build.input.json.","inputs":[{"name":"apply","type":"boolean","required":false,"description":"Write on true; otherwise preview."},{"name":"brand","type":"string","required":false,"description":"Selects values compiled from current source, returned inline as CSS variables, CSS and JSON and written on apply. Full CSS includes all registered scopes; TypeScript and Tailwind artifacts retain A/l…"},{"name":"theme","type":"string","required":false,"description":"Token theme."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":177},{"name":"structured_data_fetch","title":"Fetch Structured Data","description":"Fetch live registry datasets, archived token/export data, or captured-run artifacts. Use it when you need complete datasets; catalog_list selects components and object_registry reads definitions. Returns data with provenance, version and cache metadata. Full remains the default; detail:summary gives section counts and meta.next for inline pages; follow meta.next until absent. dataset selects registry/export mode; version pins an archived export and listVersions lists dates. kind plus runPath selects captured artifacts, while derived_analysis reads an analysis directory via runPath; version/listVersions are refused in kind mode. includeInternal exposes hidden objects, and ifNoneMatch checks the canonical payload ETag. Full schema: oods://schemas/structured_data_fetch.input.json.","inputs":[{"name":"dataset","type":"string","required":false,"description":"Local structured dataset to return (components/tokens/manifest). Mutually exclusive with kind+runPath."},{"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":"includeInternal","type":"boolean","required":false,"description":"Live components dataset only: also list OODS Foundry's internal (non-business) objects, after the business objects. Without it they are left out and registry.hiddenInternal counts them; a dated expor…"},{"name":"includePayload","type":"boolean","required":false,"description":"When false, omit payload even if no ETag match occurs."},{"name":"kind","type":"string","required":false,"description":"Stage1 artifact kind, with runPath; excludes dataset. See full schema for details."},{"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":"payloadMode","type":"string","required":false,"description":"Unset: inline, unless the payload exceeds 100,000 characters; then it is written to a file and warning OODS-W004 says so. inline always returns it; file always writes it and returns payloadFile."},{"name":"runPath","type":"string","required":false,"description":"Filesystem path to a Stage1 run directory or its artifacts/ subdirectory. Required when kind is set."},{"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":524},{"name":"brand_apply","title":"Apply Brand Changes","description":"Preview or apply changes to an existing brand's canonical token source. Use it when editing a brand; use brand_create to create one. Returns validation, changed slots, before/after hashes and build evidence. delta is required and supports aliases or add/remove/replace patches. apply defaults to a dry run that writes nothing. apply:true validates first, then writes source and rebuilds; build failure leaves source edits in place. For shipped brands in the portable runtime, apply emits a review kit and reports source/build steps as skipped. User brands rebuild in their own folder. Full schema: oods://schemas/brand_apply.input.json.","inputs":[{"name":"apply","type":"boolean","required":false,"description":"Write on true; otherwise preview."},{"name":"brand","type":"string","required":false,"description":"Target brand identifier. Must name a brand directory under packages/tokens/src/tokens/brands."},{"name":"delta","type":"object|array","required":true,"description":"Alias changes (object) or an array using the supported add/remove/replace subset of RFC 6902 when strategy=patch."},{"name":"preview","type":"object","required":false,"description":"Preview response controls (apply=false)."},{"name":"strategy","type":"string","required":false,"description":"Alias strategy rewrites token values; patch applies the supported add/remove/replace subset of RFC 6902."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":247},{"name":"brand_create","title":"Create Brand","description":"Create a brand or stage a local token intake draft. Use it when adding a brand; use brand_read for templates, validation, derivation and draft review, or brand_apply to edit a brand. Returns a staged draft or created brand with build results. apply needs draftId and accept:true. create accepts filled documents or a recipe, validates all themes, refuses replacement and removes a brand whose build fails. Full schema: oods://schemas/brand_create.input.json.","inputs":[{"name":"accept","type":"boolean","required":false,"description":"Actions: apply (required)."},{"name":"action","type":"string","required":true,"description":"Choose create, draft, apply."},{"name":"bindings","type":"object","required":false,"description":"Actions: draft."},{"name":"brand_id","type":"string","required":false,"description":"The id the brand will have. Actions: create (required), draft (required). See full schema for details."},{"name":"documents","type":"object","required":false,"description":"The filled template: one plain design-token document per theme, brand-relative (surface.canvas, not color.brand.<id>.surface.canvas), each slot {\"$type\": \"color\", \"$value\": \"<CSS colour>\"}. Actions:…"},{"name":"draftId","type":"string","required":false,"description":"Actions: apply (required)."},{"name":"from","type":"object","required":false,"description":"Actions: draft."},{"name":"recipe","type":"object","required":false,"description":"A brand recipe in place of documents: the brand it gives is checked, and for create written, like filled documents. Actions: create."},{"name":"source","type":"object","required":false,"description":"Actions: draft (required)."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":290},{"name":"brand_read","title":"Read Brand Data","description":"Read brand templates, validate documents, derive recipes or inspect staged drafts. Use it when preparing a brand without saving; use brand_create to stage or create it. Returns complete template slots, validation findings, a recipe with provenance and gaps, or draft evidence. derive takes exactly one of tokens, css or absolute cssPath. Template replies use compact JSON so all themes fit inline. Full schema: oods://schemas/brand_read.input.json.","inputs":[{"name":"action","type":"string","required":true,"description":"Choose template, validate, derive, show."},{"name":"brand_id","type":"string","required":false,"description":"The id the brand will have. Checked when given: capitals then digits (ACME, A1) or a letter then lower-case letters and digits (Acme, acme2), at most 32 characters, and no existing brand's id in any…"},{"name":"css","type":"string","required":false,"description":"A shadcn theme CSS entry, in place of tokens. Actions: derive. See full schema for details."},{"name":"cssPath","type":"string","required":false,"description":"Absolute path to the shadcn theme CSS entry, in place of tokens or css. Read only. Actions: derive."},{"name":"documents","type":"object","required":false,"description":"The filled template: one plain design-token document per theme, brand-relative (surface.canvas, not color.brand.<id>.surface.canvas), each slot {\"$type\": \"color\", \"$value\": \"<CSS colour>\"}. Actions:…"},{"name":"draftId","type":"string","required":false,"description":"Actions: show (required)."},{"name":"from","type":"object","required":false,"description":"Where the starting values come from: an existing brand (default A), optionally with one of the shipped presets over it; or a recipe, which gives the complete brand, graded. Actions: template."},{"name":"hints","type":"object","required":false,"description":"Exact dot-separated token paths, or CSS custom property names, that override inference. Invalid hints produce gaps, never silent fallback. Actions: derive."},{"name":"recipe","type":"object","required":false,"description":"A brand recipe in place of documents: the brand it gives is checked, and for create written, like filled documents. Actions: validate."},{"name":"tokens","type":"object","required":false,"description":"A DTCG document with your own token names. Group $type is inherited; {group.token} aliases resolve inside the document. Actions: derive."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":456},{"name":"catalog_list","title":"List Components","description":"List components from the live component-contract registry. Use it when selecting components; structured_data_fetch returns complete datasets. Returns component names, categories, readiness labels and availableCategories; detail controls added tags, contexts, regions, traits and evidence. includeInternal exposes hidden registry objects. Filtered calls without detail default to full pages of 10; nextPage continues. Explicit detail preserves unpaged output. Readiness evidence retains the build it measured and does not certify a new composition. Full schema: oods://schemas/catalog_list.input.json.","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":"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":364},{"name":"code_generate","title":"Generate Code","description":"Generate React/Vue file sets or a standalone static HTML document from a validated UiSchema. Use it when a schema already exists; use design_compose instead to choose a layout or pipeline_run to compose, validate, render and generate together. Returns versioned artifacts, exact dependencies, required domain handlers and validationReceipt. Supply schema or schemaRef before its 30-minute expiry. profile selects draft/build/release; build performs static checks, while release verifies supplied evidence without rerunning it. options.output selects component/application; options.payloadMode:file returns file references, as does oversized output unless inline. Domain actions require consumer handlers. React and Vue shadcn mappings support components, screen apps and workflow apps. Full schema: oods://schemas/code_generate.input.json.","inputs":[{"name":"framework","type":"string","required":true,"description":"Target framework. HTML uses the same record document renderer as repl render; build checks are static and do not execute a browser."},{"name":"options","type":"object","required":false,"description":"Operation options."},{"name":"profile","type":"string","required":false,"description":"Validation profile. See full schema for details."},{"name":"releaseEvidence","type":"object","required":false,"description":"Evidence for release. See full schema for details."},{"name":"schema","type":"object","required":false,"description":"A structurally valid UiSchema tree to generate code from. UiElement.state branches are checked against the canonical workflow-state vocabulary by the state-contract gate."},{"name":"schemaRef","type":"string","required":false,"description":"Reference to a cached UiSchema returned by design_compose."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":287},{"name":"design_compose","title":"Compose Design","description":"Compose an object screen or workflow into a UiSchema. Use it when choosing layout and components; use pipeline_run instead for the complete generation flow or code_generate when you already have a schema. Returns schema, a 30-minute process-local schemaRef and durable compositionId/version lineage. Prefer explicit object and context over keyword-based intent. preferences controls region/field order and sample seed; compositionId appends a version, while options.transient records none. Save schemas with schema_store to reuse across sessions. Selected nodes snapshot component mappings; composition does not generate or run an app. Full schema: oods://schemas/design_compose.input.json.","inputs":[{"name":"compositionId","type":"string","required":false,"description":"Record this composition as the next version of an existing composition (operation \"recompose\") instead of creating a new one."},{"name":"context","type":"string","required":false,"description":"View context for object-aware composition. See full schema for details."},{"name":"intent","type":"string","required":false,"description":"A short intent sentence (e.g., 'dashboard with metrics and sidebar', 'user registration form'), matched against fixed keyword and phrase tables, not understood; a sentence with no layout keyword beco…"},{"name":"layout","type":"string","required":false,"description":"Layout template to use. 'landing' is a content/marketing page (hero + sections + CTA), not bound to a data object. 'auto' infers the best template from intent keywords."},{"name":"object","type":"string","required":false,"description":"Object name from the OODS registry (e.g., 'Subscription', 'User'). When provided, composition uses trait-driven component placement via view_extensions."},{"name":"options","type":"object","required":false,"description":"Operation options."},{"name":"parentVersion","type":"integer","required":false,"description":"With compositionId: the version the new one derives from; default the latest."},{"name":"preferences","type":"object","required":false,"description":"Layout and appearance preferences."},{"name":"presentation","type":"string","required":false,"description":"Named Stage1 inspection presentation: omit the accessibility score and prominently show measurement limits. Source records remain unchanged."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":393},{"name":"design_preview","title":"Preview Running Design","description":"Render, compare, edit or accept a running React/Vue composition. Use it when reviewing generated behavior; use design_versions to inspect lineage without starting a host, or fidelity_preview for static drawings. Returns preview URLs, editable fields and measured or unmeasured evidence. Supply compositionId/version or object/context. Edits create versions; compare generates missing artifacts. accept records the generated version and a snapshot of its measurements as accepted, preserving prior acceptances. Full schema: oods://schemas/design_preview.input.json.","inputs":[{"name":"action","type":"string","required":false,"description":"Choose render, compare, edit, accept."},{"name":"against","type":"object","required":false,"description":"action compare: the version on the right; the left is compositionId@version."},{"name":"analysisPath","type":"string","required":false,"description":"Portable Stage1 derived-analysis directory. Composes Comparison or ComparisonSignal from attested retained bytes, separate from runPath. Only read-only contexts; recordId selects an exact signal."},{"name":"compositionId","type":"string","required":false,"description":"An existing composition from design_compose; with no version, its latest version opens."},{"name":"context","type":"string","required":false,"description":"View context for object-aware composition. See full schema for details."},{"name":"contextItems","type":"array","required":false,"description":"Decisions and evidence about this object that you already fetched, shown beside the running preview and stored on the version. See full schema for details."},{"name":"contextSearched","type":"array","required":false,"description":"What you searched that returned nothing, so an empty panel is a statement rather than a silence: the reader can tell 'nothing was found' from 'nobody asked'."},{"name":"edit","type":"object","required":false,"description":"Edit one parent version: operation is reorder-region (regionOrder), swap-slot (slot, component), reorder-fields (fields), or seed (seed). Returns a new version."},{"name":"framework","type":"string","required":false,"description":"Which generated app to compile and serve; both frameworks by default, each at its own URL."},{"name":"object","type":"string","required":false,"description":"Object name from the OODS registry (e.g., 'Subscription', 'User'); with context, composes a new composition (version 1) and opens it."},{"name":"observationRunPath","type":"string","required":false,"description":"A Stage1 run directory on this machine (out/stage1/<suite>/<run-uuid>). See full schema for details."},{"name":"preferences","type":"object","required":false,"description":"Layout and appearance preferences."},{"name":"presentation","type":"string","required":false,"description":"Named Stage1 inspection presentation: omit the accessibility score and prominently show measurement limits. Source records remain unchanged."},{"name":"recordId","type":"string","required":false,"description":"Exact record ID for a fresh runPath or analysisPath detail/card/inline view. Unknown IDs refuse before composition; existing versions retain their selected record."},{"name":"runPath","type":"string","required":false,"description":"A Stage1 run directory on this machine (out/stage1/<suite>/<run-uuid>) whose real records this version shows: the run itself for Run, its findings for Finding, its attested artifacts for CapturedArti…"},{"name":"version","type":"integer","required":false,"description":"The version of compositionId to open."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":600},{"name":"design_versions","title":"Read Design Versions","description":"Read a composition's versions and accepted version. Use it when inspecting saved lineage; use design_preview to render, edit, compare or accept. Returns version metadata, latest and acceptance summary. Supply compositionId. Starts no preview host and returns no running URL. Full schema: oods://schemas/design_versions.input.json.","inputs":[{"name":"action","type":"string","required":false,"description":"Choose versions."},{"name":"compositionId","type":"string","required":true,"description":"An existing composition from design_compose; with no version, its latest version opens."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":104},{"name":"pipeline_run","title":"Run Design Pipeline","description":"Run composition, validation, rendering and code generation in one call. Use it when starting from an object/context or intent and needing generated output; use design_compose instead to inspect layout first or code_generate for an existing schema. Returns step results, schemaRef with expiry, versioned artifacts, dependencies and validationReceipt. options controls validation/render skipping and optional static accessibility checks; save persists the schema beyond its process-local 30-minute reference. Generation validation forwards draft/build/release without downgrade. Release verifies supplied evidence without rerunning it; unresolved accessibility pairs stay unmeasured. Oversized output goes to files unless options.payloadMode is inline. Calls may write composition and saved-schema records. Full schema: oods://schemas/pipeline_run.input.json.","inputs":[{"name":"actionMappings","type":"array","required":false,"description":"action mappings: flat, verb-keyed entries."},{"name":"context","type":"string","required":false,"description":"View context for object-aware composition."},{"name":"framework","type":"string","required":false,"description":"Target framework for code generation."},{"name":"intent","type":"string","required":false,"description":"A short intent sentence, matched against fixed keyword and phrase tables (a sentence that matches no layout keyword becomes a low-confidence dashboard). Prefer object and context."},{"name":"layout","type":"string","required":false,"description":"Layout template. 'landing' is a content page (hero, sections, call to action) bound to no object; 'auto' picks one from the intent."},{"name":"object","type":"string","required":false,"description":"Object name from the OODS registry (e.g., Subscription, User)."},{"name":"options","type":"object","required":false,"description":"Operation options."},{"name":"preferences","type":"object","required":false,"description":"Layout and appearance preferences."},{"name":"profile","type":"string","required":false,"description":"Validation profile passed to code_generate. build, the default, blocks on static checks; static checks do not install or run the generated app."},{"name":"releaseEvidence","type":"object","required":false,"description":"Hash-bound release evidence forwarded unchanged to code_generate."},{"name":"save","type":"string|object","required":false,"description":"Optional schema save config. String for name-only, or { name, tags } for full control. Variant fields: name, tags. Read the full schema for each variant."},{"name":"styling","type":"string","required":false,"description":"Styling strategy for code generation."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":422},{"name":"health_check","title":"Check Health","description":"Read server readiness, live registry/store counts and retained proof summaries. Use it when checking availability and built brand/theme scopes; use object_registry for definitions or registry_snapshot for mappings. Returns status, server uptime, registry counts, token scopes and productReality evidence. status:ok means sources were readable; retained proofs identify their measured build and do not automatically certify this one. includeChangelog and sinceVersion filter the reported DSL changelog. tokens.defaultScope is configured metadata rather than an observed consumer scope; missing scope data is unavailable. Full schema: oods://schemas/health_check.input.json.","inputs":[{"name":"includeChangelog","type":"boolean","required":false,"description":"When true, include DSL version changelog in the response."},{"name":"sinceVersion","type":"string","required":false,"description":"When provided with includeChangelog, only return changelog entries since this version."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":169},{"name":"registry_snapshot","title":"Snapshot Registry","description":"Read mappings together with active traits and objects in one snapshot. Use it when reading combined registry data; object_registry reads one definition and object_register saves one. Returns mappings, traits, objects, generatedAt, ETag and registry loader issues. Defaults to a summary; detail full adds schemas. includeInternal exposes hidden objects; otherwise hiddenInternal counts omitted entries. Team definitions and shadowing are reported from live sources. This read-only call writes no snapshot file. Historical mapping fields remain stored data and do not imply current capabilities. Full schema: oods://schemas/registry_snapshot.input.json.","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."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":200},{"name":"viz_render","title":"Render Chart","description":"Render one data-bound chart from rows or a structured data operand. Use it when creating chart output; use artifact_certify instead to grade a normalized chart or dashboard_render for multiple panels and KPIs. Returns Vega-Lite or ECharts specs, chart identities and requested SVG/accessibility output. pattern uses bundled data and forbids explicit data/encoding/presentation overrides. Otherwise use chartType plus encodings, omit chartType for recommendations, or supply structured intent. ECharts-primary families require their matching hierarchy/network/geo operand. brand/theme controls pixels; output.includeNormalizedSpec returns the IR required by artifact_certify. Temporal rendering uses UTC. For native ECharts after JSON transport, restore currency and precision with @oods/foundry/echarts.js. Charts take inline data only; URLs, images and links in the input are refused. Full schema: oods://schemas/viz_render.input.json.","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":"CSS token brand for chart pixels. Omission resolves light/A."},{"name":"chartType","type":"string","required":false,"description":"Chart family for explicit mode. Cartesian charts need rows/datasetRef and encodings; other families need their named data 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":"datasetRef","type":"string","required":false,"description":"Previously cached dataset id; alternative to rows."},{"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 plus topoObjectName, rows, join, valueField; optional point/flow coordinate fields. No network fetch. Re-register echartsSpec.__registration before rendering. Read full sch…"},{"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:[{name}], dimensions:[{name}], optional chartFamily and measureRef. Uses rows or datasetRef; alternative to explicit chartType/encodings."},{"name":"name","type":"string","required":false,"description":"Optional human-friendly chart title."},{"name":"network","type":"object","required":false,"description":"Force graph input: {nodes:[{id,group}],links:[{source,target,value}]}; max 250 nodes. Use chartType:\"force_graph\". Full contract: oods://schemas/viz_render.input.json."},{"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":"Options: svg, width, height, compact, echarts, includeNormalizedSpec, includeA11y, includeVegaSpec, titlePlacement (chart or figure). SVG is opt-in; compact defaults true."},{"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":"rows","type":"array","required":false,"description":"Inline flat data rows. Use either rows or datasetRef."},{"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":"Chart token theme. HC preserves system colors and needs a forced-colors browser to resolve them."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":825},{"name":"dashboard_render","title":"Render Dashboard","description":"Render coordinated charts and KPIs from shared datasets and panel definitions. Use it when composing a dashboard; use viz_render instead for one chart or artifact_certify to grade each returned normalized chart. Returns layout, per-panel specs/hashes, computed KPI values, accessibility data and a reusable specRef. output.includeNormalizedSpec includes panel IR; output.html adds rendered HTML. brand/theme controls emitted pixels; selection and crossFilter apply caller-supplied filtering. resolveMeasures defaults true for governed measure references. output.contrastScan is a four-pair token preflight, not whole-document certification. Chord and flow_map are excluded from dashboards. Panels take inline data only. Full schema: oods://schemas/dashboard_render.input.json.","inputs":[{"name":"a11y","type":"object","required":true,"description":"dashboard-level accessibility: a cross-panel summary + reading/focus order. The per-chart AccessibilitySpec stays per-panel; this is the dashboard envelope."},{"name":"a11yEquivalence","type":"boolean","required":false,"description":"A11y equivalence certify-at-emission switch. See full schema for details."},{"name":"brand","type":"string","required":false,"description":"CSS token brand for the dashboard document and chart pixels; defaults to A. The contrast scan grades the same scoped document tokens."},{"name":"crossFilter","type":"object","required":false,"description":"Active selection combination. Each active source contributes a predicate; ignoreSelfSource controls whether its own panel is filtered. Declared links do not change this behavior."},{"name":"datasets","type":"array","required":true,"description":"Shared, named tabular datasets. chart and KPI panels reference one by datasetId; panels that share a dataset can cross-filter each other."},{"name":"id","type":"string","required":false,"description":"Stable identifier for the dashboard instance."},{"name":"layout","type":"object","required":false,"description":"Optional layout hints consumed by the deterministic auto-layout resolver. Absent hints -> declared panel order + KPI-row-first defaults; the resolver emits abstract {x,y,w,h} (renderer-agnostic, the…"},{"name":"links","type":"array","required":false,"description":"Declared panel relationships, returned and shown as a labelled list in HTML. They apply no filters; cross-filtering uses selection and crossFilter."},{"name":"onPanelError","type":"string","required":false,"description":"What a failed panel does: 'placeholder' (default) shows an accessible error panel in its place; 'omit' drops it from the layout."},{"name":"output","type":"object","required":false,"description":"Optional render output controls (mirrors viz_render)."},{"name":"panels","type":"array","required":true,"description":"Heterogeneous panels: chart (11 of the 13 viz_render chartTypes; chord and flow_map are viz_render-only — plus its data branch) or kpi tiles."},{"name":"resolveMeasures","type":"boolean","required":false,"description":"Phase-3 governed-measure resolution switch. See full schema for details."},{"name":"schemaVersion","type":"string","required":true,"description":"IR version discriminant (V01 convention). A future template/shape change bumps to v0.2."},{"name":"selection","type":"object","required":false,"description":"Optional accumulated cross-filter SelectionState, keyed by sourceWidgetId (one active selection per source). See full schema for details."},{"name":"strictDatasets","type":"boolean","required":false,"description":"Unknown-datasetId strict switch. See full schema for details."},{"name":"strictFields","type":"boolean","required":false,"description":"Field-presence strict switch. See full schema for details."},{"name":"theme","type":"string","required":false,"description":"CSS token theme for chart pixels, default light. See full schema for details."},{"name":"title","type":"string","required":false,"description":"Human-friendly dashboard title surfaced in UI + narration."},{"name":"tokenCssRef","type":"string","required":false,"description":"Token strategy. See full schema for details."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":693},{"name":"artifact_certify","title":"Certify Artifact","description":"Grade a normalized chart's accessibility equivalence, determinism, contrast and accuracy. Use it when checking the IR returned by viz_render or dashboard_render; use viz_render instead to create chart output and dashboard_render to compose panels. Returns coverage, conformant, findings and four pillar verdicts. Pass spec alone for Cartesian charts; ECharts-primary charts need the same matching data branch used for rendering. Spec-only ECharts remains uncertified. brand/theme must match rendering; high contrast reports forced-colors exemption without a numeric contrast grade. A certified chart may still be nonconformant; inspect all verdicts. This read-only check does not repair charts and never fetches a URL. Full schema: oods://schemas/artifact_certify.input.json.","inputs":[{"name":"brand","type":"string","required":false,"description":"CSS brand scope, matching viz_render for the same normalized spec and data operand."},{"name":"data","type":"object","required":false,"description":"Optional operand for the 8 ECharts-primary types (treemap/sunburst/sankey/force_graph/choropleth/bubble_map/flow_map/chord): the same data branch viz_render takes, so certify re-emits the option the…"},{"name":"spec","type":"object","required":true,"description":"An OODS Foundry normalized chart spec: the normalizedSpec that viz_render returns. The handler validates it against the full spec schema."},{"name":"theme","type":"string","required":false,"description":"CSS token theme for chart pixels, default light. See full schema for details."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":304},{"name":"fidelity_preview","title":"Preview Fidelity","description":"Draw object relationships or compositions at four fidelity levels. Use it when reviewing static structure or appearance; use design_preview instead to run generated React/Vue behavior. Returns SVG or HTML with fidelity-specific structure and provenance. fidelityKind selects boxes-arrows, wireframe, review or branded-mockup. Supply exactly one object, objects set, schema/schemaRef, fixture or legacy manifest; object/context composes a screen. Object diagrams show declared relationships; schema diagrams show containment. Wireframe/review show component bindings and recorded confidence, and branded mockups use static sample data. options.brandOverlay/theme selects built tokens. These drawings do not certify usability or referential integrity. Full schema: oods://schemas/fidelity_preview.input.json.","inputs":[{"name":"context","type":"string","required":false,"description":"Context to compose for a single object in wireframe, review or branded-mockup."},{"name":"fidelityKind","type":"string","required":true,"description":"Which HTML fidelity emitter to invoke."},{"name":"fixture","type":"string","required":false,"description":"Named allow-listed Object Catalog fixture shipped in registry data; unknown names return OODS-FP-001."},{"name":"manifest","type":"object","required":false,"description":"Inline Object Catalog manifest to render — an alternative to `fixture`. See full schema for details."},{"name":"object","type":"string","required":false,"description":"Registered object. boxes-arrows draws its declared relationships; other views compose it in context."},{"name":"objects","type":"array","required":false,"description":"Explicit object set; draw only declared edges within this set. boxes-arrows only."},{"name":"options","type":"object","required":false,"description":"Operation options."},{"name":"schema","type":"object","required":false,"description":"Inline composed screen tree; validated as UiSchema."},{"name":"schemaRef","type":"string","required":false,"description":"Cached UiSchema from design_compose or schema load; missing/expired refs return a typed error."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":343},{"name":"component_map","title":"Write Component Mappings","description":"Write component substitutions or stage an intake draft. Use it when connecting React/Vue exports, shadcn source or built Storybook files; use component_map_read to list, resolve or review drafts. Returns staged evidence or write outcomes. apply with draftId requires accepted ids and writes adapters and mappings atomically. create takes one entry, mappings or mappingsPath; create and report-based apply preview unless apply:true. update and delete always write. Full schema: oods://schemas/component_map.input.json.","inputs":[{"name":"accept","type":"array","required":false,"description":"Actions: apply (required)."},{"name":"action","type":"string","required":true,"description":"Choose apply, create, update, delete, draft."},{"name":"apply","type":"boolean","required":false,"description":"For apply: When true, persist registry mutations. Defaults to dry-run. For create: When true, write changes to disk. Actions: apply, create."},{"name":"capabilities","type":"array","required":false,"description":"Capability definitions to append. Actions: create."},{"name":"confidence","type":"string","required":false,"description":"'auto' for machine-generated, 'manual' for human-curated. Actions: create."},{"name":"disambiguation_decisions","type":"array","required":false,"description":"Review decisions to append; does not gate creation. Actions: create."},{"name":"draftId","type":"string","required":false,"description":"Actions: apply (required)."},{"name":"externalComponent","type":"string","required":false,"description":"External component name. Actions: create."},{"name":"externalSystem","type":"string","required":false,"description":"External design system name (for example, 'team'). Actions: create, draft."},{"name":"id","type":"string","required":false,"description":"Mapping ID. Actions: update (required), delete (required)."},{"name":"mappings","type":"array","required":false,"description":"Create entries, each without apply. All entries are checked before one atomic write. Actions: create."},{"name":"mappingsPath","type":"string","required":false,"description":"Absolute path to a JSON document { mappings: [...] }, using the same entry shape. Actions: create."},{"name":"metadata","type":"object","required":false,"description":"Mapping metadata. Actions: create."},{"name":"minConfidence","type":"number","required":false,"description":"Minimum confidence to apply; lower candidates are queued. Actions: apply."},{"name":"oodsTraits","type":"array","required":false,"description":"OODS trait names this component maps to. Actions: create."},{"name":"preferred_terms","type":"array","required":false,"description":"Canonical terms to append. Actions: create."},{"name":"projection_variants","type":"array","required":false,"description":"Cross-surface mapping variants to append. Actions: create."},{"name":"propMappings","type":"array","required":false,"description":"Property translations from external to OODS prop names. Actions: create."},{"name":"report","type":"object","required":false,"description":"Reconciliation report. Actions: apply."},{"name":"reportPath","type":"string","required":false,"description":"Filesystem path to a reconciliation_report.json artifact. Actions: apply."},{"name":"source","type":"object","required":false,"description":"Actions: draft (required)."},{"name":"substitution","type":"object","required":false,"description":"Component substitution with React/Vue exports and prop translations. Actions: create."},{"name":"updates","type":"object","required":false,"description":"Fields to change: oodsTraits, confidence, propMappings, metadata, substitution. Omitted fields stay unchanged. Actions: update (required)."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":580},{"name":"component_map_read","title":"Read Component Mappings","description":"Read component substitutions and staged intake evidence. Use it when listing mappings, resolving an external component or reviewing a draftId; use component_map to stage or apply changes. Returns entries, matches or draft evidence including proposed adapters and unmatched elements. Reads local stores without generating adapters or changing project files. Full schema: oods://schemas/component_map_read.input.json.","inputs":[{"name":"action","type":"string","required":true,"description":"Choose list, resolve, show."},{"name":"cursor","type":"string","required":false,"description":"Pagination cursor. Use the previous page's nextCursor to continue. When cursor or limit is provided, pagination defaults to 100 items per page. Actions: list."},{"name":"draftId","type":"string","required":false,"description":"Actions: show (required)."},{"name":"externalComponent","type":"string","required":false,"description":"Component name in the external system (e.g., 'Button'). Actions: resolve (required)."},{"name":"externalSystem","type":"string","required":false,"description":"For list: Filter mappings to a specific external system (e.g., 'team'). For resolve: External design system name (e.g., 'team'). Actions: list, resolve (required)."},{"name":"limit","type":"integer","required":false,"description":"Page size for pagination. Omitting both cursor and limit preserves the legacy full-list response. Actions: list."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":245},{"name":"schema_store","title":"Save Or Delete Schemas","description":"Save or delete a named composition schema. Use it when retaining a UiSchema across sessions; use schema_read to list or load saved schemas. Returns the saved metadata or deletion result. save takes schemaRef, overwrites that name and increments its version; only the latest is loadable. Both actions write immediately. Full schema: oods://schemas/schema_store.input.json.","inputs":[{"name":"action","type":"string","required":true,"description":"Choose save, delete."},{"name":"author","type":"string","required":false,"description":"Optional author metadata. Actions: save."},{"name":"name","type":"string","required":false,"description":"Saved schema name in slug format (letters, numbers, hyphens, underscores). Actions: save (required), delete (required)."},{"name":"schemaRef","type":"string","required":false,"description":"Reference to an in-memory schema produced by design_compose. Actions: save (required)."},{"name":"tags","type":"array","required":false,"description":"Optional tags for filtering and discovery. Actions: save."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":182},{"name":"schema_read","title":"Read Saved Schemas","description":"Read saved composition schemas. Use it when listing saved work or loading a named schema; use schema_store to save or delete one. Returns metadata or the schema with a new process-local schemaRef, valid for 30 minutes. Tool input schemas are separate MCP resources. Full schema: oods://schemas/schema_read.input.json.","inputs":[{"name":"action","type":"string","required":true,"description":"Choose list, load."},{"name":"context","type":"string","required":false,"description":"Rendering-context filter. Actions: list."},{"name":"name","type":"string","required":false,"description":"Saved schema name in slug format. Actions: load (required)."},{"name":"object","type":"string","required":false,"description":"Object filter. Actions: list."},{"name":"tags","type":"array","required":false,"description":"Actions: list."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":140},{"name":"object_registry","title":"Read Object Registry","description":"Read object and trait definitions or validate YAML without saving. Use it when exploring shapes or checking a definition; use object_register to save one or object_import to draft from a schema file. Returns definitions, composed traits, validation findings or cache reload status. includeInternal reveals hidden objects; reload clears only process caches. Full schema: oods://schemas/object_registry.input.json.","inputs":[{"name":"action","type":"string","required":true,"description":"Choose list, show, validate, reload."},{"name":"context","type":"string","required":false,"description":"Optional: filter view_extensions to a single context (e.g. 'detail', 'list', 'form', 'timeline', 'card', 'inline'). Actions: show."},{"name":"domain","type":"string","required":false,"description":"Filter to objects in a specific domain (e.g. 'core.identity', 'saas.billing'). Actions: list."},{"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. Actions: list."},{"name":"maturity","type":"string","required":false,"description":"Filter by metadata maturity level. Actions: list."},{"name":"name","type":"string","required":false,"description":"Object name to look up (e.g. 'User', 'Product', 'Invoice'). Actions: show (required)."},{"name":"trait","type":"string","required":false,"description":"Filter to objects composing a given trait (e.g. 'Priceable', 'lifecycle/Stateful'). Actions: list."},{"name":"yaml","type":"string","required":false,"description":"The whole definition as YAML: an object file starts with \"object:\", a trait file with \"trait:\" (the same format as OODS Foundry's own objects/ and traits/). Actions: validate (required). See full sch…"}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":344},{"name":"object_register","title":"Register Object Or Trait","description":"Register an object or trait from reviewed YAML. Use it when saving a definition; use object_registry to list, inspect or validate without writing. Returns the saved definition and registry result. overwrite replaces your own definition. Team objects may shadow shipped objects; traits cannot reuse shipped names. Relationships must name valid targets and fields. Full schema: oods://schemas/object_register.input.json.","inputs":[{"name":"action","type":"string","required":true,"description":"Choose register."},{"name":"overwrite","type":"boolean","required":false,"description":"Replace a definition of yours with this name; without it a name you already registered is refused (OODS-C004). Actions: register."},{"name":"yaml","type":"string","required":false,"description":"The whole definition as YAML: an object file starts with \"object:\", a trait file with \"trait:\" (the same format as OODS Foundry's own objects/ and traits/). Actions: register (required). See full sch…"}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":182},{"name":"schema_render","title":"Render Or Validate Schema","description":"Validate a UiSchema or render static HTML and fragments. Use it when checking schema or patch contracts; use design_preview for a running app or schema_store to save. Returns diagnostics or rendered output. action selects validate/render; mode selects full/patch. apply:true enables rendering, without saving a schema. Render includes token CSS unless output.compact; oversized output or output.payloadMode:file writes only reply payloads. brand and scope options affect documents; ignored fragment options are diagnosed. Full schema: oods://schemas/schema_render.input.json.","inputs":[{"name":"action","type":"string","required":true,"description":"Selects the per-action handler. 'render' -> schema_render action=render, 'validate' -> schema_render action=validate."},{"name":"apply","type":"boolean","required":false,"description":"For render: When true and the schema validates, render it: the HTML document in html, or per-node fragments with output.format 'fragments'. Actions: render, validate. See full schema for details."},{"name":"baseTree","type":"object","required":false,"description":"Required when mode='patch' to provide the base UiSchema to patch. Actions: render, validate."},{"name":"brand","type":"string","required":false,"description":"Brand to render. Actions: render. See full schema for details."},{"name":"mode","type":"string","required":false,"description":"Full schema or patch mode. Actions: render, validate."},{"name":"options","type":"object","required":false,"description":"Operation options. Actions: render, validate."},{"name":"output","type":"object","required":false,"description":"Optional render output controls. Omitting this object preserves full-document behavior. Actions: render."},{"name":"patch","type":"array|object","required":false,"description":"Required when mode='patch'. Accepts JSON Patch array or node patch object(s). Actions: render, validate."},{"name":"schema","type":"object","required":false,"description":"UiSchema. Actions: render, validate."},{"name":"schemaRef","type":"string","required":false,"description":"Reference to a cached UiSchema returned by design_compose. Actions: render, validate."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":372},{"name":"object_import","title":"Import Objects","description":"Draft objects from local OpenAPI, JSON Schema, Postgres SQL, Prisma, dbt, OData or GraphQL files, then apply accepted proposals. Use it when importing a schema; use object_import_read to review a staged object. Returns importId, staged files, proposal counts and re-import differences, or batch registration results. draft takes source.path or source.content; apply requires explicit objects and proposal ids. overwrite replaces team objects; confirmShipped names approved shipped replacements. No network fetch or code execution. Full schema: oods://schemas/object_import.input.json.","inputs":[{"name":"action","type":"string","required":true,"description":"Choose draft, apply."},{"name":"confirmShipped","type":"array","required":false,"description":"Each shipped object name whose replacement is explicitly confirmed."},{"name":"importId","type":"string","required":false,"description":"Content-addressed import id from draft. Required by show and apply."},{"name":"objects","type":"array","required":false,"description":"Explicit accepted object names and optional proposal ids for apply."},{"name":"overwrite","type":"boolean","required":false,"description":"Allow replacing existing team objects."},{"name":"source","type":"object","required":false,"description":"Local file/folder or inline schema. Used only by draft."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":221},{"name":"object_import_read","title":"Read Import Draft","description":"Read one staged object import. Use it when reviewing YAML, graded proposals and unmapped elements before acceptance; use object_import to draft or apply. Returns the named object, proposals and differences from its registered definition. Supply importId and the exact object name. Reading never rewrites the staged report. Full schema: oods://schemas/object_import_read.input.json.","inputs":[{"name":"action","type":"string","required":true,"description":"Choose show."},{"name":"importId","type":"string","required":false,"description":"Content-addressed import id from draft. Required by show and apply."},{"name":"object","type":"string","required":false,"description":"Exact draft object name for show."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":124}],"toolsTruncatedAtCapture":false,"diagnostics":{"capturedAt":"2026-11-05T06:38:45.000Z","track":"package","endpoint":null,"declaredUrl":null,"truncated":false,"tls":null,"dnssec":null,"auth":null,"httpsRedirect":null,"transports":[],"provenance":{"outcome":"none","label":"No attestation","reason":null,"reasonLabel":null,"discovery":null,"discoveryLabel":null,"sourceRepo":null,"attestationSkipped":null,"attestationSkippedLabel":null},"installScripts":[],"installScriptsTotal":null,"vulnerabilities":[],"vulnerabilitiesTotal":null,"dependencies":{"nodes":0,"partial":false,"deprecated":null,"stale":null,"noRepo":null}},"mismatches":[],"changelog":{"trackingSince":"2026-09-27","recent":[{"id":"chg_01a1a01f-44bf-7680-b9d8-c489fc513fc1","kind":"check.reverified","summary":"Malware scan (unverified → pass)","materiality":"security","direction":"improvement","scoreDelta":null,"occurredOn":"2026-11-03","url":"https://verifymcp.io/servers/com-oods-foundry-foundry/oods-foundry#chg-chg_01a1a01f-44bf-7680-b9d8-c489fc513fc1"},{"id":"chg_01a1a01f-44c0-786d-9111-4d473690a89b","kind":"score.total_changed","summary":"Trust score (64 → 79)","materiality":"functional","direction":"improvement","scoreDelta":15,"occurredOn":"2026-11-03","url":"https://verifymcp.io/servers/com-oods-foundry-foundry/oods-foundry#chg-chg_01a1a01f-44c0-786d-9111-4d473690a89b"},{"id":"chg_01a19a61-6558-74a8-94ec-c62eb24bcc8a","kind":"score.total_changed","summary":"Trust score (79 → 64)","materiality":"functional","direction":"regression","scoreDelta":-15,"occurredOn":"2026-11-02","url":"https://verifymcp.io/servers/com-oods-foundry-foundry/oods-foundry#chg-chg_01a19a61-6558-74a8-94ec-c62eb24bcc8a"},{"id":"chg_01a19a61-6557-7e93-b4c0-e450cd5c1dfb","kind":"package.version_changed","summary":"Package version (0.11.2 → 0.11.3)","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-11-02","url":"https://verifymcp.io/servers/com-oods-foundry-foundry/oods-foundry#chg-chg_01a19a61-6557-7e93-b4c0-e450cd5c1dfb"},{"id":"chg_01a19a61-6556-74ba-9800-1f1ca57f2aa0","kind":"check.unverifiable","summary":"Malware scan (pass → unverified)","materiality":"security","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-02","url":"https://verifymcp.io/servers/com-oods-foundry-foundry/oods-foundry#chg-chg_01a19a61-6556-74ba-9800-1f1ca57f2aa0"},{"id":"chg_01a176e9-10f4-7360-8d33-dfe89cd060cc","kind":"score.total_changed","summary":"Trust score (78 → 79)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-26","url":"https://verifymcp.io/servers/com-oods-foundry-foundry/oods-foundry#chg-chg_01a176e9-10f4-7360-8d33-dfe89cd060cc"},{"id":"chg_01a16c9c-3895-71ac-85ce-ae039b00584c","kind":"score.total_changed","summary":"Trust score (77 → 78)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-24","url":"https://verifymcp.io/servers/com-oods-foundry-foundry/oods-foundry#chg-chg_01a16c9c-3895-71ac-85ce-ae039b00584c"},{"id":"chg_01a1624e-103a-770d-aa10-d52eedfd9534","kind":"score.total_changed","summary":"Trust score (76 → 77)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-22","url":"https://verifymcp.io/servers/com-oods-foundry-foundry/oods-foundry#chg-chg_01a1624e-103a-770d-aa10-d52eedfd9534"},{"id":"chg_01a157ff-a7d9-76a7-8673-57585779a36c","kind":"score.total_changed","summary":"Trust score (75 → 76)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-20","url":"https://verifymcp.io/servers/com-oods-foundry-foundry/oods-foundry#chg-chg_01a157ff-a7d9-76a7-8673-57585779a36c"},{"id":"chg_01a14db7-5a7f-78c5-bf54-1df4e2e592f3","kind":"score.total_changed","summary":"Trust score (74 → 75)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-18","url":"https://verifymcp.io/servers/com-oods-foundry-foundry/oods-foundry#chg-chg_01a14db7-5a7f-78c5-bf54-1df4e2e592f3"},{"id":"chg_01a14937-695e-705a-9de7-6aac9b271ae9","kind":"check.reverified","summary":"Tool coverage (unverified → 100)","materiality":"functional","direction":"improvement","scoreDelta":null,"occurredOn":"2026-10-17","url":"https://verifymcp.io/servers/com-oods-foundry-foundry/oods-foundry#chg-chg_01a14937-695e-705a-9de7-6aac9b271ae9"},{"id":"chg_01a14937-695e-76a7-81cb-049a4619c602","kind":"check.measure","summary":"Tool coverage (94% → 100%)","materiality":"functional","direction":"improvement","scoreDelta":null,"occurredOn":"2026-10-17","url":"https://verifymcp.io/servers/com-oods-foundry-foundry/oods-foundry#chg-chg_01a14937-695e-76a7-81cb-049a4619c602"},{"id":"chg_01a14937-695e-7c6a-9d90-7bba8f58bb69","kind":"check.reverified","summary":"MCP protocol (unverified → pass)","materiality":"functional","direction":"improvement","scoreDelta":null,"occurredOn":"2026-10-17","url":"https://verifymcp.io/servers/com-oods-foundry-foundry/oods-foundry#chg-chg_01a14937-695e-7c6a-9d90-7bba8f58bb69"},{"id":"chg_01a14937-695f-7312-8e97-465f427c2373","kind":"check.reverified","summary":"Schema quality (unverified → 100)","materiality":"functional","direction":"improvement","scoreDelta":null,"occurredOn":"2026-10-17","url":"https://verifymcp.io/servers/com-oods-foundry-foundry/oods-foundry#chg-chg_01a14937-695f-7312-8e97-465f427c2373"},{"id":"chg_01a14937-695f-7af1-8d0b-5e5ad73d45c3","kind":"check.verdict","summary":"Destructive annotations (100 → pass)","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-17","url":"https://verifymcp.io/servers/com-oods-foundry-foundry/oods-foundry#chg-chg_01a14937-695f-7af1-8d0b-5e5ad73d45c3"},{"id":"chg_01a14937-6960-7048-bbee-13b50e33c795","kind":"check.measure","summary":"Schema quality (excellent → good)","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-17","url":"https://verifymcp.io/servers/com-oods-foundry-foundry/oods-foundry#chg-chg_01a14937-6960-7048-bbee-13b50e33c795"},{"id":"chg_01a14937-6960-7afc-b13c-317af2114137","kind":"score.total_changed","summary":"Trust score (40 → 74)","materiality":"functional","direction":"improvement","scoreDelta":34,"occurredOn":"2026-10-17","url":"https://verifymcp.io/servers/com-oods-foundry-foundry/oods-foundry#chg-chg_01a14937-6960-7afc-b13c-317af2114137"},{"id":"chg_01a14937-695d-71ee-a59e-afe3d7daa80b","kind":"check.measure","summary":"Schema quality (901 → 182)","materiality":"functional","direction":"improvement","scoreDelta":null,"occurredOn":"2026-10-17","url":"https://verifymcp.io/servers/com-oods-foundry-foundry/oods-foundry#chg-chg_01a14937-695d-71ee-a59e-afe3d7daa80b"},{"id":"chg_01a14937-695c-773d-a663-188a5c9de69f","kind":"check.verdict","summary":"Schema quality (pass → fail)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-10-17","url":"https://verifymcp.io/servers/com-oods-foundry-foundry/oods-foundry#chg-chg_01a14937-695c-773d-a663-188a5c9de69f"},{"id":"chg_01a14937-695b-7d50-b9a8-34c74303cb8b","kind":"check.reverified","summary":"Injection markers (unverified → pass)","materiality":"security","direction":"improvement","scoreDelta":null,"occurredOn":"2026-10-17","url":"https://verifymcp.io/servers/com-oods-foundry-foundry/oods-foundry#chg-chg_01a14937-695b-7d50-b9a8-34c74303cb8b"}],"truncated":true,"feedUrl":"https://verifymcp.io/servers/com-oods-foundry-foundry/oods-foundry/changelog.json"},"links":{"html":"https://verifymcp.io/servers/com-oods-foundry-foundry/oods-foundry","markdown":"https://verifymcp.io/servers/com-oods-foundry-foundry/oods-foundry.md","changelogJson":"https://verifymcp.io/servers/com-oods-foundry-foundry/oods-foundry/changelog.json","changelogRss":"https://verifymcp.io/servers/com-oods-foundry-foundry/oods-foundry.xml","external":[{"label":"npm package","href":"https://www.npmjs.com/package/@oods/foundry"},{"label":"Socket report","href":"https://socket.dev/npm/package/@oods/foundry"},{"label":"Repository","href":"https://github.com/kneelinghorse/OODS-Foundry"},{"label":"Website","href":"https://oods-foundry.com/"}]}}