manifest.yaml is written by hand next to the connector’s code and validated when the catalog is aggregated. Unknown fields are rejected, so typos fail the build instead of silently doing nothing.
Fields
Input and config schemas
inputsSchema describes the per-run inputs — a target, a scope. configSchema describes the tool profile — settings that persist across runs. Both are plain JSON Schema plus two annotation keys:
titleanddescriptionlabel fields in the console.ui:placeholderprovides input hints.
type, required, properties, items, enum, default, examples, and format carry validation weight; the annotations are for rendering.
See Inputs & config for how these values reach the adapter.
Icon
An optionallogo.png sibling is downscaled to a 128px long edge if larger, then embedded base64 in the generated manifest.json. Logos never appear in YAML.
Aggregation rules
manifest.json is a generated artifact — regenerate it, never edit it by hand.
- Duplicate slugs across the repo are a hard error.
- Empty
capabilitiesand invalidpricingTierentries fail the build. - Entries in
manifest.jsonare sorted byname; ageneratedAttimestamp makes every regeneration a diff. - An oversized
logo.pngis rewritten in place, so the repo file stays byte-identical to the embedded icon.
