Work/MCP
AI on real systems
In productionWhen I ask, it can read this month's books, budget, energy, and health readings.
MCP is the Model Context Protocol. It is an open standard from 2024. You write a small program for an app you already use. The model can call that program to look something up. I built those for FreeAgent, the household budget, Octopus, and the phone.
The model then has information on me: invoices, spend, the meter, last night's sleep. I can ask and get an answer from this month.
I ask what is overdue in FreeAgent, what went on food, whether I am in credit with Octopus, or how sleep looked this week, and it goes and looks.
On the company books it can also write an expense when I allow it. If the receipt is already there, it stops. I get an email of what it booked.
Examples
FreeAgent
Invoices, expenses, bank, profit and loss. It can book an expense from a receipt when I allow it. If that receipt is already in, it stops. I get an email of what it booked.
DT5 already runs on FreeAgent. I wanted to ask what is overdue, or drop a receipt in, from the live books.
HMRC sandbox
Self Assessment balance, income, National Insurance, tax calculations. Read only. No filing. No payments.
I wanted to see if a government API would take this. Sandbox only. I have not pointed it at anyone's live tax data.
Household budget
Spend against the budget in Actual. A dashboard I built. A morning email of what went out. Bank balances through open banking, read only.
I wanted to ask what went on food this week, or whether a category is already gone.
Apple Health
Steps, sleep, heart rate, workouts from the phone.
The readings are already on the phone.
Octopus Energy
Usage, unit rate, whether I am in credit, the next Direct Debit, and how another tariff compares. Read only. It does not switch me.
The meter and the account already have last month's numbers.
Why
The numbers already sat in FreeAgent, Actual, Octopus, and the phone. I built the connectors so the chat can read them when I ask.
What I built
- A connector per system, so the model can look things up when I ask.
- On FreeAgent, a write path for expenses, with a duplicate check and an email after.
- Reads on the household budget, Octopus, Apple Health, and an HMRC sandbox.
Stack
- TypeScript
- Cloudflare Workers
- OAuth 2.1
- Zod
- MCP