v0.2.0 — OpenAPI connectors
Auto-generate governed tools from an OpenAPI spec — onboarding a system goes from code to config.
Highlights
- OpenAPI connectors —
register_openapi_tools(...)reads an OpenAPI 3.x spec (URL, file, or dict; JSON or YAML) and registers one MCP tool per allowlisted operation. Each tool is wrapped in the sametool_runtimeas a hand-written one — same scope check, audit row, and error envelope. Auto-generated does not mean ungoverned. - Config-only onboarding — point
PONTIFEX_CONNECTORS_CONFIGat a connectors YAML file and the server registers the tools at startup. No domain code required. - Derived scopes — each generated tool enforces a
domain:resource:actionscope derived from the operation (resource from the path, action from the verb), slotting straight into the existing scope model. - Opt-in by design — operations are exposed via an explicit
includeallowlist; mutating verbs requireallow_mutations. Typos and unapproved writes fail at startup, never silently. - Backend auth —
BearerFromEnv/HeaderFromEnvauthenticate the generated adapter to the downstream API; secrets are read from the environment (presence checked at boot). - Resilient — downstream calls run through a generated
DataAdapterunderDataSourceManager, so circuit breaking applies; connector health appears in/health/ready.
New docs: the Connectors guide. Full detail in #38 / #40.
Compatibility
Additive and backward compatible with 0.1.0. New dependency: pyyaml.