cfetch
Local-first AI agent memory and context engine for Claude Code, Codex, Gemini and MCP: cited Markdown recall, code search, hooks and cross-machine serving.
Install / Use
claude mcp add corbet-libs -- npx -y github:corbet-libs/cfetchIf the server publishes to npm under a different name, use that package instead — check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
Content & MediaSupported Platforms
Our assessment of cfetch
cfetch scores 74/100 on our quality scale, 94th of 204 Content & Media skills we index (top 47%).
Its MCP Server is 5.3 KB long, split into 7 sections with 3 code examples: a solid amount of guidance for an agent.
It has 3 GitHub stars, so there is little community track record yet; judge it on its content.
Maintenance, license and trust
- The repository was last updated today, so cfetch is actively maintained.
- No license is declared. By default that means all rights are reserved: you can read it, but reusing or redistributing it is not clearly permitted. Ask the author before building on it commercially.
- Its trust signals score 80/100, with 2 cautions from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
Safety scan
No issues foundOur scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands.
Automated pattern scan on 2026-09-24. It catches known dangerous patterns, not every risk — read a skill before letting an agent act on it.
cfetch compared with similar skills
All 4 of these similar skills score higher than cfetch; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| cfetch (this skill)by corbet-libs | 74 | 3 | today | MCP Server |
| Agent-Reachby Panniantong | 100 | 85.2k | 9d ago | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 73.7k | today | CLAUDE.md |
| rufloby ruvnet | 100 | 73.2k | today | CLAUDE.md |
| CowAgentby zhayujie | 100 | 47.1k | today | CLAUDE.md |
Frequently asked questions
- How do I install cfetch?
- Run
claude mcp add corbet-libs -- npx -y github:corbet-libs/cfetch. The install tabs above show the steps for each supported agent. - Which AI agents does cfetch work with?
- It is written for Claude Code, Claude Desktop, Gemini CLI and OpenAI Codex, as a MCP Server file. Other agents that read the same format can often use it too.
- Is cfetch safe to use?
- Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. It declares no license and scores 80/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is cfetch still maintained?
- The repository was last updated today, so cfetch is actively maintained.
Skill content
View source on GitHubcfetch
Local memory for agents: cited Markdown search, CPU vectors, Obsidian links, code navigation and ordinary Git synchronization. One Rust binary; your files remain the source of truth.
This is the current main architecture. Older releases and historical design
notes describe the removed remote-serving and peer-sharing system.
Installation
Use a native archive from Releases,
or nix run github:corbet-libs/cfetch (.#cfetch when building this checkout).
Linux, Apple Silicon and Windows CPU packages include the embedding engine.
Intel Mac packages currently provide lexical and graph retrieval: upstream
ONNX Runtime does not publish that target. Model weights remain a separate,
qualified input configured with embeddings.local_model; installation never
starts an accelerator or silently downloads a model.
Storage
agents/
├── knowledge/ # shared, human-readable repositories
│ ├── rules/ # ring 0: musts
│ ├── behaviours/ # ring 2: tools, skills, practices
│ └── <topic>/ # ring 3: independently shareable topics
├── mind/
│ ├── <selected-mind>/ # one Git repository per mind
│ │ ├── guidance/ # ring 1: shoulds
│ │ ├── identity/
│ │ ├── policy/
│ │ └── memories/ # ring 5: observations awaiting promotion
│ └── models/ # ignored model files
├── todo/ # ring 4: shared task repository
│ ├── backlog/
│ ├── active/
│ ├── blocked/
│ └── done/
├── logs/ # ring 6: local activity
├── scratch/ # disposable working files
└── projects/ # code checkouts
CFETCH_BRAIN selects the root; CFETCH_MIND selects the mind independently
of the hostname. The default mind is the hostname. CFETCH_STATE_DIR selects
the local derived index and daemon state. Model files, secrets, other minds,
scratch and logs stay outside knowledge retrieval.
Nested repositories are ordinary independent checkouts. Their parent ignores them; cfetch still indexes their visible Markdown. Repository access controls what can be shared. cfetch reads a filesystem and does not manage its mounts.
Use
cfetch init
cfetch recall "deployment decision"
cfetch recall "deployment decision" --hybrid
cfetch recall --id r3-<citation>
cfetch recall "deployment decision" --fresh
cfetch graph --focus "deployment"
cfetch graph-path "Deployment" "Backups" --depth 6
cfetch find SymbolName
cfetch code-graph path path/to/source.rs path/to/dependency.rs
cfetch repos ~/agents/knowledge ~/agents/todo --sync
cfetch memories list
cfetch daemon run
cfetch mcp
Recall combines lexical and semantic candidates with citations. Vector coverage and fallback are reported. The graph follows actual Markdown links/backlinks; missing and ambiguous notes remain explicit. Code dependency edges carry source evidence. Graph traversal is bounded, never an LLM-generated claim.
The daemon keeps indexes warm and fingerprints source files before answering.
Edits, deletions and Git updates invalidate derived content. Markdown remains
authoritative. status reads cached health; doctor explains configuration.
Local vectors
Build with --features embedded-embeddings. Set embeddings.local_model to a
qualified offline EmbeddingGemma pack. The pack binds graph, weights, tokenizer
and pipeline by content digest. cfetch qualify-model PACK REFERENCES checks
short/long canonical vectors and semantic ordering before enabling it. Model
preparation lives in scripts/prepare-local-model.py and runs on a build worker.
Ordinary recall, citation expansion and MCP memory queries return a committed cached snapshot with its generation and an explicit freshness note, and request one coalesced background refresh. recall --fresh (MCP freshness: "strict") waits at most five seconds for a background scan begun after the request; it returns a freshness error if that proof is unavailable. When the daemon is unavailable, memory queries return a bounded error instead of scanning the source tree. Semantic ranking has its own bounded inference wait.
No model is downloaded during recall. Inputs exceeding the model's context are reported as uncovered, never silently truncated.
{
"resident": [],
"embeddings": {
"enabled": true,
"local_model": "/path/to/qualified/model-pack"
},
"git": {
"enabled": true,
"roots": ["/path/to/agents/knowledge", "/path/to/agents/todo"],
"interval_secs": 60
}
}
Configuration belongs in the machine's cfetch config, outside shared Markdown. Model packs are immutable inputs; indexes and vector caches are derived. Remote inference endpoints are refused. Optional model services must use loopback.
Git behavior
Sync discovers nested repositories and serializes operations using a lock in Git's common directory. It fetches and integrates committed history, then pushes. Dirty worktrees, conflicting histories and repositories without an upstream are reported individually. It never stashes, resets, force-pushes or silently commits arbitrary edits. Commit intended changes explicitly; the next sync publishes them. No Git LFS service or hosted memory account is required.
License
See LICENSE.md and third-party notices.
Related Skills
Agent-Reach
85.2kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
headroom
73.7kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
ruflo
73.2k🌊 The original agent harness. Deploy intelligent multi-player swarms, coordinate autonomous workflows, and build conversational AI systems. Features adaptive memory, self-learning intelligence, federation, vector RAG integration, and native Claude Code / Codex / Hermes and many more Integrated
CowAgent
47.1kOpen-source super AI assistant & Agent Harness. Plans tasks, runs tools and skills, self-evolves with memory and knowledge. Multi-agent, multi-model, multi-channel. Lightweight, extensible, one-line install.
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
