Use it in Claude

Connect OODS Foundry to Claude to explore its objects and components, find recorded React and Vue screens, and draw charts from data you provide. The hosted tools are free and read-only. You don't need an OODS Foundry account, an API key or a local installation.

Add the connector

  1. In claude.ai, open Customize → Connectors, choose + Add, then Add custom connector.
  2. Name it OODS Foundry and enter https://oods-foundry.com/mcp as the remote MCP server URL. Choose Continue.
  3. Review the connection settings and choose Continue. If Claude asks for an authentication method, choose No sign in. OODS Foundry needs no credentials or request headers. Finish with Add.
  4. In a chat, open + → Connectors and enable OODS Foundry. Try a prompt below.

On a Team or Enterprise plan, an owner or authorized administrator must first add the connector for the organization. See Claude's custom connector instructions for the steps for your plan.

Try these prompts

Explore components

Use OODS Foundry to show the first 10 components in the core category, with a short summary of each. Tell me whether there are more.

You get a page of components from the current registry and whether another page follows.

Read an object

Use OODS Foundry to show the Subscription object's fields and traits. Explain what each trait contributes.

You get the object's definition, including its fields, traits and relationships.

Find a screen

Use OODS Foundry to find the recorded Subscription detail screen in Vue. Give me its link and content hash.

You get a link to a screen already generated by the site's pinned release, with the hash identifying that recorded app.

Draw and check a chart

Use OODS Foundry to draw a bar chart of subscriptions by plan: Starter 12, Team 28, Business 9. Use brand A in the light theme. Include the data table, narrative and certification results.

You get the chart as SVG, its data table and narrative, and the results of the chart's checks. Certification reports what passed or failed; read the results alongside the chart.

What the hosted tools can do

The connector reads OODS Foundry's published objects, components and tokens, looks up recorded screens, and draws and checks charts from up to 500 rows. Importing your schema files, composing new screens, creating brands and writing files are available through the local package.

If something doesn't work

  • The tools aren't available in your chat: check that OODS Foundry is enabled under + → Connectors. On a work account, check that your organization has added it.
  • The connection fails: check that the URL is exactly https://oods-foundry.com/mcp, including /mcp. No OODS Foundry sign-in or key is needed.
  • The service is busy: a 429 or 503 response gives a retry delay. Wait for that delay, then try the same request again. Anthropic's hosted MCP clients, including Claude's custom connectors, share a budget of 600 requests and 30 new charts a minute. That budget is shared across users.
  • A reply is too large: ask for fewer components per page, shorter component summaries or fewer chart rows.

Read the privacy policy. For help, contact us at hello@aquex.ai. Report bugs in GitHub Issues.

Hosted endpoint details

https://oods-foundry.com/mcp

Connect an MCP client over Streamable HTTP. No account or key is needed. The tools read the pinned package's catalog and registry. They draw and certify charts. They also look up the screens already recorded on this site.

  • health_check, catalog_list and object_registry list and show read the running package, and registry_snapshot returns the package's summary of every object and trait in it.
  • structured_data_fetch reads the tokens and manifest datasets, and their available versions. Read components a page at a time with catalog_list.
  • tool_schema returns a tool's shipped schema, source URL and file hash. tools/list describes the narrower hosted inputs.
  • design_preview returns a recorded screen's URL and content hash, by object, context and React or Vue. This site's lookup is separate from the local package's preview writer and design_versions history reader.
  • viz_render draws from inline data in brand A or B, in light, dark or high contrast, through the same route as the chart playground.
  • artifact_certify takes that chart input in chart, then draws and certifies its normalized spec in the same scope.
{
  "name": "design_preview",
  "arguments": {
    "object": "Subscription",
    "context": "detail",
    "framework": "react",
    "reproduce": true
  }
}

Set reproduce: true to include the pinned local command and calls or files to check. It is off by default. Repeat those locally and compare the recorded content hash. For a screen, create the recorded brand, compose, then use your own composition's schemaRef to generate. health_check's process measurements and registry snapshot timestamps vary; host folder paths are omitted.

Chart replies contain hashes and certification by default. Set output.svg for the drawing, output.includeA11y for the data table and narrative, or output.includeNormalizedSpec for its specification. For artifact_certify, these options go inside chart.output. Reproduction details use specFrom, rowsFrom or dataFrom to name data already in the reply or preceding call, instead of repeating it.

Replies are bounded so that every Claude client accepts them. A reply that would be larger is refused with its size and a narrower call to make instead, and catalog_list limits the page size at full detail and reports any adjustment. The sparkline-grid pattern is not offered here. The package over local stdio returns the full outputs.

Local stdio is the authoritative path for the full toolset: generation, your objects and brands, file inputs and certification of your own specs. Hosted tools share the chart route's request budget and cache. Each address has a budget of its own, except that MCP clients hosted by Anthropic, such as claude.ai custom connectors, call from Anthropic's published addresses and share one larger budget between them. Past a budget, the reply is 429 with Retry-After. A retryable refusal says when to retry; repeated chart input can use the cached reply.

Install

npx -y @oods/foundry

It runs on your machine as a local MCP server over stdio, registered as oods-foundry. It needs Node.js 22.0.0 or newer, as the node the client starts, on macOS or Linux (Windows is untested), with npx and tar on the PATH. Nothing to sign up for: it needs no account or key.

The package documents Claude Desktop, Claude Code and Cursor. Each starts the same command.

Claude Code

claude mcp add oods-foundry -- npx -y @oods/foundry
claude mcp get oods-foundry

The second command prints Status: ✓ Connected. -e MCP_TOOLSET=all after the name adds the on-demand tool, 27 tools in all.

Claude Desktop

Add this under mcpServers in ~/Library/Application Support/Claude/claude_desktop_config.json, then restart Claude Desktop:

{
  "mcpServers": {
    "oods-foundry": {
      "command": "npx",
      "args": [
        "-y",
        "@oods/foundry"
      ]
    }
  }
}

Cursor

Add this to .cursor/mcp.json in the project, or ~/.cursor/mcp.json for every project, then reload the window:

{
  "mcpServers": {
    "oods-foundry": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@oods/foundry"
      ]
    }
  }
}

How to check each one worked, and what to do when one doesn't: Get started.

The Claude Code plugin

The plugin bundles the server with the oods-foundry skill, which walks your assistant through the calls and tells it to report what wasn't checked. In Claude Code the skill is /oods-foundry:oods-foundry.

