Skip to main content

Announcing StackOne Defender: leading open-source prompt injection guard for your agent Read More

Live 105 Actions

FreeAgent MCP Server
for AI Agents

StackOne's FreeAgent MCP server gives AI agents 105 ready-to-use actions for FreeAgent — with built-in authentication, security, governance, token efficiency, and high tool-calling accuracy.

FreeAgent logo
FreeAgent MCP Server
Built by StackOne StackOne
DrataGPLocalyzeFlipMindtoolsScreenloop

Coverage

105 Agent Actions

Create, read, update, and delete across FreeAgent — and extend your agent's capabilities with custom actions.

Authentication

Agent Tool Authentication

Per-user OAuth in one call. Your FreeAgent MCP server gets session-scoped tokens with zero credentials stored on your infra.

Agent Auth →

Security

Agent Protection

Every FreeAgent tool response scanned for prompt injection in milliseconds — 88.7% accuracy, all running on CPU.

Prompt Injection Defense →

Performance

Max Agent Context. Min Cost.

Free up to 96% of your agent's context window to enhance reasoning and reduce cost, on every FreeAgent call.

Tools Discovery →

What is the FreeAgent MCP Server?

A FreeAgent MCP server lets AI agents read and write FreeAgent data through the Model Context Protocol — Anthropic's open standard for connecting LLMs to external tools. StackOne's FreeAgent MCP server ships with 105 pre-built actions, fully extensible via the Connector Builder — plus managed authentication, prompt injection defense, and optimized agent context. Connect it from MCP clients like Claude Desktop, Claude Code, Cursor, Goose, and VS Code, or from agent frameworks like OpenAI Agents SDK, LangChain, and Vercel AI SDK.

All FreeAgent MCP Tools and Actions

Every action from FreeAgent's API, ready for your agent. Create, read, update, and delete — scoped to exactly what you need.

Bank Accounts

  • Create Bank Account

    Create a new bank account in FreeAgent with a specified type, currency, and opening balance

  • List Bank Accounts

    Retrieve all bank accounts linked to the FreeAgent company, filterable by account type

  • Get Bank Account

    Retrieve a single bank account by its unique ID

  • Update Bank Account

    Update an existing bank account's name, bank name, or personal flag

  • Delete Bank Account

    Permanently delete a bank account from FreeAgent

Bank Transactions

  • List Bank Transactions

    Retrieve all bank transactions for a specific bank account, with optional date, status, and upload filters

  • Get Bank Transaction

    Retrieve a single bank transaction by its unique ID, including full explanation details

  • Delete Bank Transaction

    Permanently delete a bank transaction from FreeAgent

Bills

  • Create Bill

    Create a new bill (accounts payable) in FreeAgent with one or more line items

  • List Bills

    Retrieve all bills (accounts payable) with optional filtering by contact, project, payment status, and date range

  • Get Bill

    Retrieve a single bill by ID, including bill items, payment status, and attachment details

  • Update Bill

    Update an existing bill's details, line items, or add/remove bill items

  • Delete Bill

    Permanently delete a bill and its associated bill items from FreeAgent

Categorys

  • Create Category

    Create a custom accounting category in FreeAgent

  • Get Category

    Retrieve a single accounting category by its nominal code

  • Update Category

    Update a custom accounting category by nominal code

  • Delete Category

    Delete a user-created accounting category by nominal code

Contacts

  • Create Contact

    Create a new contact (client or supplier) in FreeAgent

  • List Contacts

    Retrieve all contacts (clients and suppliers) with optional filtering by type, status, and activity

  • Get Contact

    Retrieve a single contact by ID with full profile, balance, and CIS details

  • Update Contact

    Update an existing contact's details, address, invoice settings, or CIS configuration

  • Delete Contact

    Permanently delete a contact from FreeAgent

