Other formats agents might prefer:
markdownjsonllms.txt

Agent? You probably want markdown or json, or Pod over MCP.

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_bookmarks
  • shiori_get_bookmark
  • shiori_get_bookmark_by_url
  • shiori_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.