claude plugin marketplace add https://github.com/kneelinghorse/oods-foundry-claude-plugin.git
claude plugin install oods-foundry@oods-foundry

Another agent can read the skill as it ships: SKILL.md, in @oods/foundry 0.11.3.

In the MCP Registry

OODS Foundry is listed in the official MCP Registry as com.oods-foundry/foundry. The server.json the package ships names the npm package and that entry: the package's original server.json. That entry already lists this site's hosted endpoint, and this site's server card preserves that entry, including its title and icon.

Source

OODS Foundry is open source under Apache-2.0. The public source repository mirrors each release.

Your first prompt with the local package

Each reply shown here is the real one, recorded by this site from the published OODS Foundry 0.11.3.

This example needs the local package connected to your assistant. The hosted connector can look up recorded screens, but it cannot compose a new one.

Use oods-foundry to compose the Subscription detail screen and preview it.

What comes back: OODS Foundry composes the screen by rule and names the component it chose for each slot, and why. The preview answers with a link to the screen running in React and another in Vue, with the Subscription's sample records, on your machine.

What design_compose answered for Subscription detail:
{
  "status": "ok",
  "layout": "detail",
  "schema": {
    "version": "2026.02",
    "screens": [
      {
        "id": "screen-detail-13",
        "component": "Stack",
        "layout": {
          "type": "stack",
          "gapToken": "cluster-default"
        },
        "children": [
          {
            "id": "detail-header-1",
            "component": "Stack",
            "layout": {
              "type": "stack",
              "align": "space-between",
              "gapToken": "stack-default"
            },
            "children": [
              {
                "id": "detail-header-1-record-title",
                "component": "DetailHeader",
                "props": {
                  "titleField": "plan_name",
                  "headingLevel": 1
                }
              },
              {
                "id": "screen-detail-13-record-summary",
                "component": "Stack",
                "layout": {
                  "type": "inline",
                  "gapToken": "cluster-tight"
                },
                "meta": {
                  "intent": "record-summary"
                },
                "children": [
                  {
                    "id": "screen-detail-13-record-summary-1",
                    "component": "StatusBadge",
                    "props": {
                      "tone": "lifecycle",
                      "statusField": "status",
                      "domain": "subscription"
                    }
                  },
                  {
                    "id": "screen-detail-13-record-summary-2",
                    "component": "BillingSummaryBadge",
                    "props": {
                      "amountField": "amount",
                      "currencyField": "currency",
                      "intervalField": "billing_interval",
                      "minorUnitsParameter": "minorUnits",
                      "minorUnits": 100
                    }
                  }
                ]
              },
              {
                "id": "slot-header-2",
                "component": "Stack",
                "meta": {
                  "intent": "slot:header",
                  "label": "header"
                },
                "children": [
                  {
                    "id": "ve-header-26",
                    "component": "VizMarkPreview",
                    "props": {
                      "title": "Payment amounts",
                      "description": "Payments recorded for this subscription, in its currency."
                    },
                    "chart": {
                      "chartType": "bar",
                      "source": "payment-events",
                      "dateFields": [
                        "last_payment_at",
                        "next_payment_due_at"
                      ],
                      "amountField": "amount",
                      "minorUnits": 100,
                      "currencyField": "currency"
                    }
                  },
                  {
                    "id": "ve-header-27",
                    "component": "StatusTimeline",
                    "props": {
                      "field": "status",
                      "historyField": "state_history",
                      "statesParameter": "states",
                      "showActorId": true,
                      "showReason": true
                    }
                  },
                  {
                    "id": "ve-header-28",
                    "component": "CancellationSummary",
                    "props": {
                      "hideWhenDefault": true,
                      "cancelAtPeriodEndField": "cancel_at_period_end",
                      "reasonField": "cancellation_reason",
                      "codeField": "cancellation_reason_code",
                      "requestedAtField": "cancellation_requested_at"
                    }
                  },
                  {
                    "id": "ve-header-29",
                    "component": "ArchiveSummary",
                    "props": {
                      "hideWhenDefault": true,
                      "archivedField": "is_archived",
                      "archivedAtField": "archived_at",
                      "restoredAtField": "restored_at",
                      "reasonField": "archive_reason",
                      "archivedByField": "archived_by",
                      "metadataField": "archive_metadata",
                      "retainHistoryParameter": "retainHistory",
                      "restoreWindowParameter": "restoreWindowDays",
                      "allowPartialRestoreParameter": "allowPartialRestore"
                    }
                  }
                ],
                "layout": {
                  "type": "stack",
                  "gapToken": "cluster-default"
                }
              }
            ]
          },
          {
            "id": "detail-body-10",
            "component": "Card",
            "layout": {
              "type": "stack",
              "gapToken": "cluster-default"
            },
            "children": [
              {
                "id": "detail-tabs-9",
                "component": "Tabs",
                "children": [
                  {
                    "id": "detail-tab-panel-3",
                    "component": "Stack",
                    "layout": {
                      "type": "stack",
                      "gapToken": "cluster-default"
                    },
                    "props": {
                      "label": "Billing"
                    },
                    "children": [
                      {
                        "id": "slot-tab-0-4",
                        "component": "CycleProgressCard",
                        "meta": {
                          "intent": "slot:tab-0",
                          "label": "tab-0"
                        },
                        "props": {
                          "progressField": "current_period_progress",
                          "periodStartField": "current_period_start",
                          "periodEndField": "current_period_end",
                          "intervalField": "billing_interval"
                        }
                      },
                      {
                        "id": "slot-tab-1-6",
                        "component": "PaymentTimeline",
                        "meta": {
                          "intent": "slot:tab-1",
                          "label": "tab-1"
                        },
                        "props": {
                          "lastPaymentField": "last_payment_at",
                          "nextPaymentField": "next_payment_due_at",
                          "paymentStatusField": "payment_status",
                          "paymentMethodField": "payment_method_type",
                          "amountField": "amount",
                          "currencyField": "currency"
                        }
                      }
                    ]
                  },
                  {
                    "id": "detail-tabs-9-read-fields",
                    "component": "Stack",
                    "props": {
                      "label": "Details"
                    },
                    "children": [
                      {
                        "id": "detail-tabs-9-subscription_id-read-field",
                        "component": "Stack",
                        "children": [
                          {
                            "id": "detail-tabs-9-subscription_id-label",
                            "component": "Text",
                            "props": {
                              "as": "strong",
                              "content": "Subscription"
                            }
                          },
                          {
                            "id": "detail-tabs-9-subscription_id-value",
                            "meta": {
                              "intent": "read-only-field"
                            },
                            "component": "Text",
                            "props": {
                              "field": "subscription_id"
                            }
                          }
                        ]
                      },
                      {
                        "id": "detail-tabs-9-plan_code-read-field",
                        "component": "Stack",
                        "children": [
                          {
                            "id": "detail-tabs-9-plan_code-label",
                            "component": "Text",
                            "props": {
                              "as": "strong",
                              "content": "Plan code"
                            }
                          },
                          {
                            "id": "detail-tabs-9-plan_code-value",
                            "meta": {
                              "intent": "read-only-field"
                            },
                            "component": "Text",
                            "props": {
                              "field": "plan_code"
                            }
                          }
                        ]
                      },
                      {
                        "id": "detail-tabs-9-plan_interval-read-field",
                        "component": "Stack",
                        "children": [
                          {
                            "id": "detail-tabs-9-plan_interval-label",
                            "component": "Text",
                            "props": {
                              "as": "strong",
                              "content": "Plan interval"
                            }
                          },
                          {
                            "id": "detail-tabs-9-plan_interval-value",
                            "meta": {
                              "intent": "read-only-field"
                            },
                            "component": "Text",
                            "props": {
                              "field": "plan_interval"
                            }
                          }
                        ]
                      },
                      {
                        "id": "detail-tabs-9-customer_name-read-field",
                        "component": "Stack",
                        "children": [
                          {
                            "id": "detail-tabs-9-customer_name-label",
                            "component": "Text",
                            "props": {
                              "as": "strong",
                              "content": "Customer name"
                            }
                          },
                          {
                            "id": "detail-tabs-9-customer_name-value",
                            "meta": {
                              "intent": "read-only-field"
                            },
                            "component": "Text",
                            "props": {
                              "field": "customer_name"
                            }
                          }
                        ]
                      },
                      {
                        "id": "detail-tabs-9-customer_email-read-field",
                        "component": "Stack",
                        "children": [
                          {
                            "id": "detail-tabs-9-customer_email-label",
                            "component": "Text",
                            "props": {
                              "as": "strong",
                              "content": "Customer email"
                            }
                          },
                          {
                            "id": "detail-tabs-9-customer_email-value",
                            "meta": {
                              "intent": "read-only-field"
                            },
                            "component": "Text",
                            "props": {
                              "field": "customer_email"
                            }
                          }
                        ]
                      },
                      {
                        "id": "detail-tabs-9-created_at-read-field",
                        "component": "Stack",
                        "children": [
                          {
                            "id": "detail-tabs-9-created_at-label",
                            "component": "Text",
                            "props": {
                              "as": "strong",
                              "content": "Created at"
                            }
                          },
                          {
                            "id": "detail-tabs-9-created_at-value",
                            "meta": {
                              "intent": "read-only-field"
                            },
                            "component": "Text",
                            "props": {
                              "field": "created_at"
                            }
                          }
                        ]
                      },
                      {
                        "id": "detail-tabs-9-updated_at-read-field",
                        "component": "Stack",
                        "children": [
                          {
                            "id": "detail-tabs-9-updated_at-label",
                            "component": "Text",
                            "props": {
                              "as": "strong",
                              "content": "Updated at"
                            }
                          },
                          {
                            "id": "detail-tabs-9-updated_at-value",
                            "meta": {
                              "intent": "read-only-field"
                            },
                            "component": "Text",
                            "props": {
                              "field": "updated_at"
                            }
                          }
                        ]
                      },
                      {
                        "id": "detail-tabs-9-last_event-read-field",
                        "component": "Stack",
                        "children": [
                          {
                            "id": "detail-tabs-9-last_event-label",
                            "component": "Text",
                            "props": {
                              "as": "strong",
                              "content": "Last event"
                            }
                          },
                          {
                            "id": "detail-tabs-9-last_event-value",
                            "meta": {
                              "intent": "read-only-field"
                            },
                            "component": "Text",
                            "props": {
                              "field": "last_event"
                            }
                          }
                        ]
                      },
                      {
                        "id": "detail-tabs-9-last_event_at-read-field",
                        "component": "Stack",
                        "children": [
                          {
                            "id": "detail-tabs-9-last_event_at-label",
                            "component": "Text",
                            "props": {
                              "as": "strong",
                              "content": "Last event at"
                            }
                          },
                          {
                            "id": "detail-tabs-9-last_event_at-value",
                            "meta": {
                              "intent": "read-only-field"
                            },
                            "component": "Text",
                            "props": {
                              "field": "last_event_at"
                            }
                          }
                        ]
                      }
                    ]
                  }
                ],
                "props": {
                  "ariaLabel": "Record details"
                }
              }
            ]
          }
        ],
        "bindings": {
          "onEdit": "handleEdit",
          "onDelete": "handleDelete",
          "onCancel": "handleCancel",
          "onViewTimeline": "handleViewTimeline"
        },
        "meta": {
          "label": "Subscription"
        }
      }
    ],
    "objectSchema": {
      "status": {
        "type": "string",
        "required": true,
        "default": "future",
        "description": "Current lifecycle status of the subscription.",
        "enum": [
          "future",
          "trialing",
          "active",
          "paused",
          "pending_cancellation",
          "past_due",
          "unpaid",
          "terminated"
        ],
        "semanticType": "billing.subscription.status",
        "examples": [
          "active",
          "paused",
          "active",
          "trialing",
          "past_due",
          "active",
          "terminated",
          "pending_cancellation"
        ]
      },
      "state_history": {
        "type": "StateTransition[]",
        "required": false,
        "default": [],
        "description": "Chronological log of state transitions. Each entry records the before/after states,\ntimestamp, and (when governance is enabled) the actor, reason, and transition metadata.\nRendered by StatusTimeline in the detail and timeline views.\n\nEntry structure:\n  - from: string (previous state)\n  - to: string (new state)\n  - timestamp: ISO 8601 datetime\n  - actor_id: string (user/system who triggered the transition, optional)\n  - reason: string (human-readable justification, required when requireTransitionReason is true)\n  - transition_metadata: Record<string, unknown> (arbitrary context, optional)\n",
        "semanticType": "timeline.state_transition",
        "examples": [
          [
            {
              "title": "Trial started",
              "from": "future",
              "to": "trialing",
              "at": "2026-02-16T15:00:00Z",
              "reason": "Started a 14-day Team trial"
            },
            {
              "title": "Trial converted",
              "from": "trialing",
              "to": "active",
              "at": "2026-03-02T15:00:00Z",
              "reason": "First Team payment collected"
            }
          ],
          [
            {
              "title": "Started",
              "from": "future",
              "to": "active",
              "at": "2026-04-10T15:00:00Z",
              "reason": "Analytics add-on purchased"
            },
            {
              "title": "Paused",
              "from": "active",
              "to": "paused",
              "at": "2026-08-20T14:00:00Z",
              "reason": "Paused during the ERP migration"
            }
          ],
          [
            {
              "title": "Started",
              "from": "future",
              "to": "active",
              "at": "2026-01-15T08:00:00Z",
              "reason": "Subscribed to the Starter plan"
            },
            {
              "title": "Payment failed",
              "from": "active",
              "to": "past_due",
              "at": "2026-05-15T08:00:00Z",
              "reason": "Card expired; retrying"
            },
            {
              "title": "Recovered",
              "from": "past_due",
              "to": "active",
              "at": "2026-05-17T08:00:00Z",
              "reason": "New card charged"
            }
          ],
          [
            {
              "title": "Scheduled",
              "from": null,
              "to": "future",
              "at": "2026-09-19T10:00:00Z",
              "reason": "Trial starts once a card is verified"
            },
            {
              "title": "Trial started",
              "from": "future",
              "to": "trialing",
              "at": "2026-09-21T09:00:00Z",
              "reason": "Card verified; 14-day trial started"
            }
          ],
          [
            {
              "title": "Trial started",
              "from": "future",
              "to": "trialing",
              "at": "2026-01-20T10:30:00Z",
              "reason": "Started a 14-day Team trial"
            },
            {
              "title": "Trial converted",
              "from": "trialing",
              "to": "active",
              "at": "2026-02-03T10:00:00Z",
              "reason": "First payment collected"
            },
            {
              "title": "Payment failed",
              "from": "active",
              "to": "past_due",
              "at": "2026-09-03T10:00:00Z",
              "reason": "Card declined; retrying"
            }
          ],
          [
            {
              "title": "Started",
              "from": "future",
              "to": "active",
              "at": "2024-10-30T14:00:00Z",
              "reason": "Annual Enterprise agreement signed"
            },
            {
              "title": "Invoice overdue",
              "from": "active",
              "to": "past_due",
              "at": "2025-11-14T14:00:00Z",
              "reason": "Renewal invoice unpaid after 15 days"
            },
            {
              "title": "Recovered",
              "from": "past_due",
              "to": "active",
              "at": "2025-11-20T02:00:00Z",
              "reason": "Paid by bank transfer"
            }
          ],
          [
            {
              "title": "Started",
              "from": "future",
              "to": "active",
              "at": "2026-01-09T10:15:00Z",
              "reason": "Subscribed to the Starter plan"
            },
            {
              "title": "Cancellation requested",
              "from": "active",
              "to": "pending_cancellation",
              "at": "2026-06-20T09:00:00Z",
              "reason": "Closing the studio in July"
            },
            {
              "title": "Ended",
              "from": "pending_cancellation",
              "to": "terminated",
              "at": "2026-07-09T10:15:00Z",
              "reason": "Cancelled at the end of the billing period"
            }
          ],
          [
            {
              "title": "Trial started",
              "from": "future",
              "to": "trialing",
              "at": "2026-04-23T12:30:00Z",
              "reason": "Started a 14-day Business trial"
            },
            {
              "title": "Trial converted",
              "from": "trialing",
              "to": "active",
              "at": "2026-05-07T12:00:00Z",
              "reason": "First payment collected"
            },
            {
              "title": "Cancellation requested",
              "from": "active",
              "to": "pending_cancellation",
              "at": "2026-09-21T16:40:00Z",
              "reason": "Moving to an annual contract elsewhere"
            }
          ]
        ]
      },
      "allowed_transitions": {
        "type": "string[]",
        "required": false,
        "default": [],
        "description": "Materialized list of valid next states from the current status, computed from the\ntransitionRules parameter. When transitionRules is null (open model), this contains\nall states except the current one. Used by StatusSelector to disable invalid options\nand by StatusBadge to indicate available paths.\n",
        "semanticType": "status.navigation"
      },
      "cancel_at_period_end": {
        "type": "boolean",
        "required": true,
        "description": "Whether the subscription will cancel at the natural billing period end.",
        "semanticType": "billing.subscription.cancel_at_period_end",
        "examples": [
          false,
          false,
          false,
          false,
          false,
          false,
          true,
          true
        ]
      },
      "cancellation_reason": {
        "type": "string",
        "required": false,
        "description": "Free-form explanation captured during cancellation workflows.",
        "semanticType": "billing.subscription.cancellation_reason",
        "examples": [
          null,
          null,
          null,
          null,
          null,
          null,
          "Closing the studio in July",
          "Moving to an annual contract elsewhere"
        ]
      },
      "cancellation_reason_code": {
        "type": "string",
        "required": false,
        "description": "Structured reason code chosen from the allowedReasons parameter.",
        "semanticType": "status.cancel.reason_code"
      },
      "cancellation_requested_at": {
        "type": "datetime",
        "required": false,
        "description": "Timestamp when cancellation was initiated.",
        "semanticType": "billing.subscription.cancellation_requested_at",
        "examples": [
          null,
          null,
          null,
          null,
          null,
          null,
          "2026-06-20T09:00:00Z",
          "2026-09-21T16:40:00Z"
        ]
      },
      "created_at": {
        "type": "datetime",
        "required": true,
        "description": "Timestamp recording when the entity was first created.",
        "semanticType": "audit.created_at",
        "examples": [
          "2026-02-16T15:00:00Z",
          "2026-04-10T15:00:00Z",
          "2026-01-15T08:00:00Z",
          "2026-09-19T10:00:00Z",
          "2026-01-20T10:30:00Z",
          "2024-10-30T14:00:00Z",
          "2026-01-09T10:15:00Z",
          "2026-04-23T12:30:00Z"
        ]
      },
      "updated_at": {
        "type": "datetime",
        "required": false,
        "description": "Timestamp for the most recent modification, when available.",
        "semanticType": "audit.updated_at",
        "examples": [
          "2026-09-02T15:00:00Z",
          "2026-09-10T15:00:00Z",
          "2026-09-15T08:00:00Z",
          "2026-09-21T09:00:00Z",
          "2026-09-03T10:00:00Z",
          "2025-11-20T02:00:00Z",
          "2026-07-09T10:15:00Z",
          "2026-09-21T16:40:00Z"
        ]
      },
      "last_event": {
        "type": "string",
        "required": true,
        "description": "Lifecycle event associated with the most recent timestamp mutation.",
        "enum": [
          "billing_cycle_started",
          "billing_cycle_completed",
          "payment_received",
          "cancellation_requested"
        ],
        "semanticType": "audit.event.type",
        "examples": [
          "payment_received",
          "billing_cycle_completed",
          "payment_received",
          "billing_cycle_started",
          "billing_cycle_started",
          "payment_received",
          "billing_cycle_completed",
          "cancellation_requested"
        ]
      },
      "last_event_at": {
        "type": "datetime",
        "required": false,
        "description": "Timestamp for the lifecycle event captured in last_event.",
        "semanticType": "audit.event.timestamp",
        "examples": [
          "2026-09-02T15:00:00Z",
          "2026-09-10T15:00:00Z",
          "2026-09-15T08:00:00Z",
          "2026-09-21T09:00:00Z",
          "2026-09-03T10:00:00Z",
          "2025-11-20T02:00:00Z",
          "2026-07-09T10:15:00Z",
          "2026-09-21T16:40:00Z"
        ]
      },
      "amount": {
        "type": "integer",
        "required": true,
        "description": "Recurring price expressed in minor units (e.g., cents).",
        "semanticType": "billing.plan.amount",
        "money": {
          "currencyField": "currency",
          "minorUnits": 100
        },
        "examples": [
          14900,
          3900,
          1900,
          4900,
          4900,
          1200000,
          1900,
          14900
        ]
      },
      "currency": {
        "type": "string",
        "required": true,
        "description": "ISO 4217 currency code used for billing.",
        "semanticType": "billing.plan.currency",
        "examples": [
          "USD",
          "USD",
          "EUR",
          "USD",
          "GBP",
          "USD",
          "USD",
          "USD"
        ]
      },
      "billing_interval": {
        "type": "string",
        "required": false,
        "description": "Recurrence cadence (monthly, yearly, quarterly, etc.).",
        "semanticType": "billing.subscription.interval",
        "examples": [
          "monthly",
          "monthly",
          "monthly",
          "monthly",
          "monthly",
          "yearly",
          "monthly",
          "monthly"
        ]
      },
      "payment_status": {
        "type": "string",
        "required": false,
        "default": "pending",
        "description": "Outcome of the most recent collection attempt. Distinct from subscription\nlifecycle status — a subscription can be \"active\" with payment_status \"retrying\".\n",
        "enum": [
          "pending",
          "succeeded",
          "failed",
          "retrying",
          "refunded"
        ],
        "semanticType": "billing.cycle.payment_status",
        "examples": [
          "succeeded",
          "succeeded",
          "succeeded",
          "pending",
          "retrying",
          "succeeded",
          "succeeded",
          "succeeded"
        ]
      },
      "payment_method_type": {
        "type": "string",
        "required": false,
        "description": "Payment instrument category used for collection.",
        "enum": [
          "card",
          "ach",
          "wire",
          "invoice",
          "other"
        ],
        "semanticType": "billing.cycle.payment_method",
        "examples": [
          "card",
          "card",
          "card",
          "card",
          "card",
          "wire",
          "card",
          "card"
        ]
      },
      "proration_amount": {
        "type": "integer",
        "required": false,
        "default": 0,
        "description": "Prorated credit or charge in minor currency units generated by a mid-cycle\nplan change. Positive values are charges; negative values are credits.\nOnly populated when the supportProration parameter is true.\n",
        "semanticType": "billing.cycle.proration",
        "money": {
          "currencyField": "currency",
          "minorUnits": 100
        },
        "examples": [
          5333,
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ]
      },
      "proration_date": {
        "type": "integer",
        "required": false,
        "description": "Unix timestamp (epoch SECONDS) at which proration is calculated. Pinned when an\nupcoming-invoice PREVIEW is requested and MUST be passed identically on commit so the\ncommitted charge equals the previewed amount. The preview is read-only and does NOT\nmutate the subscription. Stored as an integer (not a datetime) so the value round-trips\nbyte-identically between preview and commit — an ISO string normalization could shift it\nand desync the previewed vs charged amount. Only populated when supportProration is true.\nSource: docs.stripe.com/billing/subscriptions/prorations.\n",
        "semanticType": "billing.cycle.proration_timestamp"
      },
      "last_payment_at": {
        "type": "datetime",
        "required": false,
        "description": "Timestamp of the most recent successful payment.",
        "semanticType": "billing.subscription.last_payment_at",
        "examples": [
          "2026-09-02T15:00:00Z",
          "2026-08-10T15:00:00Z",
          "2026-09-15T08:00:00Z",
          null,
          "2026-08-03T10:00:00Z",
          "2025-11-20T02:00:00Z",
          "2026-06-09T10:15:00Z",
          "2026-09-07T12:00:00Z"
        ]
      },
      "next_payment_due_at": {
        "type": "datetime",
        "required": false,
        "description": "Timestamp when the next payment attempt should occur.",
        "semanticType": "billing.subscription.next_payment_due_at",
        "examples": [
          "2026-10-02T15:00:00Z",
          null,
          "2026-10-15T08:00:00Z",
          "2026-10-05T09:00:00Z",
          "2026-10-01T10:00:00Z",
          "2026-10-30T14:00:00Z",
          null,
          null
        ]
      },
      "current_period_start": {
        "type": "datetime",
        "required": true,
        "description": "Start timestamp of the current billing cycle.",
        "semanticType": "billing.subscription.current_period_start",
        "examples": [
          "2026-09-02T15:00:00Z",
          "2026-08-10T15:00:00Z",
          "2026-09-15T08:00:00Z",
          "2026-09-21T09:00:00Z",
          "2026-09-03T10:00:00Z",
          "2025-10-30T14:00:00Z",
          "2026-06-09T10:15:00Z",
          "2026-09-07T12:00:00Z"
        ]
      },
      "current_period_end": {
        "type": "datetime",
        "required": true,
        "description": "End timestamp of the current billing cycle.",
        "semanticType": "billing.subscription.current_period_end",
        "examples": [
          "2026-10-02T15:00:00Z",
          "2026-09-10T15:00:00Z",
          "2026-10-15T08:00:00Z",
          "2026-10-05T09:00:00Z",
          "2026-10-03T10:00:00Z",
          "2026-10-30T14:00:00Z",
          "2026-07-09T10:15:00Z",
          "2026-10-07T12:00:00Z"
        ]
      },
      "current_period_progress": {
        "type": "number",
        "required": false,
        "description": "Decimal progress (0-1) through the active billing cycle.",
        "semanticType": "billing.subscription.current_period_progress",
        "examples": [
          0.93,
          1,
          0.5,
          0.64,
          0.9,
          0.92,
          1,
          0.77
        ]
      },
      "is_archived": {
        "type": "boolean",
        "required": true,
        "default": false,
        "description": "Flag indicating whether the entity is currently archived (soft-deleted).",
        "semanticType": "status.archive.state"
      },
      "archived_at": {
        "type": "datetime?",
        "required": false,
        "description": "Timestamp for when the entity entered the archived state.",
        "semanticType": "status.archive.timestamp"
      },
      "restored_at": {
        "type": "datetime?",
        "required": false,
        "description": "Timestamp for when the entity was most recently restored from an archived state.",
        "semanticType": "status.archive.restore_timestamp"
      },
      "archive_reason": {
        "type": "string",
        "required": false,
        "description": "Human-readable narrative describing why the entity was archived.",
        "semanticType": "status.archive.reason"
      },
      "archived_by": {
        "type": "string",
        "required": false,
        "description": "User ID or system identifier of the actor who archived this entity.\nSet to \"system\" for automated/policy-driven archival. Supports audit trail queries\nlike \"show all entities archived by user X\" or \"show all auto-archived entities\".\n",
        "semanticType": "status.archive.actor"
      },
      "archive_metadata": {
        "type": "object",
        "required": false,
        "description": "Structured metadata about the archival action for compliance and audit purposes.\n\nProperties:\n  - method: \"manual\" | \"automated\" | \"policy\" — how the archive was triggered\n  - compliance_tags: string[] — regulatory labels (e.g., [\"GDPR\", \"SOX\", \"HIPAA\"])\n  - retention_policy_id: string — reference to the retention policy that triggered archival\n  - original_status: string — the Stateful status before archival\n  - related_entity_count: number — count of related entities also archived (cascade)\n",
        "semanticType": "status.archive.compliance"
      },
      "restoration_metadata": {
        "type": "object",
        "required": false,
        "description": "Metadata about the most recent restoration action.\n\nProperties:\n  - restored_by: string — user ID or \"system\"\n  - restored_fields: string[] — when partial restore, which fields were restored\n  - restoration_reason: string — why the entity was restored\n  - restored_from_snapshot: boolean — whether restored from a point-in-time snapshot\n",
        "semanticType": "status.archive.restoration"
      },
      "subscription_id": {
        "type": "string",
        "required": true,
        "description": "Primary identifier used across billing and lifecycle systems.",
        "semanticType": "billing.subscription.id",
        "examples": [
          "sub_northwind_business",
          "sub_northwind_analytics",
          "sub_lindqvist_starter",
          "sub_blueharbor_team",
          "sub_kestrel_team",
          "sub_tidewater_enterprise",
          "sub_marlow_starter",
          "sub_summit_business"
        ]
      },
      "plan_name": {
        "type": "string",
        "required": true,
        "description": "Human-readable plan label shown in headers.",
        "semanticType": "billing.plan.name",
        "examples": [
          "Business",
          "Analytics add-on",
          "Starter",
          "Team",
          "Team",
          "Enterprise",
          "Starter",
          "Business"
        ]
      },
      "plan_code": {
        "type": "string",
        "required": false,
        "description": "Internal plan code or price identifier.",
        "semanticType": "billing.plan.code",
        "examples": [
          "business-monthly",
          "analytics-addon-monthly",
          "starter-monthly",
          "team-monthly",
          "team-monthly",
          "enterprise-annual",
          "starter-monthly",
          "business-monthly"
        ],
        "displayLabel": "Plan code",
        "referenceLabels": {
          "plan_starter_monthly": "plan_starter_monthly",
          "plan_team_monthly": "plan_team_monthly",
          "plan_business_monthly": "plan_business_monthly",
          "plan_team_annual": "plan_team_annual",
          "plan_enterprise_annual": "plan_enterprise_annual",
          "plan_analytics_addon_monthly": "plan_analytics_addon_monthly",
          "plan_pro_monthly_2025": "plan_pro_monthly_2025",
          "plan_business_plus_monthly": "plan_business_plus_monthly"
        }
      },
      "plan_interval": {
        "type": "string",
        "required": false,
        "description": "Billing interval descriptor (monthly, yearly, etc.).",
        "semanticType": "billing.plan.interval",
        "examples": [
          "monthly",
          "monthly",
          "monthly",
          "monthly",
          "monthly",
          "yearly",
          "monthly",
          "monthly"
        ]
      },
      "customer_name": {
        "type": "string",
        "required": false,
        "description": "Customer or account name associated with the subscription.",
        "semanticType": "text.summary",
        "examples": [
          "Northwind Traders",
          "Northwind Traders",
          "Lindqvist Bakery",
          "Blue Harbor Studio",
          "Kestrel Print Co.",
          "Tidewater Co-op",
          "Marlow Yoga",
          "Summit Outfitters"
        ]
      },
      "customer_email": {
        "type": "email",
        "required": false,
        "description": "Billing contact email address.",
        "semanticType": "customer.account.email",
        "examples": [
          "billing@northwind.example",
          "billing@northwind.example",
          "finance@lindqvist.example",
          "accounts@blueharbor.example",
          "hello@kestrelprint.example",
          "treasurer@tidewater.example",
          "studio@marlowyoga.example",
          "ap@summit.example"
        ]
      },
      "payment_history": {
        "type": "PaymentRecord[]",
        "required": false,
        "description": "Recorded payments, oldest first, each with its time and amount in minor units. Drawn by the payment chart.",
        "examples": [
          [
            {
              "at": "2026-03-02T15:00:00Z",
              "amount": 4900
            },
            {
              "at": "2026-04-02T15:00:00Z",
              "amount": 4900
            },
            {
              "at": "2026-05-02T15:00:00Z",
              "amount": 4900
            },
            {
              "at": "2026-06-02T15:00:00Z",
              "amount": 4900
            },
            {
              "at": "2026-06-16T15:00:00Z",
              "amount": 5333
            },
            {
              "at": "2026-07-02T15:00:00Z",
              "amount": 14900
            },
            {
              "at": "2026-08-02T15:00:00Z",
              "amount": 14900
            },
            {
              "at": "2026-09-02T15:00:00Z",
              "amount": 14900
            }
          ],
          [
            {
              "at": "2026-04-10T15:00:00Z",
              "amount": 3900
            },
            {
              "at": "2026-05-10T15:00:00Z",
              "amount": 3900
            },
            {
              "at": "2026-06-10T15:00:00Z",
              "amount": 3900
            },
            {
              "at": "2026-07-10T15:00:00Z",
              "amount": 3900
            },
            {
              "at": "2026-08-10T15:00:00Z",
              "amount": 3900
            }
          ],
          [
            {
              "at": "2026-01-15T08:00:00Z",
              "amount": 1900
            },
            {
              "at": "2026-02-15T08:00:00Z",
              "amount": 1900
            },
            {
              "at": "2026-03-15T08:00:00Z",
              "amount": 1900
            },
            {
              "at": "2026-04-15T08:00:00Z",
              "amount": 1900
            },
            {
              "at": "2026-05-17T08:00:00Z",
              "amount": 1900
            },
            {
              "at": "2026-06-15T08:00:00Z",
              "amount": 1900
            },
            {
              "at": "2026-07-15T08:00:00Z",
              "amount": 1900
            },
            {
              "at": "2026-08-15T08:00:00Z",
              "amount": 1900
            },
            {
              "at": "2026-08-16T08:00:00Z",
              "amount": 1900
            },
            {
              "at": "2026-08-19T11:30:00Z",
              "amount": -1900
            },
            {
              "at": "2026-09-15T08:00:00Z",
              "amount": 1900
            }
          ],
          [],
          [
            {
              "at": "2026-02-03T10:00:00Z",
              "amount": 4900
            },
            {
              "at": "2026-03-03T10:00:00Z",
              "amount": 4900
            },
            {
              "at": "2026-04-03T10:00:00Z",
              "amount": 4900
            },
            {
              "at": "2026-05-03T10:00:00Z",
              "amount": 4900
            },
            {
              "at": "2026-06-03T10:00:00Z",
              "amount": 4900
            },
            {
              "at": "2026-07-03T10:00:00Z",
              "amount": 4900
            },
            {
              "at": "2026-08-03T10:00:00Z",
              "amount": 4900
            }
          ],
          [
            {
              "at": "2024-10-30T14:00:00Z",
              "amount": 1200000
            },
            {
              "at": "2025-11-20T02:00:00Z",
              "amount": 1200000
            }
          ],
          [
            {
              "at": "2026-01-09T10:15:00Z",
              "amount": 1900
            },
            {
              "at": "2026-02-09T10:15:00Z",
              "amount": 1900
            },
            {
              "at": "2026-03-09T10:15:00Z",
              "amount": 1900
            },
            {
              "at": "2026-04-09T10:15:00Z",
              "amount": 1900
            },
            {
              "at": "2026-05-09T10:15:00Z",
              "amount": 1900
            },
            {
              "at": "2026-06-09T10:15:00Z",
              "amount": 1900
            }
          ],
          [
            {
              "at": "2026-05-07T12:00:00Z",
              "amount": 14900
            },
            {
              "at": "2026-06-07T12:00:00Z",
              "amount": 14900
            },
            {
              "at": "2026-07-07T12:00:00Z",
              "amount": 14900
            },
            {
              "at": "2026-08-07T12:00:00Z",
              "amount": 14900
            },
            {
              "at": "2026-09-07T12:00:00Z",
              "amount": 14900
            }
          ]
        ]
      }
    }
  },
  "schemaRef": "compose-779f5455",
  "schemaRefCreatedAt": "2026-11-02T05:29:53.587Z",
  "schemaRefExpiresAt": "2026-11-02T05:59:53.587Z",
  "compositionId": "cmp-0cb678c9e88d",
  "version": 1,
  "parentVersion": null,
  "operation": "compose",
  "head": "e2bb227041596b62187099b4d174b238cdfe0e6f",
  "selections": [
    {
      "slotName": "tab-0",
      "intent": "data-display",
      "selectedComponent": "CycleProgressCard",
      "explanation": "CycleProgressCard leads slot \"tab-0\" because view_extension placement.",
      "candidates": [
        {
          "name": "CycleProgressCard",
          "reason": "view_extension placement"
        }
      ],
      "placedComponents": [
        "CycleProgressCard"
      ]
    },
    {
      "slotName": "tab-1",
      "intent": "status-indicator",
      "selectedComponent": "PaymentTimeline",
      "explanation": "PaymentTimeline leads slot \"tab-1\" because view_extension placement.",
      "candidates": [
        {
          "name": "PaymentTimeline",
          "reason": "view_extension placement"
        }
      ],
      "placedComponents": [
        "PaymentTimeline"
      ]
    },
    {
      "slotName": "header",
      "intent": "page-header",
      "selectedComponent": "DetailHeader",
      "explanation": "DetailHeader leads slot \"header\" because record title placed by the layout from the object's label field. The slot also renders VizMarkPreview, StatusTimeline, CancellationSummary, ArchiveSummary after it, in that order.",
      "candidates": [
        {
          "name": "DetailHeader",
          "reason": "record title placed by the layout from the object's label field"
        },
        {
          "name": "VizMarkPreview",
          "reason": "view_extension placement"
        }
      ],
      "placedComponents": [
        "DetailHeader",
        "VizMarkPreview",
        "StatusTimeline",
        "CancellationSummary",
        "ArchiveSummary"
      ]
    }
  ],
  "validation": {
    "status": "ok",
    "errors": [],
    "warnings": []
  },
  "warnings": [
    {
      "code": "OODS-V121",
      "message": "Object 'Subscription' has maturity 'beta' — composed output may change.",
      "hint": "Consider using stable objects for production compositions."
    },
    {
      "code": "OODS-V117",
      "message": "Subscription refines 11 fields its traits define, and its own definitions are used: lifecycle/Stateful (status); lifecycle/Cancellable (cancel_at_period_end, cancellation_reason, cancellation_requested_at); financial/Billable (amount, currency, billing_interval, current_period_start, current_period_end, current_period_progress, next_payment_due_at)."
    }
  ],
  "objectUsed": {
    "name": "Subscription",
    "version": "2.0.0",
    "traits": [
      "lifecycle/Stateful",
      "lifecycle/Cancellable",
      "lifecycle/Timestampable",
      "financial/Billable",
      "lifecycle/Archivable",
      "viz/MarkBar"
    ],
    "fieldsComposed": 37,
    "viewExtensionsApplied": {
      "list": 4,
      "detail": 7,
      "form": 4,
      "card": 4,
      "timeline": 1,
      "dashboard": 1
    }
  },
  "meta": {
    "intentParsed": "Subscription detail view",
    "layoutDetected": "context-inferred: detail (from context=\"detail\")",
    "slotCount": 3,
    "nodeCount": 44,
    "intentSynthetic": true,
    "warnings": [
      "Object 'Subscription' has maturity 'beta' — composed output may change.",
      "Subscription refines 11 fields its traits define, and its own definitions are used: lifecycle/Stateful (status); lifecycle/Cancellable (cancel_at_period_end, cancellation_reason, cancellation_requested_at); financial/Billable (amount, currency, billing_interval, current_period_start, current_period_end, current_period_progress, next_payment_due_at)."
    ],
    "intelligence": {
      "fieldsExpanded": true,
      "slotsExpanded": 5,
      "expansionReason": "Expanded from 3 to 8 tabs for 37 fields",
      "patternGroups": [
        {
          "slotName": "tab-0",
          "patternId": "status-timeline",
          "compositeComponent": "StatusTimeline",
          "matchedFields": [
            "status",
            "updated_at"
          ],
          "confidence": 1
        }
      ],
      "fieldAffinityUsed": true
    }
  }
}

