Skip to content

product.providers

Every provider the tool has an adapter for — one per template the distribution ships — with the bootstraps this repository's policy renders through it, the client configuration it carries for the shared MCP server, and the hooks the policy wires. The set is the templates; nothing here is a list of vendors.

Every provider the tool has an adapter for — one per template the distribution ships — with the bootstraps this repository's policy renders through it, the client configuration it carries for the shared MCP server, and the hooks the policy wires. The set is the templates; nothing here is a list of vendors.

Exposure

Where this one definition is reachable. Absence is explicit: a surface not listed does not carry it.

surfaceas
MCPtool majordomus_providers
resource majordomus://product/providers
HTTPGET /api/v1/product/providers operationId product.providers
command linemajordomus product providers

Schemas

The canonical input and output, from the Rust types; the MCP tool schema and the OpenAPI parameters and responses are derived from these.

input · Empty

No input.

No properties: the capability takes no input.

JSON Schema
{
  "additionalProperties": false,
  "description": "No input.",
  "title": "Empty",
  "type": "object"
}

output · ProviderList

Every provider.

propertytyperequireddescription
count integer yes How many.
providers array yes Each, in id order.
JSON Schema
{
  "$defs": {
    "ProductProvider": {
      "description": "One provider the tool has an adapter for, discovered from the templates the distribution\nships and decorated with what this repository does with it.",
      "properties": {
        "bootstraps": {
          "description": "The bootstraps this repository's policy renders through it: target, mode, whether\nevery worker loads it.",
          "items": {
            "$ref": "#/$defs/ProviderBootstrap"
          },
          "type": "array"
        },
        "client_config": {
          "description": "The client configuration at the repository root that starts the shared MCP server\nfor this provider, when the repository carries it.",
          "type": [
            "string",
            "null"
          ]
        },
        "hooks": {
          "description": "The enforcement entries of the policy wired by this provider's hooks.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "id": {
          "description": "The provider id: the template's file stem.",
          "type": "string"
        },
        "scratch_roots": {
          "default": [],
          "description": "The scratch roots this provider creates checkouts of its own under, as declared:\nthe worktree topology reports a checkout there as a session's scratch checkout and\nnever moves it (ADR 0024).",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "title": {
          "description": "The name a person knows it by.",
          "type": "string"
        }
      },
      "required": [
        "id",
        "title",
        "bootstraps",
        "hooks"
      ],
      "type": "object"
    },
    "ProviderBootstrap": {
      "description": "One bootstrap a provider renders.",
      "properties": {
        "always_loaded": {
          "description": "Loaded by every worker without asking.",
          "type": "boolean"
        },
        "mode": {
          "description": "`file` or `region`.",
          "type": "string"
        },
        "target": {
          "description": "The target file, repository-relative.",
          "type": "string"
        }
      },
      "required": [
        "target",
        "mode",
        "always_loaded"
      ],
      "type": "object"
    }
  },
  "description": "Every provider.",
  "properties": {
    "count": {
      "description": "How many.",
      "format": "uint",
      "minimum": 0,
      "type": "integer"
    },
    "providers": {
      "description": "Each, in id order.",
      "items": {
        "$ref": "#/$defs/ProductProvider"
      },
      "type": "array"
    }
  },
  "required": [
    "count",
    "providers"
  ],
  "title": "ProviderList",
  "type": "object"
}

Policies

benchmark
required — a target on every transport the exposure declares; the cases are the input type's
cache
process — up to 2 entries in the process, scoped by the registry fingerprint

Benchmark targets

Derived from the registry for this repository: one requirement per transport, and the cases the input type provides. The whole matrix is on the benchmarks page.

transportstatecasestargets
directcovered1default cold+warm
mcpcovered1default cold+warm
httpcovered1default cold+warm