Your personal knowledge collector for X

Makes browsing X worth your time, and your agent's time.

by @KomalBoyo
Get Started

Choose how you want to use Niffler

1

Sign up — it's free

Create your account, install the Chrome extension, start saving tweets. AI auto-categorizes, 3D graph visualizes. Zero setup.

Create Account
2

Self-host (open source)

Clone the repo, run locally. Full control, your data stays on your machine. For developers who want to own everything.

See setup ↓
3

Connect your AI agent

Give Claude Code access to your brain (or the public one) via MCP. One config line — your agent gets a knowledge base.

See setup ↓
How it works

Three steps to a knowledge graph

1

Save a tweet

Click the Niffler button on X, paste a URL in the app, or use /niffler add in Claude Code.

2

AI categorizes it

Your LLM (Gemini, OpenAI, Ollama — your choice) assigns a category and tags automatically. Or tag manually.

3

Explore the graph

Posts cluster by topic in a 3D force graph. Search, filter by category, click nodes to read the full content.

Path 1 — Recommended

Sign up and start collecting

1

Create your account

Free. Takes 10 seconds. You get your own personal brain + an API token for Claude Code.

2

Install the extension

Download, load in Chrome. Every tweet on X gets a Niffler save button. Add tags before saving.

3

Explore your graph

Watch your 3D knowledge graph grow as you save tweets. Search, filter, click to read full threads.

Create Free Account Browse public brain first
Path 2 — Open Source

Build your own brain

Self-host Niffler and start saving tweets. 4 ways to add posts:

# Clone and install git clone https://github.com/komalboyo/niffler.git cd niffler && npm install npx playwright install chromium   # Start Niffler npm start # Open http://localhost:3333   # Add tweets from the terminal npx tsx src/cli.ts add https://x.com/... #AI #tools

Configure your LLM in .env for auto-categorization (OpenAI, Gemini, Grok, Groq, Anthropic, or Ollama). No LLM needed — you can tag manually too.

# 1. Download the extension niffler-extension.zip   # 2. Unzip, then open chrome://extensions # 3. Enable Developer mode → Load unpacked → select folder # 4. Go to X — every tweet has a Niffler button

Requires the Niffler server running locally. Set up via the Self-host Setup tab first.

# Open the niffler project in Claude Code # It auto-discovers the MCP server from .mcp.json   /niffler add https://x.com/karpathy/status/123 #AI /niffler search transformer architecture /niffler ask what are the best RAG tools? /niffler tags /niffler stats

8 MCP tools for full read/write access to your personal brain. Works with any MCP-compatible AI client.

Path 3

Connect your AI agent to the public brain

Add one config line and your Claude Code agent can search, browse, and ask questions against a curated collection of AI/tech tweets.

1

Add MCP config

Add to your global ~/.claude/.mcp.json (works in all projects):

{ "mcpServers": { "niffler-public": { "type": "sse", "url": "https://goniffler.com/mcp/sse" } } }
2

Download the skill

Save niffler-public.md to ~/.claude/commands/ (global — works in all projects).

3

Use it

/niffler-public search RAG tools /niffler-public tags /niffler-public ask best open source LLM tools?

Features

What makes Niffler different

🌐

3D / 2D Force Graph

Obsidian-style visualization with bouncy physics. Drag, zoom, rotate. Toggle between views.

🧩

Chrome Extension

One-click save on every tweet. Tag before saving. Shows "In brain" on saved tweets.

🤖

LLM-Agnostic AI

OpenAI, Anthropic, Gemini, Grok, Groq, or Ollama. Auto-categorizes and tags every tweet.

🔍

Full-Text Search

SQLite FTS5 powers instant search. Results appear as you type.

💻

MCP for AI Agents

8 tools for Claude Code. Search, add, and query your collection from the terminal.

🔒

Fully Local & Open Source

Your data stays on your machine. MIT licensed. Self-host or connect to the public brain.

FAQ

Common questions

Niffler is a personal knowledge graph for X/Twitter. You save tweets you find interesting, and it auto-categorizes them with AI, stores the full content (including threads and media), and lets you explore connections in an interactive 3D graph. Think of it as a second brain for everything you read on X.

No. Niffler uses Playwright (a headless browser) to scrape tweets, just like a regular browser visit. For full content including threads and media, you set up your browser cookies once. No API keys, no paid X tier needed.

Completely free and open source (MIT license). The only optional cost is the LLM API for auto-categorization — which is essentially free. Categorizing 1,000 tweets costs about $0.04 with GPT-4o-mini, or $0 with Gemini/Groq free tiers or a local model like Ollama.

No. The LLM is only used for auto-categorization (assigning a category and tags to saved tweets). Without it, Niffler works perfectly — you just tag posts manually. If you do want auto-categorization, any OpenAI-compatible provider works: OpenAI, Gemini, Grok, Groq, Anthropic, or Ollama (fully local, free).

Everything is stored locally on your machine in a single SQLite database file (data/xbrain.db). No cloud, no third-party services, no data leaving your computer. You own your data completely.

It adds a small "Niffler" button to every tweet in your X feed. Click it, and the tweet gets saved to your local collection — full content, thread, and media. It shows "Saved" on tweets already in your collection. Requires the Niffler server running locally (npm start).

Niffler includes an MCP (Model Context Protocol) server with 8 tools that Claude Code can use. This means your AI coding assistant can search your saved tweets, add new ones, and answer questions based on your collection — all from the terminal. Use /niffler as a slash command in Claude Code.

Absolutely. Claude Code integration is optional. You can use Niffler entirely through the web UI (localhost:3333), the Chrome extension, or the CLI. The MCP server is just a bonus for people who use Claude Code or other MCP-compatible AI tools.

Yes. When you save a tweet that's part of a thread, Niffler captures all follow-up tweets from the same author. It also captures images, videos, the tweet date, and the author's display name — not just the text.

Each saved tweet becomes a node in a force-directed graph, colored by category (AI, tools, open-source, etc.). Tags act as hub nodes — tweets sharing the same tag naturally cluster together. You can drag, zoom, rotate in 3D, click nodes to read the full content, and toggle between 3D and 2D views.