Reported issues for Shiori MCP
Pod holds 8 of 8 problems reported by people outside the maintainer team. Issues filed by the project's own owners, members and collaborators are excluded entirely — a maintainer's release checklist is not a warning to a prospective user.
Back to Shiori MCP.
Most discussed
Allow configure() to clear cached client credentials and session
Finding
client.configure(..., session_id=None) does not clear the cached _SESSION_ID because configure() only assigns fields when the passed value is not None.
Impact
Tests and programmatic users can accidentally leak authentication state between configurations. This is fragile for test ordering and makes it hard to intentionally reset credentials/session state.
Suggested fix
Use an internal sentinel so omitted parameters mean "leave unchanged" while explicit None means "cle
Read the thread · 2026-05-31 · closed · 0 comments
Accept typed bookmark id arrays for bulk delete
Finding
shiori_delete_bookmarks requires callers to pass bookmark ids as a JSON-encoded string such as [1,2,3] instead of a typed array.
Impact
This is more brittle for MCP clients and LLM callers because they must construct JSON inside a string parameter, and malformed JSON is only caught at runtime.
Suggested fix
Accept a typed list[int] parameter while keeping backward compatibility for existing JSON-string callers.
Found during release validation review.
Read the thread · 2026-05-31 · closed · 0 comments
Update optional Aeon validation skip target name
Finding
scripts/model_validate.py renamed the optional Aeon target to aeon_ultimate_xs, but the optional-failure skip set still references the old aeon_ultimate name.
Impact
If a local Aeon endpoint is configured but temporarily unavailable, the validation script will count it as a hard failure instead of skipping it as an optional model target.
Suggested fix
Update the optional skip set to include aeon_ultimate_xs.
Found during aeon-ultimate-xs second-pass review of the fi
Read the thread · 2026-05-31 · closed · 0 comments
Keep health check lightweight after pagination fix
Finding
After bookmark pagination was fixed, shiori_health_check still advertises a "small read-only request" but calls health_check(), which walks all bookmark pages via list_bookmarks().
Impact
On large Shiori instances, a health check can become unexpectedly expensive and slow.
Suggested fix
Make health_check() use a lightweight endpoint such as /api/tags, or update the wording if a full bookmark walk is intentional.
Found during aeon-ultimate-xs second-pass review of
Read the thread · 2026-05-31 · closed · 0 comments
Clarify tag filter is case-insensitive
Finding
The shiori_search_bookmarks schema describes the tag filter as an "exact tag name", but the implementation lowercases both sides and matches case-insensitively.
Impact
MCP clients and agents may infer stricter/case-sensitive semantics than the tool actually provides.
Suggested fix
Update the schema description and docs to say the tag filter is case-insensitive.
Found during release code review; confirmed by second pass with aeon-ultimate-xs.
Read the thread · 2026-05-31 · closed · 0 comments
Validate SHIORI_TIMEOUT with a clear startup error
Finding
SHIORI_TIMEOUT is parsed inline with float(...) during startup.
Impact
If a user sets an invalid value, the server exits with a raw ValueError traceback instead of a clear configuration error.
Suggested fix
Validate SHIORI_TIMEOUT during startup and print a clear message such as Error: SHIORI_TIMEOUT must be a number before exiting non-zero. Add a protocol/startup test.
Found during release code review; confirmed by second pass with aeon-ultimate-xs.
Read the thread · 2026-05-31 · closed · 0 comments
Remove hardcoded private Aeon endpoint from validation script
Finding
scripts/model_validate.py contains a hardcoded private LAN endpoint:
http://192.168.68.164:8000/v1
Impact
This leaks an internal network address in the public repo and makes the validation script slow/fail for external contributors who cannot reach that address.
Suggested fix
Make local model validation opt-in via environment variables such as AEON_BASE_URL, AEON_MODEL, and AEON_API_KEY, and skip it when no endpoint is configured.
Found during release code
Read the thread · 2026-05-31 · closed · 0 comments
Fetch all bookmark pages before search and lookup
Finding
Bookmark reads currently fetch only one /api/bookmarks page, then search/get/update helpers operate on that partial in-memory list.
Impact
On Shiori instances with more than one page of bookmarks, these tools can miss existing bookmarks:
shiori_search_bookmarksshiori_get_bookmarkshiori_get_bookmark_by_urlshiori_update_bookmark_fields/ update refetch paths
The returned total can also be misleading because it counts matches only within the fetched page.
Read the thread · 2026-05-31 · closed · 0 comments
Most recent
The remaining reports are on the project's issue tracker.