All release notes

Uoink 3.11.0: Smarter search and MCP SDK 2.3.0

Released

Search no longer requires every word. It skips common words, matches the words that remain, and ranks sources with every word and exact titles first. In a test of 30 questions over 693 saved sources, keyword search now puts the right source in the top 5 for 24 questions; the old search found it for 10.

Optional semantic search finds passages with similar meaning even when the words differ. Turn it on in Settings under Semantic search. After you accept Google's Gemma terms, Uoink downloads the EmbeddingGemma model once (about 330 MB) and builds its index in the background. It runs on your computer, works offline after setup, and is never bundled with Uoink. In the same test, semantic search found the right source for 27 of 30 questions, and hybrid search, which combines both, found 28. Removing semantic search deletes the model and its index; keyword search keeps working.

Strict matching is still there: choose Exact words in the dashboard, or pass match: "strict" to a search tool. A result includes a quotable passage only when that passage really contains the match. Otherwise passage_verified is false and the result says why.

For agents, search_library, search_uoinks, and search_clips take optional match (forgiving or strict) and mode (auto, keyword, semantic, or hybrid) parameters; find_mentions takes match. Auto uses hybrid when semantic search is ready and keyword search otherwise, and each response says which mode ran. The MCP server still exposes 91 tools, or 35 with UOINK_MCP_TOOLSET=core. Updating rebuilds the local keyword search index once.

The MCP server now runs on the official MCP Python SDK 2.3.0. Claude Desktop, Claude Code, Cursor, and Codex keep connecting as before, and apps that speak the newer 2026-07-28 MCP protocol can connect too. No action is needed. The local HTTP endpoint keeps its existing behavior.

uoink connect recipes and the client tables in Connect your agent now list a Linux location where the client has a Linux setup. Clients without a Linux build say so instead of printing another system's path. Continue is set up by hand; the dashboard now shows it as connected once its config launches this Uoink install. Claude Desktop, Cursor, and Cline also count as connected only when an entry launches this install, so an entry that points at an old or moved install shows Connect, which rewrites it and keeps a backup.

uoink connect --list now has setup recipes for 48 clients and integrations, 10 more than 3.10.0. 45 are checked against each client's official documentation, and each recipe prints its verification status. Most recipes are not yet tested in the client itself.

Anonymous usage counts are off by default. If you turn on Share anonymous usage counts in Settings, Uoink sends at most one report a day: a random install ID and report ID, the app version, your OS family, major version and processor type, the install type, the hours covered, and counts of tool calls (by tool name and by stdio or HTTP), connected AI apps from a fixed list, captures by source type and result, and searches. It never sends content, URLs, titles, file paths, search text, prompts, or API keys. Settings shows the exact report before it is sent. See Privacy for details.

Tested with the installed 3.11.0 build in an isolated profile: Claude Code 2.1.308 listed all 91 tools and called one, and Codex CLI 0.153.4 called two tools.

Installing over the previous release keeps your library and saved captures.