Credit Notes

  • Create Credit Note

    Create a new credit note in Draft status for a specified contact

  • List Credit Notes

    Retrieve all credit notes with optional filtering by contact, project, status, and date

  • Get Credit Note

    Retrieve a single credit note by ID with full line item and payment details

  • Update Credit Note

    Update an existing credit note's details, line items, or display settings

  • Delete Credit Note

    Permanently delete a credit note from FreeAgent

Estimates

  • Create Estimate

    Create a new estimate, quote, or proposal in FreeAgent for a specified contact

  • List Estimates

    Retrieve all estimates with optional filtering by contact, project, invoice, status, and date range

  • Get Estimate

    Retrieve a single estimate by ID with full line items, status, and VAT details

  • Update Estimate

    Update an existing estimate's details, notes, or display settings

  • Delete Estimate

    Permanently delete an estimate from FreeAgent (cannot delete estimates with Invoiced status)

Estimate Items

  • Create Estimate Item

    Add a new line item to an existing estimate

  • Update Estimate Item

    Update an existing estimate line item

  • Delete Estimate Item

    Remove a line item from an estimate

Default Estimate Additional Texts

  • Get Default Estimate Additional Text

    Retrieve the default additional text shown on all estimates

  • Update Default Estimate Additional Text

    Update the default additional text shown on all estimates

  • Delete Default Estimate Additional Text

    Remove the default additional text from all estimates

Expenses

  • Create Expense

    Create a new out-of-pocket expense or mileage claim in FreeAgent

  • List Expenses

    Retrieve all out-of-pocket expenses with optional filtering by user, project, status, and date range

  • Get Expense

    Retrieve a single expense by ID with full category, tax, rebill, and attachment details

  • Update Expense

    Update an existing expense's details, tax, rebill settings, or recurring schedule

  • Delete Expense

    Permanently delete an expense from FreeAgent

Invoices

  • Create Invoice

    Create a new draft invoice in FreeAgent with line items and optional auto-billing of timeslips, expenses, or estimates

  • List Invoices

    Retrieve all invoices with optional filtering by contact, project, status, date range, and sort order

  • Get Invoice

    Retrieve a single invoice by ID with full line items, payment status, and payment methods

  • Update Invoice

    Update an existing invoice's details, line items, payment methods, or display settings

  • Delete Invoice

    Permanently delete an invoice from FreeAgent

Default Invoice Additional Texts

  • Get Default Invoice Additional Text

    Retrieve the default additional text shown on all invoices

  • Update Default Invoice Additional Text

    Update the default additional text shown on all invoices

  • Delete Default Invoice Additional Text

    Remove the default additional text from all invoices

Projects

  • Create Project

    Create a new project in FreeAgent linked to a contact with budget, billing rate, and IR35 settings

  • List Projects

    Retrieve all projects with optional filtering by contact, status, sort order, and nested contact details

  • Get Project

    Retrieve a single project by ID with full budget, billing, and IR35 details

  • Update Project

    Update an existing project's name, status, budget, billing rate, or other settings

  • Delete Project

    Permanently delete a project from FreeAgent

Recurring Invoices

  • List Recurring Invoices

    Retrieve all recurring invoice profiles with optional filtering by contact, project, and status

  • Get Recurring Invoice

    Retrieve a single recurring invoice by ID with full schedule, line items, and payment methods

Tasks

  • Create Task

    Create a new task under a specific project in FreeAgent

  • List Tasks

    Retrieve all tasks with optional filtering by project, status, date, and sort order

  • Get Task

    Retrieve a single task by ID with full billing rate, status, and deletability info

  • Update Task

    Update an existing task's name, billing rate, status, or billable flag

  • Delete Task

    Permanently delete a task from FreeAgent

Timeslips

  • Create Timeslip

    Create a new timeslip (time entry) in FreeAgent for a user, task, and project

  • List Timeslips

    Retrieve all timeslips (time entries) with optional filtering by user, project, task, status, and date range

  • Get Timeslip

    Retrieve a single timeslip by ID with full hours, billing, and timer details

  • Update Timeslip

    Update an existing timeslip's hours, date, task, project, user, or comment

  • Delete Timeslip

    Permanently delete a timeslip from FreeAgent

