read_tokens
On this page
toolread-only

read_tokens

The product's design tokens as extracted, and the source files that define them. The source files are authoritative.

Updated 15 October 2026Needs an active membership

Ask for it in plain words#

PromptRead the tokens
Using Orvio, show me Sotto's colour tokens with their values.
Works with Remote MCP·Replace the highlighted parts

Inputs#

NameTypeRequiredWhat it does
identifierstringyessotto or sotto/tokens for all of a product's tokens, or one token: sotto/token/--sotto-blush.
releasestringnoOptional pin: the version you saw in an earlier result.
themestringnoA theme id or label, when the product has themes.
categorystringnoOnly one category: color, font, space…
namestringnoPart of the token's name, for example blush.
include_sourcesbooleannoAlso return the source files that define the tokens. Default true.
limitintegernoHow many tokens per page: 1 to 500, default 200.
cursorstringnoFrom the previous result's nextCursor, for the next page.

Example#

The example ran over Orvio's synthetic test catalog (a product called Fixture Studio), so its names and values differ from the products you will see. The shape is exactly what the server returns.

Request

Arguments
{
  "identifier": "fixture-studio",
  "category": "color",
  "limit": 2
}

Result (shortened)

JSON
{
  "tokens": [
    {
      "identifier": "fixture-studio/token/--brand-500",
      "nativeName": "--brand-500",
      "label": null,
      "category": "color",
      "value": {
        "kind": "literal",
        "raw": "#2F6FDE",
        "normalized": {
          "type": "color",
          "srgbHex": "#2f6fde"
        }
      },
      "themeId": null,
      "sourceRef": {
        "path": "css/site.css",
        "line": 2
      },
      "provenance": {
        "method": "extracted"
      }
    },
    {
      "identifier": "fixture-studio/token/--color-primary",
      "nativeName": "--color-primary",
      "label": null,
      "category": "color",
      "value": {
        "kind": "alias",
        "raw": "var(--brand-500)",
        "normalized": null,
        "target": "fixture-studio/token/--brand-500"
      },
      "themeId": null,
      "sourceRef": {
        "path": "css/site.css",
        "line": 3
      },
      "provenance": {
        "method": "extracted"
      }
    }
  ],
  "sources": [
    {
      "path": "source/css/site.css",
      "sourcePath": "css/site.css",
      "encoding": "utf-8",
      "content": ":root {\n  --brand-500: #2F6FDE;\n  --color-primary: var(--bra…",
      "bytes": 398,
      "sha256": "f90faae01d0d…"
    }
  ],
  "total": 2,
  "nextCursor": null,
  "release": {
    "product": "fixture-studio",
    "version": "1.1.0",
    "releaseId": "f1000000-0000-4000-8000-000000000002",
    "publishedAt": "2026-10-05T00:00:00Z"
  }
}

Left out of the example: themes, notes, limitations, licence.

What comes back#

FieldWhat it holds
themesThe product's themes (id, label, scope). Empty when it has none.
tokensThe tokens on this page: identifier, native name, category, value (raw and normalised), theme, and the file and line that define it.
sourcesThe source files that define those tokens, with their contents when include_sources is true.
warningsHeads-ups that do not stop the call, such as a membership payment problem. Usually empty.

Every result also carries what the request needs to be checked: the release (product, version, published date), the licence and notes, when they apply.

Paging#

When nextCursor is not null, call again with cursor set to it. A cursor belongs to your account, to that call's inputs and to that release, and it expires after 60 minutes. After a new release it answers release_replaced. See Limits and pagination.

Errors#

CodeMeansWhat to do
product_unavailableNo listed product has that identifier.Search the catalog with search_products.
release_withdrawnThe whole product was taken down for now.Search the catalog for something similar with search_products.
release_replacedA newer release was published since the version you named or the cursor you used.Call the tool again without a release to use 0.1.3.
path_not_foundThe release has no such file, page, component or token.Use get_product or list_release_files to see what's included.
ambiguous_identifierThe name matches more than one page, component or token.Use one of: sotto/component/pricing@css-pricing, sotto/component/pricing@js-pricing.
invalid_inputThe arguments do not match the tool's schema, or the cursor is not valid.Fix the input and call the tool again.
HTTP 401, 403 or 429Before the tool runs: the sign-in is not valid, the membership does not allow access, or there were too many requests.See Errors and fixes.

Every tool can also answer service_unavailable and integrity_error: try again in a few minutes.

Was this page clear? Yes · Not reallyEdit suggestions: support@orvio.design