squatch-harbor-mcp
by squatch-c-c
README.md
# squatch-harbor-mcp
Search your **own past Claude sessions**, locally. Indexes `~/.claude/projects/*.jsonl` into a
local **SQLite FTS5** file and searches it — *"when did I set up auth?"*, *"how did we solve X?"*.
**No cloud, nothing leaves your machine.** Stdlib only (no numpy). An [MCP](https://modelcontextprotocol.io)
server, so it works in Claude Desktop (Chat) and Claude Code.
## Run it (zero install — `uvx` fetches + runs)
```bash
uvx --from git+https://github.com/squatch-c-c/squatch-harbor-mcp squatch-harbor-mcp
```
Requires [`uv`](https://docs.astral.sh/uv/) (`curl -LsSf https://astral.sh/uv/install.sh | sh`).
## Add to Claude Desktop
`~/Library/Application Support/Claude/claude_desktop_config.json`:
```json
{
"mcpServers": {
"harbor": { "command": "uvx", "args": ["--from", "git+https://github.com/squatch-c-c/squatch-harbor-mcp", "squatch-harbor-mcp"] }
}
}
```
Restart Claude, then: *"ingest my harbor, then search it for when I set up the egress guard."*
## Tools
| Tool | What it does |
|---|---|
| `harbor_ingest(sessions_dir?, rebuild?)` | Index your sessions (incremental; run first). |
| `harbor_search(query, k=8)` | Top matches — session, date, role, snippet. |
| `harbor_stats()` | Index size + date range. |
Local-only. Index lives at `~/.harbor/harbor-mcp.db`. Part of the [Squatch](https://squatch.cc) system.
TDQS
A4.2/5.0
Scored across 3 tools
Disambiguation5/5
Each tool serves a unique purpose: ingest indexes files, search queries the index, and stats reports index metadata. No functional overlap.
Naming Consistency5/5
All tools follow a consistent 'harbor_verb' pattern (harbor_ingest, harbor_search, harbor_stats), using snake_case and clear verbs.
Tool Count5/5
With 3 tools, the set is minimal but perfectly scoped for the domain: index creation, querying, and status checking. No unnecessary tools.
Completeness4/5
The tool surface covers the full lifecycle: ingest (create/update), search (read), and stats (monitor). A tool to delete or clear the index is not provided but can be achieved via rebuild flag, so minor gap.
Maintenance
ActivityMaintained
ResponsivenessSyncing