Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

io.github.OxygenBubbles/freeagent-mcp-server

NPM · @OXYGENBUBBLES/FREEAGENT-MCP-SERVER · SCANNED AUG 6

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

+25 this week 67 Trust /100
Trust breakdown (6 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →

Supply Chain Security87
  • No malware found by supply-chain analysis.Pass
  • Known CVEs were checked across the 108 of 109 dependencies we could resolve, so this covers what we could see, not the whole tree.Partial
  • No install/post-install scripts declared.Pass
  • Dependency health was assessed across the 108 of 109 dependencies we could resolve, so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency45
Schema Quality & AI Usability59
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 1849 tokens (~308/item across 6 items; 6 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management37
  • Stability observed for 11 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

npm · @oxygenbubbles/freeagent-mcp-server

# add to Claude Code
claude mcp add oxygenbubbles-freeagent-mcp-server -- npx -y @oxygenbubbles/freeagent-mcp-server
# add to Codex CLI
codex mcp add oxygenbubbles-freeagent-mcp-server -- npx -y @oxygenbubbles/freeagent-mcp-server
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "oxygenbubbles-freeagent-mcp-server": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@oxygenbubbles/freeagent-mcp-server"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add oxygenbubbles-freeagent-mcp-server --command npx --arg -y --arg @oxygenbubbles/freeagent-mcp-server
# ~/.hermes/config.yaml
mcp_servers:
  oxygenbubbles-freeagent-mcp-server:
    command: "npx"
    args: ["-y", "@oxygenbubbles/freeagent-mcp-server"]
// mcp.json
{
  "mcpServers": {
    "oxygenbubbles-freeagent-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "@oxygenbubbles/freeagent-mcp-server"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 5 Aug 26 +2
    • CVE-2026-69207 no longer affects this package security
    • Known CVEs: fail → partial security
  • 4 Aug 26 −1
    • CVE-2026-69207 affects this package: medium security
    • Known CVEs: partial → fail security
  • 3 Aug 26 +4
    • Stability: unverified → 0.27 functional
  • 2 Aug 26 +45
    • Provenance: unverified → fail security
    • Install scripts: unverified → pass security
    • Known CVEs: unverified → partial security
    • Malware scan: unverified → pass security
    • Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window). security
    • Schema quality: unverified → excellent functional
    • License: unverified → pass functional
    • Dependency health: unverified → partial functional
    • Maintenance: unverified → pass functional
    • MCP protocol: unverified → pass functional
    • Licence: MIT functional
  • 1 Aug 26 −7
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 31 Jul 26 −18
    • Malware scan: pass → unverified security
  • 28 Jul 26 +16
    • Dependency health: partial → unverified functional
    • Tool coverage: unverified → 100 functional
    • First check of Tool coverage: 100 functional
    • First check of Schema quality: fail functional
    • First check of Schema quality: fail functional
    • First check of Schema quality: unverified functional
  • 27 Jul 26 26

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 6 Aug 2026 · Analysed npm/@oxygenbubbles/[email protected]

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem npm
Dependencies 108 packages
Packages resolved 108
Deprecated 108
Stale 32
Tree resolution Partial

The dependency tree was only partially resolved, so these counts may be incomplete.

MCP tools · 6 exposed · ~1,475 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.

Tool Tokens
freeagent_create_expense ~396

Create an expense in FreeAgent — for purchases on a personal card or cash that need claiming back. Provide vendor, date, amount, description and category. If categoryUrl is omitted, auto-selects from vendor mapping. Optionally pass bankAccountId to auto-match and explain a corresponding bank transaction (e.g. if the same purchase also appears on a company card). RECEIPTS: Before asking the user for a file, search connected email tools (Gmail, Outlook/M365) for a matching invoice. Use vendor name, amount and date as search terms. Download the PDF and pass it as fileBase64 + fileName. Also check local sources (Downloads folder, etc.) if the user has mentioned them.

NameTypeReqDescription
bankAccountIdstringIf supplied, search this bank account for a matching unexplained transaction (same amount, date ±4 days) and link the expense to it.
categoryUrlstringFreeAgent category URL (e.g. '/v2/categories/285'). Auto-selected from vendor if omitted.
contentTypestringMIME type (e.g. 'application/pdf'). Inferred from fileName if omitted.
currencystringISO 4217 currency code (default GBP)
datedOnstringyesExpense date YYYY-MM-DD
descriptionstringyesExpense description (e.g. 'Monthly cloud hosting')
fileBase64stringBase64-encoded receipt file (PDF, PNG, JPEG, etc.)
fileNamestringFile name for the receipt (e.g. 'receipt.pdf')
grossAmountstringyesGross amount as string (e.g. '22.80')
vatAmountstringVAT amount as string (e.g. '3.80')
vendorstringyesVendor / merchant name (e.g. 'IONOS Cloud')

No output schema declared.

No examples provided.

freeagent_create_mileage_expense ~383

Create a mileage expense in FreeAgent. Provide either origin + destination (requires ORS_API_KEY or GOOGLE_MAPS_API_KEY for distance lookup) or manualMiles for the journey distance. Set roundTrip=true to double the distance. Rate: pass ratePence to set the per-mile rate explicitly (e.g. 45 for 45p/mile). If omitted, defaults to the MILEAGE_RATE_PENCE env var, or HMRC approved rates (configurable via HMRC_RATE_HIGH_PENCE / HMRC_RATE_LOW_PENCE / HMRC_THRESHOLD_MILES env vars, defaulting to 45p/25p at 10,000 miles — pass cumulativeMilesYTD to enable threshold logic).

NameTypeReqDescription
cumulativeMilesYTDnumberCumulative business miles already claimed this tax year. Used for HMRC threshold logic (high rate → low rate at threshold). Only relevant when ratePence is not set.
currencystringISO 4217 currency code (default GBP)
datedOnstringyesJourney date YYYY-MM-DD
descriptionstringyesJourney description (e.g. 'Wakefield to Ackworth TT Club, coaching session')
destinationstringDestination address. Requires distance API key. Omit if providing manualMiles.
manualMilesnumberJourney distance in miles (use instead of origin/destination)
originstringOrigin address. Requires distance API key. Omit if providing manualMiles.
ratePencenumberPence per mile (e.g. 45). If omitted, uses MILEAGE_RATE_PENCE env var or HMRC rates (configurable via env vars, defaults to 45p/25p with threshold logic).
roundTripbooleanDouble the distance for a return journey

No output schema declared.

No examples provided.

freeagent_explain_transaction ~377

Approve or update a FreeAgent bank transaction explanation. Use this to: - Approve a 'marked for review' transaction (set markExplained=true) - Change the category or description of an explanation - Attach a receipt/invoice file (pass fileBase64 + fileName) Get the explanationId from freeagent_list_transactions (explanation_id field). RECEIPTS: Before asking the user for a file, search connected email tools (Gmail, Outlook/M365) for a matching invoice using vendor name, amount and date. Download the PDF from the email and pass it as fileBase64. Also check local file sources (Downloads folder, etc.) if the user has mentioned them. SAFETY: Only set markExplained=true when you have a confirmed receipt attached or the user has explicitly approved it.

NameTypeReqDescription
categorystringFreeAgent category path (e.g. '/v2/categories/285'). Use freeagent_list_categories to find the right one.
contentTypestringMIME type of the file (e.g. 'application/pdf', 'image/jpeg', 'image/png'). Inferred from fileName if omitted.
descriptionstringHuman-readable description for the transaction (e.g. 'IONOS — Monthly cloud hosting')
explanationIdstringyesNumeric FreeAgent bank transaction explanation ID (from explanation_id in list_transactions)
fileBase64stringBase64-encoded file to attach (receipt, invoice, screenshot — PDF, PNG, JPEG, etc.)
fileNamestringFile name for the attachment (e.g. 'ionos-invoice-apr-2026.pdf')
markExplainedbooleanSet true to approve/reconcile the transaction. Only do this when evidence is attached or confirmed.

No output schema declared.

No examples provided.

freeagent_list_bank_accounts ~44

List all bank accounts on the FreeAgent account. Returns account name, currency, current balance and status. Use this to find the bank account ID before listing transactions.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

freeagent_list_categories ~47

List FreeAgent expense categories (chart of accounts). Returns category URL, description, nominal code and group. Use the category URL when creating expenses or explaining transactions. Cached after first call.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

freeagent_list_transactions ~228

List bank account transactions from FreeAgent. By default returns unexplained (unreconciled) transactions. Use bankAccountId from freeagent_list_bank_accounts. Returns id, date, description, amount, and explanation details (category, marked_for_review) for each entry. After listing, if the task involves reconciliation, search available email or file sources for matching receipts — do not ask the user to provide files before checking email (Gmail, Outlook, etc.) and local sources first.

NameTypeReqDescription
bankAccountIdstringyesNumeric FreeAgent bank account ID (e.g. '1877156')
fromDatestringStart date filter YYYY-MM-DD (inclusive)
limitintegerMax entries to return (default 50, max 200)
pageintegerPage number for pagination (default 1)
toDatestringEnd date filter YYYY-MM-DD (inclusive)
viewstringWhich transactions to return. Defaults to unexplained. Use 'marked_for_review' for auto-categorised transactions awaiting approval.

No output schema declared.

No examples provided.