It’s been a few months since Part 2 of this series, where I described an MCP server proxying reads over SSH to a VPS. Since then the client knowledge base has gone cloud-only, picked up a chatbot, automatic weekly summaries, a mobile app, and a handful of other upgrades worth writing down.
What “cloud-only” actually means
Every client directory on my laptop used to be a full git clone, synced by cron: emails, meeting notes, contracts, weekly summaries, all of it. Now the laptop holds almost nothing. Each client folder has a short note telling the agent where the real data lives, plus a symlink to the client’s codebase if one exists.
A hook backs that up: if Claude Code tries to read a client’s files directly off the laptop, it gets blocked and pointed at the right tool instead. The VPS is now the only copy that matters.
Writing without a local checkout
The obvious question: if nothing lives on the laptop, how do writes get to git safely? Every write, whether it comes from the agent or from me editing a file by hand directly on the server, goes through a pipeline that checks the path is allowed, stages the change, and commits it on a short cycle. Nothing skips that path.
The tool surface grew to match: reads, writes, uploads, deletes, even onboarding a new client, all through the same interface. That’s more than twenty distinct operations now, well past what a read-only SSH wrapper would ever need.
What shipped after the cutover
The cloud-only move wasn’t the end of it. Over the following ten weeks:
- Chatbot A chat screen went into the dashboard: a live conversation grounded in the KB, read-only, so a chat session can’t edit anything.
- Weekly Summaries Automatic weekly summaries landed in Slack and Email for every client, pulling in project and time-tracking data on their own, with a digest that flags a week where every client shows zero hours instead of quietly reporting it as normal.
- Mobile App, Better UI The dashboard turned into a real internal tool: a mobile app, a settings screen, a way to manage clients directly, file search.
- All Settings Exposed No more code deployments when I need the chat prompt or sync-and-enrich pipeline prompts updated: prompts and model selections are exposed in the UI.
Dozens of client and internal KBs run through this now, all reached the same way regardless of whether I’m on the laptop, the phone, or a fresh machine that has never touched the VPS.
What it actually takes
None of this needed exotic infrastructure. A place for the data to live, a tool that reads and writes to it safely, and one rule enforced everywhere: nothing gets read from anywhere else. Most businesses already have the data.
What’s usually missing is the rule, and something willing to enforce it every time, not just when someone remembers to.