What health_check answers next, and what each part of it means: Get started.

Tools

27 tools. Your assistant sees 26 by default, and MCP_TOOLSET=all turns on the rest. Each tool's input and output schemas are here as JSON, as the package ships them, beside a real call this site recorded.

Tool Listed Input schema Output schema A real call
a11y_scan with MCP_TOOLSET=all JSON: the input schema of a11y_scan none ships JSON: a recorded call of a11y_scan
artifact_certify by default JSON: the input schema of artifact_certify JSON: the output schema of artifact_certify JSON: a recorded call of artifact_certify
brand_apply by default JSON: the input schema of brand_apply JSON: the output schema of brand_apply JSON: a recorded call of brand_apply
brand_create by default JSON: the input schema of brand_create JSON: the output schema of brand_create JSON: a recorded call of brand_create
brand_read by default JSON: the input schema of brand_read JSON: the output schema of brand_read JSON: a recorded call of brand_read
catalog_list by default JSON: the input schema of catalog_list JSON: the output schema of catalog_list JSON: a recorded call of catalog_list
code_generate by default JSON: the input schema of code_generate JSON: the output schema of code_generate JSON: a recorded call of code_generate
component_map by default JSON: the input schema of component_map JSON: the output schema of component_map JSON: a recorded call of component_map
component_map_read by default JSON: the input schema of component_map_read JSON: the output schema of component_map_read JSON: a recorded call of component_map_read
dashboard_render by default JSON: the input schema of dashboard_render JSON: the output schema of dashboard_render JSON: a recorded call of dashboard_render
design_compose by default JSON: the input schema of design_compose JSON: the output schema of design_compose JSON: a recorded call of design_compose
design_preview by default JSON: the input schema of design_preview JSON: the output schema of design_preview JSON: a recorded call of design_preview
design_versions by default JSON: the input schema of design_versions JSON: the output schema of design_versions JSON: a recorded call of design_versions
fidelity_preview by default JSON: the input schema of fidelity_preview JSON: the output schema of fidelity_preview JSON: a recorded call of fidelity_preview
health_check by default JSON: the input schema of health_check JSON: the output schema of health_check JSON: a recorded call of health_check
object_import by default JSON: the input schema of object_import JSON: the output schema of object_import JSON: a recorded call of object_import
object_import_read by default JSON: the input schema of object_import_read JSON: the output schema of object_import_read JSON: a recorded call of object_import_read
object_register by default JSON: the input schema of object_register JSON: the output schema of object_register JSON: a recorded call of object_register
object_registry by default JSON: the input schema of object_registry JSON: the output schema of object_registry JSON: a recorded call of object_registry
pipeline_run by default JSON: the input schema of pipeline_run JSON: the output schema of pipeline_run JSON: a recorded call of pipeline_run
registry_snapshot by default JSON: the input schema of registry_snapshot JSON: the output schema of registry_snapshot JSON: a recorded call of registry_snapshot
schema_read by default JSON: the input schema of schema_read JSON: the output schema of schema_read JSON: a recorded call of schema_read
schema_render by default JSON: the input schema of schema_render JSON: the output schema of schema_render JSON: a recorded call of schema_render
schema_store by default JSON: the input schema of schema_store JSON: the output schema of schema_store JSON: a recorded call of schema_store
structured_data_fetch by default JSON: the input schema of structured_data_fetch JSON: the output schema of structured_data_fetch JSON: a recorded call of structured_data_fetch
tokens_build by default JSON: the input schema of tokens_build none ships JSON: a recorded call of tokens_build
viz_render by default JSON: the input schema of viz_render JSON: the output schema of viz_render JSON: a recorded call of viz_render

