Freeagent MCP Server

FreeAgent accounting MCP: bank reconciliation, expenses, mileage claims and receipts.

Local serverstdioTypeScript

What is the Freeagent MCP server?

Freeagent MCP server is a locally run integration for AI assistants that speak the Model Context Protocol. FreeAgent accounting MCP: bank reconciliation, expenses, mileage claims and receipts.

What you get

The FreeAgent OAuth credentials grant full access to the connected FreeAgent account. This server uses that access to:

What the assistant can call

Once Freeagent is connected, these are the calls the assistant has available:

  • freeagent_list_bank_accounts — List all bank accounts and their IDs
  • freeagent_list_transactions — List transactions (unexplained / explained / all / marked_for_review) with date filters
  • freeagent_explain_transaction — Update, approve or attach a receipt to a transaction explanation
  • freeagent_list_categories — List the FreeAgent chart of accounts (expense categories)
  • freeagent_create_expense — Create an expense claim with optional receipt attachment and bank-transaction auto-matching
  • freeagent_create_mileage_expense — Create a mileage expense using HMRC rates, with optional distance auto-calculation
  • FreeAgent — The FreeAgent OAuth credentials grant full access to the connected FreeAgent account. This server uses that access to:
  • Required — The Required tool exposed by this server
  • Optional — The Optional tool exposed by this server

Configuration and credentials

You will need 8 environment variables: NETFLIX, FREEAGENT_CLIENT_ID, FREEAGENT_CLIENT_SECRET, FREEAGENT_REFRESH_TOKEN, MILEAGE_CATEGORY_URL, ORS_API_KEY, GOOGLE_MAPS_API_KEY, AUTH_TOKEN. The server will not start without them, which is usually why the tools fail to appear on a first run. Keep credentials in your client's env block or a secrets manager rather than in a file you might commit.

Setting it up

@oxygenbubbles/freeagent-mcp-server on npm is all you need. Most clients run it directly, so configuration is a few lines and a restart.

Choosing this one

Among the developer tooling options, the useful question is rarely "what can it do" but "what does it cost you to run" — permissions, credentials, and how much of your context its toolset consumes. Freeagent's toolset — freeagent_list_bank_accounts, freeagent_list_transactions, freeagent_explain_transaction and 6 more — is a fair guide to whether it matches your workflow. It is maintained by OxygenBubbles; worth a glance at recent repository activity before you build anything load-bearing on it.

SyncDev reviews every entry in this directory against the project's own documentation before publishing, and revisits them as servers change.

Before you rely on it

  • It runs with your machine's permissions. That is convenient and also the reason to think about what you point it at before you approve a tool call.
  • With 9 tools registered it takes up a noticeable share of the context window; turn it off in projects that never touch Freeagent.
  • Missing credentials fail quietly in some clients — if no tools show up, check the environment block first.
  • MCP clients confirm each tool call by default. Leave that on until you have watched what the freeagent mcp server does with a few real requests.

Available tools

ToolWhat it does
freeagent_list_bank_accountsList all bank accounts and their IDs
freeagent_list_transactionsList transactions (unexplained / explained / all / marked_for_review) with date filters
freeagent_explain_transactionUpdate, approve or attach a receipt to a transaction explanation
freeagent_list_categoriesList the FreeAgent chart of accounts (expense categories)
freeagent_create_expenseCreate an expense claim with optional receipt attachment and bank-transaction auto-matching
freeagent_create_mileage_expenseCreate a mileage expense using HMRC rates, with optional distance auto-calculation
FreeAgentThe FreeAgent OAuth credentials grant **full access** to the connected FreeAgent account. This server uses that access to:
RequiredThe Required tool exposed by this server.
OptionalThe Optional tool exposed by this server.

How to install the Freeagent MCP server

{
  "mcpServers": {
    "freeagent": {
      "command": "npx",
      "args": ["-y", "@oxygenbubbles/freeagent-mcp-server"],
      "env": {
        "NETFLIX": "your-value",
        "FREEAGENT_CLIENT_ID": "your-value",
        "FREEAGENT_CLIENT_SECRET": "your-value",
        "FREEAGENT_REFRESH_TOKEN": "your-value",
        "MILEAGE_CATEGORY_URL": "your-value",
        "ORS_API_KEY": "your-value",
        "GOOGLE_MAPS_API_KEY": "your-value",
        "AUTH_TOKEN": "your-value"
      }
    }
  }
}

Add to claude_desktop_config.json, then restart Claude Desktop.

Configuration

VariableDescriptionRequired
NETFLIXConfiguration value read at startup.Optional
FREEAGENT_CLIENT_IDConfiguration value read at startup.Optional
FREEAGENT_CLIENT_SECRETCredential the server authenticates with.Yes
FREEAGENT_REFRESH_TOKENCredential the server authenticates with.Yes
MILEAGE_CATEGORY_URLEndpoint or connection string the server talks to.Yes
ORS_API_KEYCredential the server authenticates with.Yes
GOOGLE_MAPS_API_KEYCredential the server authenticates with.Yes
AUTH_TOKENCredential the server authenticates with.Yes

Example prompts to try

  • Use Freeagent to freeagent list bank accounts.
  • Use Freeagent to freeagent list transactions.
  • Use Freeagent to freeagent explain transaction.

Frequently asked questions

It connects Freeagent to MCP-compatible AI assistants such as Claude and Cursor, exposing 9 tools (freeagent_list_bank_accounts, freeagent_list_transactions, freeagent_explain_transaction, and more) that the assistant can call on your behalf. Instead of copying data back and forth by hand, the assistant works with Freeagent directly.