Users

  • Create User

    Create a new user with a specified role and permission level in FreeAgent

  • List Users

    Retrieve all users with optional filtering by role type (staff, advisors, active)

  • Get User

    Retrieve a single user by ID with full role, permissions, and tax details

  • Update User

    Update an existing user's details, role, or permissions

  • Delete User

    Permanently delete a user from FreeAgent

Current Users

  • Get Current User

    Retrieve the authenticated user's personal profile (minimum Time access)

  • Update Current User

    Update the authenticated user's own profile (minimum Time access)

Other (30)

  • Upload Bank Statement

    Upload bank transactions as a JSON array to a specific bank account

  • List Categories

    Retrieve all accounting categories grouped by type (admin expenses, cost of sales, income, general)

  • Get Company

    Retrieve the authenticated company's profile, settings, and tax configuration

  • List Business Categories

    Retrieve all available business category values for the company profile

  • Get Tax Timeline

    Retrieve upcoming tax events and deadlines for the company

  • Get Credit Note PDF

    Download a credit note as a base64-encoded PDF

  • Get Estimate PDF

    Download an estimate as a base64-encoded PDF

  • Get Mileage Settings

    Retrieve mileage rates and engine type/size options for expense claims

  • Get Invoice PDF

    Download an invoice as a base64-encoded PDF

  • Get Invoice Timeline

    Retrieve a timeline of invoice payment events and activities

  • Email Credit Note

    Send a credit note via email (credit note must be in Open status, not Draft)

  • Mark Credit Note As Sent

    Transition a credit note from Draft to Open status, or re-open a cancelled credit note

  • Mark Credit Note As Draft

    Transition a credit note back to Draft status

  • Duplicate Estimate

    Create a copy of an existing estimate with Draft status and today's date

  • Email Estimate

    Send an estimate via email with optional attachments or using an email template

  • Mark Estimate As Sent

    Transition an estimate to Sent status

  • Mark Estimate As Draft

    Transition an estimate back to Draft status

  • Mark Estimate As Approved

    Transition an estimate to Approved status

  • Mark Estimate As Rejected

    Transition an estimate to Rejected status

  • Convert Estimate To Invoice

    Convert an estimate to an invoice, setting estimate status to Invoiced

  • Duplicate Invoice

    Create a copy of an existing invoice with Draft status and today's date

  • Email Invoice

    Send an invoice via email with optional attachments, expense receipts, or using a template

  • Mark Invoice As Sent

    Transition an invoice from Draft to Open status, or re-open a cancelled invoice

  • Mark Invoice As Scheduled

    Transition an invoice to Scheduled To Email status

  • Mark Invoice As Draft

    Transition an invoice back to Draft status

  • Mark Invoice As Cancelled

    Write off an invoice as unpaid (must be sent with due date in the past)

  • Convert Invoice To Credit Note

    Convert a draft negative invoice to a credit note

  • Take Direct Debit Payment

    Take payment for an invoice using a GoCardless Direct Debit Mandate

  • Start Timer

    Start a running timer on a timeslip to track time in real-time

  • Stop Timer

    Stop a running timer on a timeslip and record the elapsed time

FreeAgent AI Agent Use Cases

Connect your AI agent to FreeAgent and help your team scale the finance operations they run by hand today.

Invoice Processing

Automate invoice processing with AI agents connected to your ERP, accounting software, and AP tools through StackOne.

View
QuickBooks OnlineXeroNetSuiteSage IntacctBillFreshBooksWaveZoho Books
Accounts Receivable Dunning

Use StackOne to connect your AI agent to your accounting, CRM, and messaging systems to automate Accounts Receivable dunning and payment follow-up.

View
QuickBooksXeroFreshBooksStripePayPalSalesforceHubSpotGmail
Invoice Processing