Rate limits

The README that ships with OODS Foundry 0.11.3 gives them, from the server's own policy:

Each tool accepts 60 calls a minute, except design_preview and design_versions (10); brand_apply and a11y_scan (12); object_import and object_import_read (20); tokens_build, brand_create, brand_read, fidelity_preview, component_map, component_map_read, schema_store and schema_read (30); and pipeline_run (40). A call past its tool's limit is refused with a rate-limit error; wait a few seconds and call again.

Files for agents

  • /llms.txt: this site's map for language models, with the pages to read first and these files.
  • /llms-full.txt: the front door, the guides and the tool reference, whole, in one file.
  • Every page as Markdown, at its path with .md added, such as /agents.md; the home page's is /index.md. A request for the page's own URL with Accept: text/markdown gets the same text, and Copy as Markdown at the top of each page copies it.
  • /registry/0.11.3/index.json: every file below with its source and SHA-256 hash, and where each tool's schemas are.
  • /registry/0.11.3/tools.json: every tool as a client lists it with MCP_TOOLSET=all: its name, description and input schema.
  • /registry/0.11.3/objects.json: the 11 business objects, as object show returns them.
  • /registry/0.11.3/traits.json: the 49 traits, as registry_snapshot with detail full returns them.
  • /registry/0.11.3/components.json: the 114 components, as catalog_list returns them.
  • /registry/0.11.3/tokens.json: every CSS variable by brand and theme, as @oods/tokens ships it.
  • The same files for the version this site is built from, without the version in the path, such as /registry/tools.json.
  • /.well-known/mcp/server-card.json: the package's registry entry, which lists this site's Streamable HTTP endpoint. It's also at /.well-known/mcp-server-card and /.well-known/mcp.json, the paths earlier proposals named.