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 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| 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
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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