A personal Homebrew tap for Eric Mann's tools. Small, sharp, local-first.
| Cask | What it pours |
|---|---|
journal |
A local-first developer journal — local semantic search over your notes, plus AI synthesis via cloud Claude or a fully local model, your choice. |
float-mcp |
A local stdio MCP server for Float time tracking — review and log your hours from Claude instead of the GUI. Your Float API token lives in the server config and never enters the model's context. |
brew install ericmann/tap/journalThat's shorthand for brew tap ericmann/tap && brew install journal. From then on, brew upgrade keeps it current.
journal does its embedding and search locally via Ollama — nothing leaves your machine:
brew install ollama
ollama pull qwen3-embedding:4b
journal doctor # tells you if anything's missingSynthesis (journal synth) is optional and runs two ways: cloud Claude (Sonnet by default — set ANTHROPIC_API_KEY) or a fully local Ollama model (synth_provider: ollama — no key, zero egress). The full story lives in the journal docs.
A local stdio MCP server that exposes Float time tracking — reviewing and logging time — as Model Context Protocol tools, so you can work your hours from Claude instead of the Float GUI.
brew install ericmann/tap/float-mcpThen give it a Float API token and register it with your MCP client:
# Create a token in Float → Team Settings → Integrations (needs account-owner),
# then provide it via the FLOAT_API_TOKEN env var or ~/.config/float/config.json
float-mcp doctor # verify your setup
claude mcp add float --env FLOAT_API_TOKEN=... -- float-mcp mcpThe token is held entirely in the server config — it never enters the model's context, and is never logged or returned in tool output.
- Casks here are built and published automatically by GoReleaser on each tagged release — please don't hand-edit
Casks/*.rb; they'll be overwritten. - macOS binaries are ad-hoc signed, not Apple-notarized. The cask strips the quarantine flag on install, so the first run isn't blocked by Gatekeeper.