Files
gronod 4022d30fe6 Harmonise schema docs and land Go interface baseline (Phase 06)
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.
2026-09-18 16:35:04 +01:00

31 lines
2.5 KiB
Markdown

# 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:
1. [Authentication, authorization and transport](01-authentication.md).
2. [Tool catalogue and exact routing rules](02-tool-mapping.md).
3. [Complete input schema catalogue](03-input-schemas.md).
4. [Output contracts and MCP behaviour](04-results.md).
5. [All 377 operations and their disposition](05-endpoint-coverage.md).
6. [Uncertainties and acceptance criteria](06-verification.md).
7. [Administrative settings types](07-settings-types.md).
8. [Go interface baseline](08-go-baseline.md).
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`.