Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

driftnet

by KevinChu1110version 1.2.1i★ –iRuns on your computer
Registry nameio.github.KevinChu1110/driftnet

Install

Overview

Description from the maker (original English)

A local catalogue of the links your chats share: search, save and file them. Any model, or none.

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Runs on your computer
  • Transport: stdio
  • Category: Search & AI memory
  • You need to fill in: DRIFTNET_LLM_API_KEY, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_BEARER_TOKEN_BEDROCK

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 1 of 1 passed
  • Runs on your computer with your user’s permissions (files, network, apps).
  • You fill in yourself: DRIFTNET_HOME, DRIFTNET_LLM_PROVIDER, DRIFTNET_LLM_MODEL, DRIFTNET_LLM_API_KEY, DRIFTNET_LLM_BASE_URL, DRIFTNET_LLM_REGION, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_BEARER_TOKEN_BEDROCK, GOOGLE_APPLICATION_CREDENTIALS, GOOGLE_CLOUD_PROJECT, DRIFTNET_JUDGE, DRIFTNET_JUDGE_RULES, DRIFTNET_LANGUAGE, DRIFTNET_AGENT

Values marked secret are keys to your account. Never share them or paste them into a chat.

You need

  • npmNode.js installed (for the npx command)

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json

{
  "mcpServers": {
    "driftnet": {
      "command": "npx",
      "args": [
        "-y",
        "driftnet",
        "mcp"
      ],
      "env": {
        "DRIFTNET_HOME": "your-value",
        "DRIFTNET_LLM_PROVIDER": "your-value",
        "DRIFTNET_LLM_MODEL": "your-value",
        "DRIFTNET_LLM_API_KEY": "your-value",
        "DRIFTNET_LLM_BASE_URL": "your-value",
        "DRIFTNET_LLM_REGION": "your-value",
        "AWS_ACCESS_KEY_ID": "your-value",
        "AWS_SECRET_ACCESS_KEY": "your-value",
        "AWS_BEARER_TOKEN_BEDROCK": "your-value",
        "GOOGLE_APPLICATION_CREDENTIALS": "your-value",
        "GOOGLE_CLOUD_PROJECT": "your-value",
        "DRIFTNET_JUDGE": "your-value",
        "DRIFTNET_JUDGE_RULES": "your-value",
        "DRIFTNET_LANGUAGE": "your-value",
        "DRIFTNET_AGENT": "your-value"
      }
    }
  }
}

Run this in your terminal

claude mcp add driftnet --env DRIFTNET_HOME=your-value --env DRIFTNET_LLM_PROVIDER=your-value --env DRIFTNET_LLM_MODEL=your-value --env DRIFTNET_LLM_API_KEY=your-value --env DRIFTNET_LLM_BASE_URL=your-value --env DRIFTNET_LLM_REGION=your-value --env AWS_ACCESS_KEY_ID=your-value --env AWS_SECRET_ACCESS_KEY=your-value --env AWS_BEARER_TOKEN_BEDROCK=your-value --env GOOGLE_APPLICATION_CREDENTIALS=your-value --env GOOGLE_CLOUD_PROJECT=your-value --env DRIFTNET_JUDGE=your-value --env DRIFTNET_JUDGE_RULES=your-value --env DRIFTNET_LANGUAGE=your-value --env DRIFTNET_AGENT=your-value -- npx -y driftnet mcp

