carrel
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@carrelsearch my documents for 'invoice'"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
carrel desk — browse the tree, inspect a file, run an action, search the index.
carrel pack src --stats — the token table, before you spend a context window on it.
carrel redact — true raster redaction of a PDF, and the proof: grep exits 1.
A carrel is a private study desk in a library: your materials close at hand, organized your way. carrel is that desk for your local files — pdf, md, images, html, json, xml, csv — with 24 commands to convert, OCR, inspect, diff, index, search, pack, watch, and more. And it treats AI agents as first-class users of the desk: every data-producing command speaks --json with stable exit codes, carrel pack turns file trees into LLM-ready context, and the repo doubles as a Claude Code plugin marketplace whose plugins drive the same CLI.
What can it do
Domain | Command | What it does |
Convert & transform |
| Any-to-any conversion across pdf, md, html, txt, png/jpg/ico, json, xml, csv |
| Images and scanned PDFs → text, markdown, or a searchable PDF | |
| PDF merge/split/rotate/extract-pages, image resize/rotate/crop, text find-replace, json set/del | |
| Pull embedded images out of pdf, ico, and html | |
| Narrate txt/md/pdf into mp3/ogg, chapters from markdown headings | |
Inspect & prove |
| Metadata + per-type structure summary: sha256, pages, EXIF, json shape, csv dialect… |
| Unified text diffs, structural json/csv diffs, pdf text diffs, image pixel diffs | |
| Thumbnails for pdfs, images, and html | |
| Soft-proof against an ICC profile, with a ΔE summary | |
| Dominant palette extraction, ICC conversion, contrast checks | |
The desk index |
| SQLite FTS5 index of everything under a root ( |
| bm25-ranked full-text search with type and tag filters | |
| Tag files; find by tag | |
| Sidecar notes on any file; real text annotations on PDFs | |
Agents & context |
| Bundle files/trees into one LLM-ready document — md/xml/json, include/exclude globs, |
| Serve search/pack/inspect as an MCP server on stdio | |
Housekeeping |
| Sort a folder by type/date/EXIF date — dry-run by default |
| Exact (BLAKE2) and near (perceptual hash) duplicate detection | |
| Watch a folder and run shell actions on file events | |
| Pattern/PII redaction for text formats; true raster redaction for PDFs | |
| Visible PDF stamps, sha256 manifests, gpg-backed verify | |
| Build html/pdf forms from JSON specs; list and fill AcroForm PDFs | |
The desk itself |
| The flagship TUI — see below |
| What your environment enables today, with install hints for the rest |
carrel wraps the masters — pandoc, poppler, qpdf, tesseract/ocrmypdf, ImageMagick, exiftool, ffmpeg… — behind one adapter layer with capability detection. Missing binary? Commands degrade with an install hint (exit 3), never a crash.
Related MCP server: local-mcp
Quickstart
Requires Python ≥ 3.12 and uv. No checkout needed:
uv tool install git+https://github.com/FirstCastSolutions423/carrel # puts `carrel` on your PATH
carrel doctor # what can your desk do today? (+ apt hints for the rest)(Contributing or hacking on it? uv tool install . from a checkout does the same thing.)
A first taste:
carrel inspect paper.pdf # pages, sha256, producer, form fields…
carrel index . && carrel search "marginal notes" # FTS5 over your whole desk
carrel pack src/ --format xml -o context.xml --stats # LLM-ready context + token tableAdd --json to any of these and you get machine-readable output on stable exit codes — that's the whole agent contract.
The marketplace
This repo is also a Claude Code plugin marketplace: five plugins whose slash commands, agents, skills, and hooks all delegate to the CLI above.
claude plugin marketplace add FirstCastSolutions423/carrel
claude plugin install carrel-inspect@carrelPlugin | Gives Claude |
|
|
|
|
|
|
|
|
| A file-librarian agent, the carrel MCP server, and a hook that re-indexes files Claude writes |
Install the CLI first (see Quickstart) so the plugins can call it. Works headless too:
claude -p "/carrel-inspect:inspect text+image.pdf" --allowedTools "Bash(carrel:*)"The full validated flow (with real output) is in docs/TEST_REPORT.md.
The desk TUI
carrel deskThe flagship: a three-pane Textual desk. A file tree on the left, an inspector in the middle (metadata, preview, tags, notes), an action palette on the right (convert, ocr, pack, thumbnail…) — all driving the same core library as the CLI, with full-text search along the bottom. Theme: warm lamplight on dark wood, per docs/BRAND.md.
Learn more
The docs site — everything below, browsable
docs/HOW_THIS_WAS_BUILT.md — the autonomous single-day build, from the primary sources
docs/VISION.md — why a library desk, and the product principles
docs/ARCHITECTURE.md — the adapter layer, the index, the plugin design
docs/FEATURES.md — the capability × strategy matrix
docs/TEST_REPORT.md — everything above, executed for real (501 tests, 7 cookbook runs)
examples/cookbook/ — nine end-to-end recipes, from scan→searchable-notes to markdown→audiobook
docs/BRAND.md — palette, typography, logo usage, voice
License
MIT © Colton Bearden
This server cannot be installed
Maintenance
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/FirstCastSolutions423/carrel'
If you have feedback or need assistance with the MCP directory API, please join our Discord server