Skip to main content
Glama

AI Knowledge Feeds: a self-updating AI knowledge base + MCP server for Claude Code

Pulls official Anthropic docs, Claude Code / Codex changelogs and (optionally) creator videos into a local, searchable knowledge base. Claude writes distilled notes, SQLite FTS indexes everything, and an MCP server exposes it to Claude Code. Official sources are marked canonical, creator content practice, so tools can prefer docs on conflicts and flag stale practice advice.

Why: a coding agent works better with the right two pointers than with a dumped context. This repo keeps the sources fresh and cheap to query; the companion repo claude-code-toolkit holds the per-prompt router hook.

Architecture

sources.yaml
 (docs, changelogs, GitHub, YouTube, local .md)
        |
        v
  daily sync (systemd timer, throttled, retry backoff)
        |
        v
  transcripts + notes distilled by Claude (headless `claude -p`)
        |
        v
  data/ (Markdown, git-friendly) --> index/ (SQLite FTS + generated pages)
        |
        v
  MCP server `kb-mcp`
   kb_search / kb_get / kb_whats_new / kb_status / kb_topics
        |
        v
  per-prompt router hook (UserPromptSubmit) --> claude-code-toolkit
        |
        v
  weekly promotion --> Markdown vault (git branch, you merge)

Related MCP server: ai-lab

Features

  • Authority model: canonical (official docs, changelogs) beats practice (creators); results carry both.

  • Fetch retry backoff for failed items: 1 h / 6 h / 24 h / 48 h, state saved per item, so interrupted runs resume.

  • Proxy health check before YouTube fetches (KB_PROXY env var or proxy: per source); a down proxy skips the run without burning attempts.

  • kb doctor: one-screen health check (proxy, pending/backoff queue, failures, systemd timers).

  • Throttling and capped systemd units (Nice, CPU/memory limits) for shared machines.

  • Fragment retrieval: search returns chunks, kb_get returns only the section or timestamp you ask for.

  • Weekly promotion: kb vault-candidates lists new items against the page names of a Markdown vault, and ops/kb_promote.py proposes additions as a git branch (never main); you review and merge.

  • Local Markdown import (local_md, generic_md importer) for private notes that stay out of git.

Quick start

Requirements: Python 3.11+, uv, git. LLM note generation needs the claude CLI on PATH; set KB_NO_LLM=1 to skip it. GitHub sources use gh.

git clone https://github.com/mariochasco78557/ai-knowledge-feeds
cd ai-knowledge-feeds
uv sync
cp sources.example.yaml sources.yaml
uv run kb sync
uv run kb search "prompt caching"
uv run kb status
uv run kb doctor

Data lives in ./data, ./index, ./state (all git-ignored). Set AI_KB_ROOT=/some/dir to move them (a sources.yaml inside that directory is picked up too).

Run the tests with uv run pytest -q (offline, no data needed).

MCP server for Claude Code

Add to your project's .mcp.json (or run claude mcp add --scope user ai-kb -- uv run --directory /path/to/ai-knowledge-feeds kb-mcp):

{
  "mcpServers": {
    "ai-kb": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/ai-knowledge-feeds", "kb-mcp"],
      "env": { "AI_KB_ROOT": "/path/to/ai-knowledge-feeds" }
    }
  }
}

Tools: kb_search, kb_get, kb_whats_new, kb_status, kb_topics. Protocol: search first, then fetch only the fragment you need.

Scheduling (systemd user timers)

bash ops/install.sh        # review it first; it writes units to ~/.config/systemd/user

Unit

When

Does

kb-sync.timer

daily

kb sync (docs, GitHub, new videos)

kb-trickle-weekday/weekend.timer

frequent, daytime

processes a few queued videos (--pending-only)

kb-promote.timer

weekly (opt-in)

ops/kb_promote.py, needs KB_VAULT (a git repo of your vault)

Units assume uv in ~/.local/bin and are capped (Nice 19, CPUQuota 50%, MemoryMax 1400M). Pass environment (KB_PROXY, KB_VAULT, KB_GIT_NAME, ...) with systemctl --user edit <unit>.

Numbers (from the author's own deployment)

  • 31 sources: official docs, changelogs, GitHub releases and creator channels.

  • Per-prompt hook: about 0.25 s and at most 1200 characters injected.

  • Router precision on a fixed test set: 0.70 first hit, 0.80 within the top 2, no false positives on short prompts.

What broke and how it was fixed

Details in docs/AI_Knowledge_Base_case_study.pdf.

  • YouTube blocked the server IP: added a proxy health check, retry backoff (1 h / 6 h / 24 h / 48 h) and kb doctor.

  • Low router precision: added synonyms, ES/EN stemming, IDF weights and top-2 results, measured against a fixed test set.

  • A Mac with Python 3.9 could not run the hook: made the hook code compatible with older Python so one set of hooks runs on both machines.

Screenshots

Real outputs (sanitized); more in docs/sample_outputs.md.

Router hook dry run Status line CLI search

Configuration reference

Variable

Purpose

AI_KB_ROOT

Where data/, index/, state/ live (default: repo root)

KB_PROXY

SOCKS5/HTTP proxy for YouTube requests

KB_NO_LLM

Skip Claude note generation

KB_CLAUDE_BIN

Path of the claude CLI

KB_THROTTLE_*

Override throttle: settings from sources.yaml

KB_VAULT, KB_VAULT_WIKI

Vault repo and wiki directory for the weekly promotion

License

MIT, see LICENSE.

Author: Mario Chasco, flowaraai.com, youtube.com/@mariochasco_AI

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables Claude Code to search and retrieve from a local knowledge base of markdown notes using hybrid semantic+keyword search, keeping data entirely offline.
    18 npm
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Connects Claude Code to a local GraphRAG knowledge base (LightRAG + Ollama) for private, offline document retrieval. Provides tools to search, add documents, and check the RAG status, enabling Claude to reason over user's own notes, code, and papers without cloud dependencies.
    1
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables natural language interaction with a personal knowledge base stored locally on your computer, supporting semantic search, note reading, and writing through Claude Code or mobile apps.
    13
    MIT