System Atlas

list_organizations

Registry organizations in a stable order, filtered by industry (with everything under it), region, kind, size, model or claimed; keyset-paged so an agent can walk the whole registry. ids looks up to 100 organizations by external id at once (lei:…, wikidata:Q…, ror:…, cik:…, ein:…, domain:…) and adds matched and missing. Compact rows: cols names the columns once, rows are arrays. Public.

PublicMCP tool

Parameters

  • industrystringoptional

    Taxonomy key (sector, industry or segment); includes everything under it

    max 80 chars
  • regionstringoptional

    Region word, e.g. US or Texas

    max 120 chars
  • kindstringoptional

    Organization kind, e.g. company, nonprofit, government

    max 40 chars
  • sizestringoptional

    Size band, e.g. 51-200

    max 40 chars
  • modelstringoptional

    Business model key

    max 40 chars
  • claimedbooleanoptional

    Only claimed (true) or unclaimed (false) organizations

  • idsstringoptional

    Look up organizations by external id: up to 100, comma-separated, e.g. lei:529900Y25S8NZIYTT924,wikidata:Q95,domain:stripe.com. The response adds matched (id → ref) and missing.

    max 6000 chars
  • fieldsstringoptional

    Keys to keep per item, comma-separated; aliases values, sources, counts, confidence

    max 300 chars
  • limitnumberoptional

    Items per response, 1-200 (the budget may stop earlier)

    ≥ 1≤ 200
  • cursorstringoptional

    next_cursor from the previous response

    max 2000 chars
  • viewenumoptional

    compact (default), full (every field) or v1 (the old shape, unpaged, refused over 64 KB)

    compactfullv1
  • budgetnumberoptional

    Token budget, 200-8000 (default 2000, 6000 for full)

    ≥ 200≤ 8000

Example call

Agents call tools by name; you rarely write this by hand. It is here so you can test the server from a shell or your own code.

{
  "name": "list_organizations",
  "arguments": {
    "industry": "staffing",
    "limit": 2
  }
}

Response

The result is one text content block holding this JSON (abbreviated here). Errors come back with isError: true and a message such as Error 401: … or Invalid input: ….

Response
{
  "cols": [
    "ref",
    "name",
    "domain",
    "industry",
    "region",
    "size",
    "kind",
    "mapped",
    "cov",
    "flows",
    "claimed"
  ],
  "rows": [
    [
      "instawork-0a1b2c3d",
      "Instawork",
      "instawork.com",
      "staffing",
      "US",
      "201-500",
      "company",
      25,
      "12/40",
      3,
      false
    ],
    [
      "gigsmart-4e5f6a7b",
      "GigSmart",
      "gigsmart.com",
      "staffing",
      "US",
      "51-200",
      "company",
      21,
      "10/40",
      0,
      false
    ]
  ],
  "truncated": true,
  "next_cursor": "eyJrIjoi…",
  "hint": "More organizations: call list_organizations with cursor=<next_cursor> (keyset; safe to walk the whole registry).",
  "tokens": 120
}

Over REST

The same call without MCP: GET/api/v1/orgs