read_issues provider_summary fails on empty upstream body for providers with no issues #28

Closed
opened 2026-09-19 19:20:35 +01:00 by gronod · 0 comments
Owner

Summary

read_issues provider_summary fails with UPSTREAM_SCHEMA_MISMATCH: upstream response was not a JSON object: unexpected end of JSON input whenever the provider has no recorded issues. The action only works when the provider has at least one issue — Ombi returns an empty response body for the empty case, which the JSON decoder rejects.

Environment

  • Binary: /usr/local/bin/ombi-mcp, vcs.revision=958006cff264e058e2dc0637c01c091c93fef6d1
  • Ombi: 4.53.10, JWT auth

Reproduction

read_issues {"action":"provider_summary","provider_id":"348"}

348 (Alien, tmdb) has no issues → unexpected end of JSON input (corr 40cdd61f3294e16cd889fe71).

With a provider that does have issues the action succeeds:

read_issues {"action":"provider_summary","provider_id":"tt0089826"}

→ ok, one provider_groups item, count 1 (corr 0c604a5546e38ada1e32cbe2).

Expected

An empty upstream body for a legitimately-empty result set should project as an empty group_page (or a graceful not-found), not a schema mismatch.

Actual

Hard decode failure. The caller cannot distinguish "no issues" from "upstream broken", and any provider without issues breaks the action.

Notes

Sibling actions handle the empty case fine: by_provider for the same provider returns an empty issue_page. list/summary/get/comments/counts all verified working in the same sweep.

## Summary `read_issues provider_summary` fails with `UPSTREAM_SCHEMA_MISMATCH: upstream response was not a JSON object: unexpected end of JSON input` whenever the provider has no recorded issues. The action only works when the provider has at least one issue — Ombi returns an empty response body for the empty case, which the JSON decoder rejects. ## Environment - Binary: `/usr/local/bin/ombi-mcp`, `vcs.revision=958006cff264e058e2dc0637c01c091c93fef6d1` - Ombi: 4.53.10, JWT auth ## Reproduction ```json read_issues {"action":"provider_summary","provider_id":"348"} ``` `348` (Alien, tmdb) has no issues → `unexpected end of JSON input` (corr `40cdd61f3294e16cd889fe71`). With a provider that does have issues the action succeeds: ```json read_issues {"action":"provider_summary","provider_id":"tt0089826"} ``` → `ok`, one `provider_groups` item, count 1 (corr `0c604a5546e38ada1e32cbe2`). ## Expected An empty upstream body for a legitimately-empty result set should project as an empty `group_page` (or a graceful not-found), not a schema mismatch. ## Actual Hard decode failure. The caller cannot distinguish "no issues" from "upstream broken", and any provider without issues breaks the action. ## Notes Sibling actions handle the empty case fine: `by_provider` for the same provider returns an empty `issue_page`. `list`/`summary`/`get`/`comments`/`counts` all verified working in the same sweep.
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: gronod/ombi-mcp#28