Use StackOne to connect your AI agent to your accounting, email, and document management systems to automate invoice processing and purchase order matching.

View
QuickBooks OnlineXeroGmailOutlookGoogle DriveSharePointDropboxSlack

Set Up Your FreeAgent MCP Server in Minutes

One endpoint. Any framework. Your agent is talking to FreeAgent in under 10 lines of code.

MCP Clients

Agent Frameworks

Claude Desktop
{
  "mcpServers": {
    "stackone": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote@latest",
        "https://api.stackone.com/mcp?x-account-id=<account_id>",
        "--header",
        "Authorization: Basic <YOUR_BASE64_TOKEN>"
      ]
    }
  }
}

More Accounting MCP Servers

FreeAgent MCP Server FAQ

FreeAgent MCP server vs direct API integration — what's the difference?
A FreeAgent MCP server and direct API integration serve different use cases. Direct API integration is for software-to-software — backend code calling FreeAgent. A FreeAgent MCP server is for AI agents — MCP clients like Claude and Cursor, plus framework agents built with OpenAI, LangChain, or Vercel AI — discovering and calling FreeAgent at runtime. StackOne provides both.
How does FreeAgent authentication work for AI agents?
FreeAgent authentication for AI agents works through a StackOne Connect Session. Create one via the dashboard or the SDK — you get an auth link and ready-to-paste config for Claude Desktop, Cursor, and other MCP clients. Your user authenticates their own FreeAgent account; StackOne handles token exchange, storage, and refresh. Credentials never reach the LLM, and each user is isolated via origin_owner_id.
Are FreeAgent MCP tools vulnerable to prompt injection?
Yes — FreeAgent MCP tools can be vulnerable to indirect prompt injection. Any tool that reads user-written content — documents, messages, tickets, records, or free-text fields — is a potential vector. StackOne Defender scans every tool response before it enters the agent's context — regex patterns in ~1ms, then a MiniLM classifier in ~4ms. 88.7% accuracy, CPU-only.
What is the context bloat of a FreeAgent agent and how do I avoid it?
Context bloat happens when FreeAgent tool schemas and API responses eat your FreeAgent agent's memory, preventing it from reasoning effectively. A single FreeAgent query can return a massive JSON response, and connecting multiple tools compounds the problem. Tools Discovery and Code Mode reduce context bloat — loading only relevant tools per query and keeping raw responses out of the agent's context.
Can I limit which actions my FreeAgent agent can access?
Yes — you can limit which actions your FreeAgent agent can access directly from the StackOne dashboard. Toggle actions on or off, or restrict them to specific accounts, with no code changes to your agent. Session tokens can be scoped to exact actions so if one leaks, exposure stays contained.
Can I create custom agent actions for my FreeAgent MCP server?
Yes — you can create custom agent actions for your FreeAgent MCP server using Connector Builder. It's an integration agent your coding assistant (Claude Code, Cursor, or Copilot) can invoke to research FreeAgent's API, generate production-ready connector YAML, test against the live API, and validate before you ship.
When should I NOT use a FreeAgent MCP server?
Skip a FreeAgent MCP server if your integration is purely software-to-software — direct FreeAgent API integration is simpler when no AI agent is involved. For deterministic, compliance-critical operations (financial transactions, regulatory reporting), direct API gives you predictable behavior without agent-driven decision-making. MCP shines when AI agents need to dynamically discover and call FreeAgent actions at runtime.
What AI frameworks and AI clients does the StackOne FreeAgent MCP server support?
The StackOne FreeAgent MCP server supports both. MCP clients (paste-and-go apps): Claude Desktop, Claude Code, Cursor, VS Code, Goose. Agent frameworks (code SDKs you build with): OpenAI Agents SDK, Anthropic, Vercel AI, Google ADK, CrewAI, Pydantic AI, LangChain, LangGraph, Azure AI Foundry.

Put your AI agents to work

All the tools you need to build and scale AI agent integrations, with best-in-class connectivity, execution, and security.