Sync the remaining ledger docs to the read_*/write_* namespace and finalized schemas: publish the MCP->wire parameter mapping appendix, record JWT-primary auth and season-mode/defaults decisions in the ledger and verification docs, and document notificationTemplates label translation. Add docs/schema/08-go-baseline.md and implement the compile-level type baseline: config loading/validation, AuthManager skeleton, upstream Client.Do contract, tool arg structs, and the shared result envelope.
2.5 KiB
Ombi MCP schema
This is a documentation-only design and audit of the supplied RAML snapshot. It does not implement a server, contact an Ombi instance, or certify undocumented server behaviour.
The API contains 321 distinct paths and 377 HTTP operations. Coverage means accounting for every method/path pair, including compatibility routes, internal authentication and deliberate exclusions. It does not mean publishing 377 tools or exposing every administrative capability by default.
Read in this order:
- Authentication, authorization and transport.
- Tool catalogue and exact routing rules.
- Complete input schema catalogue.
- Output contracts and MCP behaviour.
- All 377 operations and their disposition.
- Uncertainties and acceptance criteria.
- Administrative settings types.
- Go interface baseline.
The proposed catalogue separates ordinary media workflows, moderation and optional administration. Only authorized, configured tools and branches should be advertised. Tool count is a consequence of coherent tasks and permission boundaries, not an optimization target by itself.
The catalogue defines 31 tools: 18 core, 5 moderation and 8 administration. Tool names encode effect: read_* = read-only, write_* = state-mutating. Bundles are deployment policy groups, not prefixes. All input schemas and the shared output schema have been validated; the ledger matches all 377 RAML operations exactly. Runtime assumptions are explicitly tracked in the verification document.
MCP interoperability baseline: 2025-11-25, with explicit JSON Schema 2020-12. This is a deliberate compatibility target, not a claim that it is the newest published revision. A later protocol version requires its own transport/versioning review; the domain design here does not assume later extensions.
Evidence labels used throughout:
- Documented: directly supported by a path, description or type in this RAML snapshot.
- Design: an intentional MCP contract, stricter validation rule or normalization proposed here.
- Verify: semantics absent or ambiguous in RAML; must be confirmed before that branch is enabled.
All URLs come from OMBI_URL; the source RAML's environment-specific baseUri is never a runtime default. Upstream authentication is selected explicitly via OMBI_AUTH_MODE (jwt primary, api_key secondary); see 01-authentication.md.