Every researcher has the same problem: you save dozens of articles, papers, and web pages, and then you cannot find the one you need when you need it. The bookmarks pile up. The notes scatter across folders. The search bar returns nothing useful because you cannot remember the exact title or tag.
The problem is not capture. There are plenty of tools that save pages. The problem is the loop. Capture is only step one. You need to index, query, and cite — and most tools stop at step one.
The four-step loop
1. Save
The Glassy Companion browser extension captures web content in one click. But it does not just save a URL — it extracts the full article text, metadata, images, and source attribution. Eight capture types are supported:
- Article — Full text extraction via Readability, preserved as Markdown
- Video — YouTube and Vimeo transcripts with timestamps
- Repository — GitHub repo metadata, README, and file tree
- Product — Product pages with pricing and specs
- Research — Academic papers with abstract and author extraction
- Highlight — Selected text with surrounding context
- Screenshot — Full page or region capture as a note
- Bookmark — Quick-save with auto-generated title and description
Each capture type produces structured Markdown with frontmatter — title, source URL, author, date, tags. AI auto-tagging runs locally (WebGPU) to suggest relevant tags without sending your content to a cloud API.
2. Index
Every capture is automatically indexed into Glassy's knowledge base. The indexing pipeline runs two passes:
- BM25 (keyword) — SQLite FTS5 tokenizes the Markdown content for fast keyword matching. This catches exact phrases, code identifiers, and proper nouns that embeddings miss.
- Vector (semantic) — Embeddings generated by mxbai/MiniLM (running locally via WebGPU) create a 384-dimensional vector for each document. This catches conceptual matches — "transformer architecture" finds notes about "attention mechanisms" even if the word "transformer" never appears.
The two indexes are merged using Reciprocal Rank Fusion (RRF), which operates on ranks rather than scores. This solves the fundamental problem of hybrid search: BM25 scores and vector similarity scores live on completely different scales. RRF treats them as ranked lists and fuses them into a single ranking that is better than either approach alone. For a deeper dive, see Hybrid search: BM25 meets vector.
3. Query
This is where Glassy differs from every other capture tool. Your indexed corpus is not trapped behind a search bar. It is exposed via the MCP server, so you can query it from:
- Claude Desktop — Ask Claude about your research in natural language. It queries your corpus via MCP and returns answers with citations.
- Cursor, Windsurf, OpenCode — Pull research notes into your coding context without leaving the editor.
- Hermes, Openclaw, Pi — Any MCP-compatible assistant or agent can query your knowledge base the same way.
- Glassy's web UI — The built-in search runs the same hybrid pipeline.
- Any MCP-compatible client — The protocol is open. Any tool that speaks MCP can query your knowledge base.
The query is not a keyword search. It is a semantic question: "What do I have about privacy-preserving machine learning?" The hybrid pipeline finds documents that match both the keywords ("privacy", "machine learning") and the concept (differential privacy, federated learning, on-device inference).
4. Cite
Every result includes a citation back to the original source. When Claude answers "Based on your research, federated learning was discussed in three notes," each claim links to the specific note or bookmark it came from. You can verify the source, read the full context, and trace the chain of evidence.
This is the step that most AI tools skip. They generate answers from your data but do not tell you which data. Glassy's MCP server returns source URLs, note titles, and relevance scores with every result. The AI agent can cite its sources, and you can check them.
Why the loop matters
Tools like AltShift+ and TabStash all do step 1 well. They capture pages, extract content, and organize bookmarks. But the loop breaks at step 3 — you are searching a bookmark list, not querying a knowledge base. And step 4 is absent entirely — there is no way for an AI agent to cite its sources back to you.
The result is the same old problem: you saved it, but you cannot find it. The capture loop is only valuable when it is closed. Save without query is a graveyard. Query without citation is a black box. Glassy closes the loop.
A real workflow
Here is how the loop works in practice for a research project:
- Monday — You are researching WebGPU for a project. You capture 8 articles, 2 YouTube talks, and 3 GitHub repos using the browser extension. Each takes one click. AI auto-tags them "webgpu", "browser-ai", "wasm".
- Tuesday — You capture 4 more papers on GPU compute shaders. The index updates automatically. You do not think about organizing anything.
- Wednesday — You open Claude Desktop (or Cursor, Windsurf, OpenCode, Hermes, Openclaw, Pi, or any MCP-compatible agent) and ask: "What are the main performance bottlenecks for WebGPU compute workloads based on my research?" Your AI assistant queries your corpus via MCP, finds the 5 most relevant captures, and synthesizes an answer with citations to each source.
- Thursday — You write your report. When you need to verify a claim, you click the citation and land on the original capture with the full article text, source URL, and capture date.
No folder organization. No manual tagging. No copy-pasting between tools. The loop runs itself.