Fill in the empty values before running it.

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "driftnet": {
      "command": "npx",
      "args": [
        "-y",
        "driftnet",
        "mcp"
      ],
      "env": {
        "DRIFTNET_HOME": "your-value",
        "DRIFTNET_LLM_PROVIDER": "your-value",
        "DRIFTNET_LLM_MODEL": "your-value",
        "DRIFTNET_LLM_API_KEY": "your-value",
        "DRIFTNET_LLM_BASE_URL": "your-value",
        "DRIFTNET_LLM_REGION": "your-value",
        "AWS_ACCESS_KEY_ID": "your-value",
        "AWS_SECRET_ACCESS_KEY": "your-value",
        "AWS_BEARER_TOKEN_BEDROCK": "your-value",
        "GOOGLE_APPLICATION_CREDENTIALS": "your-value",
        "GOOGLE_CLOUD_PROJECT": "your-value",
        "DRIFTNET_JUDGE": "your-value",
        "DRIFTNET_JUDGE_RULES": "your-value",
        "DRIFTNET_LANGUAGE": "your-value",
        "DRIFTNET_AGENT": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "driftnet": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "driftnet",
        "mcp"
      ],
      "env": {
        "DRIFTNET_HOME": "your-value",
        "DRIFTNET_LLM_PROVIDER": "your-value",
        "DRIFTNET_LLM_MODEL": "your-value",
        "DRIFTNET_LLM_API_KEY": "your-value",
        "DRIFTNET_LLM_BASE_URL": "your-value",
        "DRIFTNET_LLM_REGION": "your-value",
        "AWS_ACCESS_KEY_ID": "your-value",
        "AWS_SECRET_ACCESS_KEY": "your-value",
        "AWS_BEARER_TOKEN_BEDROCK": "your-value",
        "GOOGLE_APPLICATION_CREDENTIALS": "your-value",
        "GOOGLE_CLOUD_PROJECT": "your-value",
        "DRIFTNET_JUDGE": "your-value",
        "DRIFTNET_JUDGE_RULES": "your-value",
        "DRIFTNET_LANGUAGE": "your-value",
        "DRIFTNET_AGENT": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.

Your choice stays on this device in a cookie; no account needed.

Values you fill in

  • DRIFTNET_HOME env
    Where settings and the catalogue live (default ~/.driftnet)
  • DRIFTNET_LLM_PROVIDER env
    anthropic, openai, gemini, bedrock, vertex, claude-cli or gemini-cli; empty for no summaries
  • DRIFTNET_LLM_MODEL env
    Model name for that provider
  • DRIFTNET_LLM_API_KEY secret env
    API key for that provider (gemini also reads GEMINI_API_KEY; for vertex it may be a raw access token)
  • DRIFTNET_LLM_BASE_URL env
    OpenAI-compatible endpoint for the openai provider (Ollama, OpenRouter, Gemini…)
  • DRIFTNET_LLM_REGION env
    Region for the bedrock provider (or AWS_REGION) and the vertex provider (default us-central1)
  • AWS_ACCESS_KEY_ID secret env
    bedrock provider: AWS access key ID (with AWS_SECRET_ACCESS_KEY, and AWS_SESSION_TOKEN for temporary credentials)
  • AWS_SECRET_ACCESS_KEY secret env
    bedrock provider: AWS secret access key
  • AWS_BEARER_TOKEN_BEDROCK secret env
    bedrock provider: a Bedrock API key, used instead of the AWS keys
  • GOOGLE_APPLICATION_CREDENTIALS env
    vertex provider: path to a service-account JSON key file (or DRIFTNET_VERTEX_CREDENTIALS)
  • GOOGLE_CLOUD_PROJECT env
    vertex provider: Google Cloud project id (optional when the key file names one)
  • DRIFTNET_JUDGE env
    Who files each link before the model: jev, rules (free, no model), llm, heuristic, off, or a plugin's judge name
  • DRIFTNET_JUDGE_RULES env
    Path to a rules file for the rules judge, one 'pattern -> folder' per line
  • DRIFTNET_LANGUAGE env
    Language summaries are written in (default English)
  • DRIFTNET_AGENT env
    Name recorded for this agent's saves and votes (default local)

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

Runs on your computer; the tool list appears in your AI app after you install it.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account KevinChu1110, which owns the repo

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • – Not applicable

    Endpoint responds

    This one runs on your computer; there is no internet endpoint

  • – Not applicable

    Sign-in with OAuth

    Runs on your computer and uses local settings instead

  • … Not checked yet

    No hidden instructions in tool descriptions

    Runs on your computer; we can only read tool lists from internet endpoints

Compared with others in Search & AI memoryi

  • More stars than 0% of the other 7275 servers in this category
  • Published to the registry more recently than 92% of the other 7275 servers in this category
  • Basic checks equal to or better than 100% of the other 7275 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is driftnet safe?

It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

You need to fill in: DRIFTNET_LLM_API_KEY, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_BEARER_TOKEN_BEDROCK

Does it run on my computer or in the cloud?

It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).

Is it still maintained?

The GitHub repo last changed –, and the latest version (1.2.1) reached the registry 3 days ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.

What can I use instead?

In the same category: Context7, Codebase Memory, Exa

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Context7

by upstash

Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.

Computer or cloud★ 64,224MITUpdated yesterday
Install

Codebase Memory

by DeusData

Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.

Runs on your computer★ 48,148MITUpdated 21 days ago
Install

Exa

by exa-labs

Connect AI agents to Exa for web search, content fetching, and multi-step research.

Runs in the cloud★ 5,213MITUpdated last month
Install

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

English · 繁體中文

[▶ Try the demo](https://kevinchu1110.github.io/driftnet/demo/) · [Website](https://kevinchu1110.github.io/driftnet/) · [Chrome extension](https://chromewebstore.google.com/detail/driftnet/inmlinbodfopmanbllkkjcgheelacddm) · [Docs](#-docs)

🆕 1.2 is out: chat replies link each card with its own signature instead of the share key, LINE answers before its reply token expires, model and embedding endpoints go through the SSRF guard, and yt-dlp gets a cookies file and a stale-version warning. What's new · What stays stable

📖 What it is

Every day your feed carries great articles, open-source repos and tools past you. You paste them into a chat "for later", and like everything else in the current, they drift out of sight.

driftnet is the net you leave in that current. Drop links in a group chat (LINE, Slack, Discord, Telegram), click the Chrome button, import your old bookmarks or use the command line. driftnet catches each one, follows a post to the project it is really about, boils it down to a short summary in your language, and files it in your own folders, in a local catalogue with full-text search (Chinese included). Your agents haul in the same catalogue over MCP. It runs on your own computer and works with any model, or none.

🎥 See it work

1. A post becomes the tool. A Facebook reel with no links in it goes into the chat. driftnet reads the caption, finds both repos on GitHub by exact name, and files each as its own card. The chat gets one line; the summary is on the page.

you ▸ this week's AI roundup https://www.facebook.com/share/v/1DfVB2odi3/

bot ▸ 📌 This week in AI (3/11)|News + Paperclip, RealWonder https://driftnet.example/#item-1

From a real run. The post had no links: driftnet read the caption and found both repos on GitHub by name.

2. Know what it is at a glance. Before: a bare link in a chat. After: a card with pictures from the page, a one-line answer, what you'll see and why it's here, so you can tell in seconds whether to open it.

3. Sort with the mind map. New links the AI filed on its own wait in the Inbox with two or three suggested folders. Or drag a card onto a folder on the mind map, which branches out from the root like XMind.

✨ Core features

Catch the link
  • 🎯 Finds the actual tool. A post linking a repo becomes the repo; a post that only *names* projects gets them looked up on GitHub by exact name. Links a model makes up are thrown away.
  • 💬 Reads "link in the comments". The Chrome extension opens the comments; a weekly roundup becomes one item per project.
  • 📥 Many ways in. A Chrome button, Discord, Telegram, Slack or LINE bots, your agent, or one HTTP call (Ways in).
Understand and sort it
  • 🖼️ Cards you can read at a glance. Pictures, a one-line answer, what you'll see, why it's here.
  • 🗂️ Your folders are the categories. The AI files new links by each folder's path and description; its suggestions wait in the Inbox.
  • 🧠 Mind map and split view. Drag cards onto folders; ✨ AI tidy-up proposes a plan that changes nothing until you apply it (the web page).
  • 📱 A page you can search, on a phone too. Notes, undo and trash, keyboard shortcuts, read-only share links.
  • 🚫 Not a read-later app. Pocket and Raindrop keep the link you gave them. driftnet follows the post to the tool it is about, keeps a short outline instead of the whole page, and lets your agents read and write the same catalogue over MCP.
Cheap, safe and yours
  • 💸 Spends almost nothing. Repeat links are free and pages are cut to an outline of about 350 tokens before any model sees them. Five real Facebook reels were judged for $0.00029 in total.
  • ⚖️ Optional judge. Jev (needs a TypeSafe key) decides in ~100 ms what is worth summarising. Without it, your model sorts each link.
  • 🗳️ Learns what to ignore. 👎 a result and its publisher loses reputation; sources that keep getting voted down stop costing anything.
  • 🛡️ Safe by default. Private and local addresses are refused, and prompt injection is never passed on to agents.
  • 🤖 Agents use it too. MCP, /openapi.json, /llms.txt, /feed.xml and an outgoing webhook; or let them do the reading (Agents).
  • 🧩 Any model or none, and it stays yours. A free local model through Ollama, a Claude or Gemini subscription you already have, a paid API key (pennies), or no model (links are then saved and wait unsorted under "Other"). Local SQLite; English and Traditional Chinese throughout.

🚀 Quick start

Everything runs on your own computer: no server to rent, no account. Want a look first? [Try the demo](https://kevinchu1110.github.io/driftnet/demo/) runs the real page in your browser.

Easiest: let your AI agent install it

Copy this into Claude Code, Cursor, Codex or any agent that can run commands on your computer:

Read https://raw.githubusercontent.com/KevinChu1110/driftnet/main/docs/llms-install.txt and set up driftnet for me.

It checks Node.js, starts driftnet, connects itself over MCP and tells you when it is done.

Or run one command yourself

You need Node.js 22.13 or newer. Never used a terminal? Step by step for Mac and Windows. Then, in a terminal:

npx driftnet

Your browser opens http://localhost:8787: that is driftnet's page, served by your own computer (*localhost* means "this machine"; nobody else can see it). ⚙ Settings → AI: pick a provider and fill in its key and model. Or skip it: links are still saved and wait unsorted under "Other", and an AI agent can write the summaries (Agents). To connect the AI apps on this computer (Claude Code, Claude Desktop, Cursor, Windsurf, Codex) in one go: npx driftnet init.

Closing that terminal window stops driftnet. To have it start at login and run in the background instead (macOS, Linux, Windows), run once:

npx driftnet service install      # status: npx driftnet service status · undo: npx driftnet service uninstall

Your settings live in ~/.driftnet/.env and the catalogue in ~/.driftnet/driftnet.db.

Add your first link

Any of these works:

  • On the page: paste a link into the box and press Add.
  • In a terminal: npx driftnet add https://github.com/paperclipai/paperclip
  • From the browser: the Chrome extension sends the page you are looking at.
  • From a chat: paste a Discord, Telegram, Slack or LINE bot token in ⚙ Settings → Chats (how to get one) and drop links there.

A card shows up within 5–30 seconds: what it is, why it might matter to you, and where it was filed.

Other ways to run it: from source, Docker

From source, to hack on it or run it as a login service:

git clone https://github.com/KevinChu1110/driftnet && cd driftnet

pnpm install pnpm start # http://localhost:8787 pnpm service:install # optional: start at login (macOS / Linux)

With Docker:

docker build -t driftnet https://github.com/KevinChu1110/driftnet.git

docker run -d -p 127.0.0.1:8787:8787 -v driftnet:/data -e DRIFTNET_HOST=0.0.0.0 driftnet start

Without start, the container is the MCP server over stdio (docker run -i --rm -v driftnet:/data driftnet). DRIFTNET_HOME moves the settings and the catalogue somewhere else.

Not working?

  • Port 8787 is in use: another driftnet is probably running; open http://localhost:8787, or start this one with PORT=8788.
  • `driftnet needs Node 22.13 or newer`: install it with nvm install 22 or from nodejs.org.
  • Cards stay ⏳ with no summary: no model is set up yet. Choose one in ⚙ Settings → AI, or let your agent work the queue (Agents).
  • Opened from another computer and got `421`: without a password driftnet only answers on this machine. Set a password (DRIFTNET_TOKEN), or list the address in DRIFTNET_ALLOWED_HOSTS.
Which setup is yours?
You areStart withModel
Just me, on my computerThe Chrome extension and the web pageA local one through Ollama (see Models), or none
A group chatA Discord, Telegram, Slack or LINE bot, see Ways inAny
My agentsMCP, the Claude Code plugin or the agent queueNone needed: the agent does the reading

📚 Docs

Install for beginnersNever used a terminal: Mac and Windows, step by step
How driftnet handles a linkThe eight steps, reels and shorts, link health, search by meaning
Ways inChrome, Discord, Telegram, Slack, LINE, votes, the weekly digest
The web pageCards, folders, mind map, AI tidy-up, notes, sharing, shortcuts
Chrome extensionWhat it captures on Threads, X and Instagram, install
ModelsPicking a model (API, subscription, Ollama or none), judges, plugins
AgentsMCP tools, the Claude Code plugin, letting your agent do the reading
Command linedriftnet add, search, export, backup and the rest
SettingsEvery setting, backup and restore
Putting it onlineA password, a public URL, LINE webhooks
What stays stableWhat 1.x promises not to break: your data, settings, MCP tools, API, CLI
ContributingLayout, tests, releasing, extending

Where your data goes

[!IMPORTANT]

The catalogue stays on you

Only the beginning is shown; read the rest in the repo

Ask PopNx