github 54yyyu/zotero-mcp v0.12.3

2 hours ago

Fixed

  • recent_items on the SQLite backend reads items in the cheaper order for the scope. Ranking a large personal library walked the (libraryID, key) index and fetched every row by rowid, which @mronkko profiled at 94 ms on a 52k-of-90k-item library, against 31 ms for a plain table scan with an itemTypeID subquery. The query now filters on itemTypeID directly and uses a full scan when the library is at least a fifth of items, keeping the index for small scopes such as a group library inside a large database. Both plans return the same items.

Added

  • scripts/profile_recent_items.py shows where recent_items spends its time on the SQLite backend: per-statement timings, query plans, the sort versus the scan, the tools' path through get_library_backend(), and the cost of a snapshot refresh. By @mronkko in #554.

Full changelog: v0.12.2...v0.12.3

Don't miss a new zotero-mcp release

NewReleases is sending notifications on new releases.