Skip to main content
Glama
squatch-c-c

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