freeagent-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| FREEAGENT_SANDBOX | No | Set to true for sandbox (defaults to production) | |
| FREEAGENT_BASE_URL | No | Override API base URL | |
| FREEAGENT_CLIENT_ID | No | OAuth2 client ID from Developer Dashboard | |
| FREEAGENT_ACCESS_TOKEN | No | Direct access token (skips stored token flow) | |
| FREEAGENT_CLIENT_SECRET | No | OAuth2 client secret from Developer Dashboard |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| freeagent_get_companyA | Get information about the authenticated FreeAgent company, including name, type, currency, and other settings. |
| freeagent_list_business_categoriesB | List the available business categories for the company. These are used to classify the type of business. |
| freeagent_get_tax_timelineA | Get the tax timeline for the company, showing upcoming tax deadlines and obligations. |
| freeagent_list_usersB | List all users in the FreeAgent account |
| freeagent_get_userA | Get a specific user by ID |
| freeagent_get_current_userA | Get the currently authenticated user |
| freeagent_create_userC | Create a new user in the FreeAgent account |
| freeagent_update_userC | Update an existing user |
| freeagent_delete_userB | Delete a user from the FreeAgent account |
| freeagent_list_contactsB | List contacts from FreeAgent with optional filtering and sorting |
| freeagent_get_contactA | Get a single contact from FreeAgent by ID |
| freeagent_create_contactA | Create a new contact in FreeAgent. Must provide either first_name and last_name, or organisation_name. |
| freeagent_update_contactC | Update an existing contact in FreeAgent |
| freeagent_delete_contactB | Delete a contact from FreeAgent |
| freeagent_list_projectsA | List projects from FreeAgent, optionally filtered by view, sort order, or contact |
| freeagent_get_projectB | Get a single project from FreeAgent by ID |
| freeagent_create_projectC | Create a new project in FreeAgent |
| freeagent_update_projectC | Update an existing project in FreeAgent |
| freeagent_delete_projectB | Delete a project from FreeAgent |
| freeagent_list_tasksB | List tasks from FreeAgent. Optionally filter by view, project, or updated_since. |
| freeagent_get_taskB | Get a specific task by ID from FreeAgent. |
| freeagent_create_taskB | Create a new task in FreeAgent. The project URL is required and passed as a query parameter. |
| freeagent_update_taskC | Update an existing task in FreeAgent. |
| freeagent_delete_taskB | Delete a task from FreeAgent. |
| freeagent_list_timeslipsB | List timeslips from FreeAgent. Can be filtered by date range, user, task, project, and billing status. |
| freeagent_get_timeslipB | Get a single timeslip by its ID. |
| freeagent_create_timeslipB | Create a new timeslip in FreeAgent for tracking time against a project task. |
| freeagent_update_timeslipB | Update an existing timeslip in FreeAgent. |
| freeagent_delete_timeslipB | Delete a timeslip from FreeAgent. |
| freeagent_start_timerA | Start a running timer on a timeslip. The timeslip will accumulate time until the timer is stopped. |
| freeagent_stop_timerB | Stop a running timer on a timeslip. |
| freeagent_list_invoicesB | List invoices from FreeAgent, optionally filtered by view, sort order, contact, project, or updated date |
| freeagent_get_invoiceB | Get a single invoice from FreeAgent by ID |
| freeagent_create_invoiceB | Create a new invoice in FreeAgent |
| freeagent_update_invoiceC | Update an existing invoice in FreeAgent |
| freeagent_delete_invoiceB | Delete an invoice from FreeAgent |
| freeagent_mark_invoice_as_sentB | Mark an invoice as sent in FreeAgent |
| freeagent_mark_invoice_as_draftB | Mark an invoice as draft in FreeAgent |
| freeagent_mark_invoice_as_cancelledC | Cancel an invoice in FreeAgent |
| freeagent_send_invoice_emailB | Send an invoice by email from FreeAgent |
| freeagent_list_estimatesB | List estimates from FreeAgent with optional filtering |
| freeagent_get_estimateB | Get a single estimate from FreeAgent by ID |
| freeagent_create_estimateB | Create a new estimate in FreeAgent |
| freeagent_update_estimateB | Update an existing estimate in FreeAgent |
| freeagent_delete_estimateB | Delete an estimate from FreeAgent |
| freeagent_mark_estimate_as_sentB | Mark an estimate as sent in FreeAgent |
| freeagent_mark_estimate_as_approvedB | Mark an estimate as approved in FreeAgent |
| freeagent_list_billsB | List bills from FreeAgent with optional filtering by view, date range, contact, or project |
| freeagent_get_billA | Get a single bill from FreeAgent by ID |
| freeagent_create_billC | Create a new bill in FreeAgent. bill_items should be a JSON string array of objects with category (URL), description, total_value, and sales_tax_rate. |
| freeagent_update_billB | Update an existing bill in FreeAgent |
| freeagent_delete_billB | Delete a bill from FreeAgent |
| freeagent_list_credit_notesC | List credit notes from FreeAgent with optional filtering and sorting |
| freeagent_get_credit_noteA | Get a single credit note from FreeAgent by ID |
| freeagent_create_credit_noteC | Create a new credit note in FreeAgent |
| freeagent_update_credit_noteB | Update an existing credit note in FreeAgent |
| freeagent_delete_credit_noteB | Delete a credit note from FreeAgent |
| freeagent_list_expensesA | List expenses from FreeAgent with optional filtering by view, date range, and project |
| freeagent_get_expenseB | Get a single expense from FreeAgent by ID |
| freeagent_create_expenseC | Create a new expense in FreeAgent |
| freeagent_update_expenseB | Update an existing expense in FreeAgent |
| freeagent_delete_expenseB | Delete an expense from FreeAgent |
| freeagent_list_bank_accountsA | List bank accounts from FreeAgent with optional view filter |
| freeagent_get_bank_accountB | Get a single bank account from FreeAgent by ID |
| freeagent_create_bank_accountB | Create a new bank account in FreeAgent |
| freeagent_update_bank_accountB | Update an existing bank account in FreeAgent |
| freeagent_delete_bank_accountB | Delete a bank account from FreeAgent |
| freeagent_list_bank_transactionsB | List bank transactions from FreeAgent for a specific bank account |
| freeagent_get_bank_transactionB | Get a single bank transaction from FreeAgent by ID |
| freeagent_list_categoriesC | List all categories from FreeAgent, optionally including sub-accounts |
| freeagent_get_categoryB | Get a single category from FreeAgent by nominal code |
| freeagent_get_profit_and_lossB | Get the profit and loss summary from FreeAgent with optional date range filtering |
| freeagent_get_balance_sheetB | Get the balance sheet from FreeAgent, optionally as at a specific date |
| freeagent_get_opening_balancesA | Get the opening balances from the FreeAgent balance sheet |
| freeagent_get_trial_balanceC | Get the trial balance summary from FreeAgent with optional date range filtering |
| freeagent_get_trial_balance_openingA | Get the trial balance opening balances from FreeAgent |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/samaxbytez/freeagent-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server