Turn any codebase into
clean, AI-ready Markdown.

Point IngestMD at a folder and get tidy Markdown bundles for NotebookLM, ChatGPT, and Claude. One file per folder. Secrets redacted. Junk skipped. Token counts shown.

Free · Open download · 100% local · No telemetry

IngestMD app — Configure tab

The annoying part

NotebookLM gives you a limited number of sources. Uploading a repo file-by-file wastes all of them.

Feeding a project to an AI tool means flattening the tree, skipping binaries and dependencies, watching for leaked keys, and staying under a token budget. IngestMD does all of that in one click, so a whole folder becomes a handful of clean files you can drop straight in.

What it does

Everything you'd otherwise do by hand

One file per folder

Every source file embedded verbatim in fenced code blocks. Large subtrees split into parts. No more dragging files in one by one.

Secrets redacted

API keys, tokens, and private keys are scrubbed before anything is written, so you never paste a credential into a chat.

Skips the junk

Binaries, node_modules, build output, and anything in your .gitignore stay out. Add your own exclude patterns too.

Token counts

Every bundle shows an approximate token count, so you know the context cost before you load it into a model.

100% local

No uploads, no account, no telemetry, no API key. Everything runs on your machine, offline.

MCP server included

Expose any local repo to MCP-capable AI clients as live context, with the same scanning and redaction as the app.

A real desktop app

Built with Tauri + Rust. Fast, native, tiny.

Tune grouping, secret redaction, .gitignore, and custom excludes.
Tune grouping, secret redaction, .gitignore, and custom excludes.
Live progress with a per-run summary and token estimate.
Live progress with a per-run summary and token estimate.
Preview, open, copy, or zip the generated bundles.
Preview, open, copy, or zip the generated bundles.
Preview any bundle in-app, secrets scrubbed live.
Preview any bundle in-app, secrets scrubbed live.

How it works

Four steps, about ten seconds

  1. 01

    Pick a folder

    Choose a source project, and optionally a separate output folder.

  2. 02

    Tune (optional)

    Toggle redaction and .gitignore, set grouping, add exclude globs.

  3. 03

    Bundle

    One click. IngestMD scans once and writes clean Markdown.

  4. 04

    Drop into your AI tool

    Load the .md files into NotebookLM, ChatGPT, or Claude.

For AI clients

An MCP server, built in

IngestMD ships an MCP server that exposes a bundle tool over stdio. Point a client like Claude Desktop at it and load any local repo as live context on demand, with the same scanning and secret redaction as the app.

{
  "mcpServers": {
    "ingestmd": {
      "command": "/path/to/ingestmd-mcp"
    }
  }
}

Get it

Download IngestMD

Free and open to download. Early builds are unsigned: on macOS, right-click the app then choose Open; on Windows, click "More info" then "Run anyway". All releases »