freeagent-cloudflare-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@freeagent-cloudflare-mcplist open invoices"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
FreeAgent → Claude Connector
A remote, serverless MCP connector that gives Claude access to a FreeAgent company — running entirely on a Cloudflare Worker, with nothing on your own machine. Built for the Williams of Hay rentals (properties are modelled as FreeAgent projects), but generic to any FreeAgent company.
Connect it once in claude.ai (web, desktop, phone) or Claude Code and it follows you everywhere: "which bank transactions are unexplained?", "list open invoices for 1 Lion Street", "explain that £120 payment as Repairs".
Design
Follows the Monzo → Claude connector pattern:
@cloudflare/workers-oauth-providerfront door — the Worker is a full OAuth server that Claude speaks to; grants live in anOAUTH_KVnamespace.Upstream bridge —
/authorizeredirects to FreeAgent's approval page,/callbackexchanges the code (Basic-auth token endpoint) and completes the grant.TokenStoreDurable Object — the single authority for the FreeAgent token chain: all refreshes serialise through it, and a 6-hourly cron keeps the chain warm.Owner lock — the first FreeAgent identity to authorize owns the deployment, permanently. Anyone else is rejected before a grant exists.
Secrets (
FREEAGENT_CLIENT_ID/SECRET,COOKIE_ENCRYPTION_KEY) are Wrangler secrets — never in this repo.
Related MCP server: Purroxy
Writes: journalled and undoable
Instead of a human-approval gate, safety comes from reversibility:
Guard | How |
Whitelist | Only |
No delete tool | Deletion only happens by undoing a journalled create |
Before-images |
|
Undo |
|
Audit trail |
|
Drafts only | Invoices are created as drafts — the connector cannot send/email anything |
Confirm flag | Every write tool requires |
Tools
Read: get_company, list_contacts, list_projects (= properties),
list_invoices, list_bills, list_bank_accounts, list_bank_transactions,
list_bank_transaction_explanations, list_categories, get_resource,
connection_status.
Write: create_record, update_record, list_changes, undo_change.
Deploy
You need a (free) Cloudflare account and a FreeAgent dev app (dev.freeagent.com — note the OAuth identifier + secret).
npm install
./setup.sh # creates the KV namespace, prompts for secrets, deploysThen:
At dev.freeagent.com, add the Worker's callback as a Redirect URI:
https://<your-worker>.workers.dev/callback(keephttp://localhost:3000/callbacktoo if the local Python pipeline still uses it).claude.ai → Settings → Connectors → Add custom connector →
https://<your-worker>.workers.dev/mcp— approve the FreeAgent login when bounced.Claude Code:
claude mcp add --transport http freeagent https://<your-worker>.workers.dev/mcp
Sandbox first? Set FREEAGENT_API_BASE=https://api.sandbox.freeagent.com as a
Wrangler var and authorize with a sandbox account.
Ops
# token freshness + journal size (COOKIE_ENCRYPTION_KEY as bearer)
curl -s -H "Authorization: Bearer $KEY" https://<worker>/admin/status
# force a keep-alive tick
curl -s -X POST -H "Authorization: Bearer $KEY" https://<worker>/admin/cronThis server cannot be deployed
Maintenance
Related MCP Connectors
Connect Claude or Cursor to books, invoices, bills, payroll, and sealed closes.
Connect Xero to AI agents with secure read or write access across multiple organisations.
Connect QuickBooks Online to AI agents with secure read or write access across multiple companies.
- platform7nOAuthtech.p7n
Connect Claude to your Platform7n workspaces — chat, links, and tasks. One-click OAuth.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables Claude to interact with freee accounting software through OAuth 2.0 authentication, supporting operations like transaction creation, account management, receipt uploads, and financial statement retrieval.MIT
- Apache 2.0
- AlicenseAqualityAmaintenanceEnables Claude to manage FreeAgent accounting tasks such as listing bank transactions, explaining and approving them with receipts, creating expenses, and logging mileage.2845 npm1MIT
- AlicenseAqualityCmaintenanceEnables Claude to interact with a Folio business bank account for managing accounts, transactions, receipts, bookkeeping, and payments as drafts.143 npm6MIT