← Portfolio
RAG CONNECTORPROTOTYPE

Context Drop.

Private context retrieval for AI tools. It hands an assistant the few notes a task needs, keeps restricted pages out, and shows exactly what the model saw.

JUN 26 20264 PART CASE STUDY

IN PLAIN ENGLISH

What this is.

Context Drop is a private context broker for AI tools. It selects the few notes a request needs, keeps restricted pages out, and shows exactly what the model received.

01 / THE PROBLEM

The useful context is rarely the whole vault.

Pasting the same notes into every tool was slow. Sending a whole knowledge vault was expensive and unsafe. Context Drop gives an assistant a small, deliberate context window instead: enough to do the work, with the withheld material visible in a manifest.

02 / HOW IT WORKS

A named pack first; a ranker second.

The broker speaks MCP and sits in front of tagged Markdown pages. A named pack controls which pages can be loaded and in what order. If a request matches no pack, a hybrid ranker combines dense embeddings and BM25 with reciprocal-rank fusion. Offline, it falls back to keyword ranking.

Privacy boundary

Restricted pages stay withheld unless the task explicitly grants them. Their names can appear in the manifest, never their content.

Local by design

Embeddings are computed on the local machine because private pages must not reach a cloud embedder.

03 / ENGINEERING DECISIONS

Small enough to audit, strict enough to trust.

The broker is plain Python with no third-party dependencies. The HTTP transport requires auth for publicly reachable setups, checks Host and Origin against an allowlist, compares tokens in constant time, and does not expose stack traces or the vault path. The claude.ai connector has been verified through OAuth 2.1 and PKCE.

04 / WHERE IT STANDS

A working private prototype, not a public product.

A gold set of nineteen vault queries moved precision-at-5 from 0.24 with dense-only retrieval to 0.85 with the hybrid ranker; recall-at-10 reached 0.89. Those are tuning results on a curated, small set, not a general benchmark. Next is proving the same OAuth flow against more connectors and adding personal data sources behind the same budget and privacy rules.

THE HONEST VERSION

What I am actually counting.

The result I count is not a polished chat window. It is the retrieval jump and the rule that a private page has to be explicitly requested before it can surface.

TRY IT

Try the interaction.

Interactive demo loading. The case-study explanation remains available without JavaScript.

TOOLS AND CONSTRAINTS

  • Python standard library
  • MCP
  • BM25
  • Local embeddings
  • OAuth 2.1 / PKCE

RÉSUMÉ

Get the résumé.

Download the public copy now, or ask for the full version with direct contact information.

PUBLIC COPY

No email needed · PDF

Download

FULL COPY

Name and email, and I’ll send it through the existing request process.