System Atlas

registry_upsert_gaps

Admin: up to 200 gaps of a registry organization: what it has that no primitive of its schema covers, by key, with an open-web source. Gaps seen across organizations are candidates for new primitives. Needs an admin key.

AdminMCP tool

Parameters

  • organizationstringrequired

    The organization's domain or website, as given to registry_upsert_organization

    min 3 charsmax 300 chars
  • gapsobject[]required
    min 1 itemmax 200 items
  • gaps[].keystringoptional

    Stable key; derived from the label when omitted

    min 1 charmax 80 charspattern ^[a-z0-9_]+$
  • gaps[].labelstringrequired

    What the organization has that no primitive covers

    min 1 charmax 120 chars
  • gaps[].layerenumoptional
    peopleprocesssoftwaredatadecisions
  • gaps[].detailstringoptional
    max 2000 chars
  • gaps[].sourceobjectrequired
  • gaps[].source.urlstringrequired

    Public web address the finding rests on

    min 1 charmax 500 chars
  • gaps[].source.kindenumoptionaldefault "website"
    websitecareersjob_postpressreviewfilingregistry
  • gaps[].source.titlestringoptional
    max 200 chars

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": "registry_upsert_gaps",
  "arguments": {
    "organization": "acmebuilders.example",
    "gaps": [
      {
        "label": "Drone site surveys",
        "layer": "process",
        "source": {
          "url": "https://acmebuilders.example/services",
          "kind": "website"
        }
      }
    ]
  }
}

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
{
  "organization": {
    "domain": "acmebuilders.example"
  },
  "results": [
    {
      "key": "drone_site_surveys",
      "created": true
    }
  ]
}

Over REST

The same call without MCP: POST/api/v1/admin/registry/gaps