avaza-mcpMCP Server

Running
Version
v1.8.0
MCP Endpoint
https://mcp.avaza.com/mcp
Cache
Connected
Read/write verified
Database
Connected
Read verified
Available Tools 118
Add Invoice Line Items
add_invoice_line_items
read-only: falsedestructive: falseidempotent: falseopen-world: false

Appends line items to an existing invoice WITHOUT touching its other line items (safer than update_invoice's full-replacement LineItems). Line items can link uninvoiced timesheets/expenses/fixed amounts via TimesheetEntryIDs/ExpenseIDs/FixedAmountIDs - amounts, descriptions and taxes are calculated from the linked records unless supplied, and the records are marked invoiced. Atomic: if anything is invalid, nothing is added and every problem is reported. If a retry returns 'already linked to' this same invoice, the original call succeeded. Returns the updated invoice, the new line item IDs, and warnings (e.g. status changes). The invoice must not be Void.

Add Project Member
add_project_member
read-only: falsedestructive: falseidempotent: falseopen-world: false

Adds a user as a member of a project, setting their rates, budget, and permissions. Financial amounts assume the currency of the Customer company.

Add Schedule Booking
add_schedule_booking
read-only: falsedestructive: falseidempotent: falseopen-world: false

Creates a new project work schedule booking for a user over a date range with specified hours per day or total duration.

Add Schedule Leave
add_schedule_leave
read-only: falsedestructive: falseidempotent: falseopen-world: false

Creates a new leave/time-off schedule booking for a user over a date range.

Add Task Comment
add_task_comment
read-only: falsedestructive: falseidempotent: falseopen-world: false

Adds a new comment (message) to a task's discussion thread. Either responseBody or fileAttachmentIDs must be provided. Optionally mark as an internal note (only visible to team members; requires team member rights), reply to an existing comment, or attach files previously uploaded via upload_file_from_url (max 8 attachments). To @mention a user (which notifies them and adds them as a follower of the task), embed a mention span in responseBody — see the responseBody parameter for the exact required markup.

Add Uninvoiced Items To Invoice
add_uninvoiced_to_invoice
read-only: falsedestructive: falseidempotent: falseopen-world: false

Finds ALL currently-eligible uninvoiced records for the invoice's customer matching the filters (timesheets, expenses and/or fixed amounts), groups them per the requested grouping, appends the generated line items to the invoice and marks the records invoiced - one call instead of list + construct + add. Only eligible records are ever selected, so it never double-bills and a repeat call returns zero counts (safe to retry). Use preview_uninvoiced_items first for a dry run. Provide at least one of time/expenses/fixedAmounts. The invoice must not be Void.

Approve Timesheets
approve_timesheets
read-only: falsedestructive: trueidempotent: falseopen-world: false

Approves one or more submitted timesheet entries. Requires both APIApproveTimesheet and ApproveTimesheets rights on the calling user. Returns a batch result with per-entry status (Approved, AlreadyApproved, or Failed with ErrorCode/Message). Already-approved entries do not error — they are counted under Summary.AlreadyInTargetState.

Confirm Delete Estimate
confirm_delete_estimate
read-only: falsedestructive: trueidempotent: trueopen-world: false

Execute a previously-previewed estimate deletion. Requires the confirmation_token from DeleteEstimate. The token expires after 5 minutes. Estimates that have been converted to an invoice cannot be deleted.

Confirm Delete Expenses
confirm_delete_expenses
read-only: falsedestructive: trueidempotent: trueopen-world: false

Execute a previously-previewed expense deletion. Requires the confirmation_token returned by DeleteExpenses. The token expires after 5 minutes. If the token is invalid or expired, call DeleteExpenses again to get a fresh preview and token.

Confirm Delete Schedule Series
confirm_delete_schedule_series
read-only: falsedestructive: trueidempotent: trueopen-world: false

Execute a previously-previewed schedule series deletion. Requires the confirmation_token from DeleteScheduleSeries. The token expires after 5 minutes.

Confirm Delete Section
confirm_delete_section
read-only: falsedestructive: trueidempotent: trueopen-world: false

Execute a previously-previewed section deletion. Requires the confirmation_token from DeleteSection. The token expires after 5 minutes.

Confirm Delete Task
confirm_delete_task
read-only: falsedestructive: trueidempotent: trueopen-world: false

Execute a previously-previewed task deletion. Requires the confirmation_token from DeleteTask. The token expires after 5 minutes.

Confirm Delete Timesheet
confirm_delete_timesheet
read-only: falsedestructive: trueidempotent: trueopen-world: false

Execute a previously-previewed timesheet entry deletion. Requires the confirmation_token from DeleteTimesheet. The token expires after 5 minutes.

Confirm Delete Webhook by ID
confirm_delete_webhook_by_id
read-only: falsedestructive: trueidempotent: trueopen-world: false

Execute a previously-previewed webhook deletion by ID. Requires the confirmation_token from DeleteWebhookById. The token expires after 5 minutes.

Confirm Delete Webhook by URL
confirm_delete_webhook_by_url
read-only: falsedestructive: trueidempotent: trueopen-world: false

Execute a previously-previewed webhook deletion by URL. Requires the confirmation_token from DeleteWebhookByUrl. The token expires after 5 minutes.

Create Supplier Bill
create_bill
read-only: falsedestructive: falseidempotent: falseopen-world: false

Creates a new draft supplier bill (purchase invoice). Optionally creates a new supplier company and contact if no matching company is found.

Record Bill Payment
create_bill_payment
read-only: falsedestructive: falseidempotent: falseopen-world: false

Records a new supplier bill payment. Optionally include allocations to apply the payment against specific bills.

Create Company
create_company
read-only: falsedestructive: falseidempotent: falseopen-world: false

Creates a new customer company record in Avaza.

Create Contact
create_contact
read-only: falsedestructive: falseidempotent: falseopen-world: false

Creates a new external contact, optionally linked to an existing company. If CompanyName is provided and not matched, a new company is created.

Create Estimate
create_estimate
read-only: falsedestructive: falseidempotent: falseopen-world: false

Creates a new draft estimate (quote). Optionally creates a new customer company and contact if no matching company is found.

Create Expense
create_expense
read-only: falsedestructive: falseidempotent: falseopen-world: false

Creates a new expense entry. Primarily for automated/programmatic use. When a user is interacting via a chat UI, prefer NewExpense instead which provides an interactive form. Requires at minimum an expense date, amount, and expense category (by ID or name).

Create Fixed Amount
create_fixed_amount
read-only: falsedestructive: falseidempotent: falseopen-world: false

Creates a new fixed-amount billing entry against a task. The project is always derived from the task, and the amount is in the currency of the customer the task's project belongs to (rounded to that currency's decimal places). Fixed amounts cannot be added to tasks on internal or archived projects. The created entry is immediately visible to list_fixed_amounts and can be invoiced by linking its FixedAmountID on an invoice line.

Create Inventory Item
create_inventory_item
read-only: falsedestructive: falseidempotent: falseopen-world: false

Creates a new inventory/product item. Name is required and must be unique in the account; SKU (when provided) must also be unique. Use list_taxes to find tax IDs.

Create Invoice
create_invoice
read-only: falsedestructive: falseidempotent: falseopen-world: false

Creates a new draft invoice. Optionally creates a new customer company and contact if no matching company is found. Use list_inventory to find InventoryItemIDFK values for line items. Line items can link uninvoiced timesheets/expenses/fixed amounts via TimesheetEntryIDs/ExpenseIDs/FixedAmountIDs - amounts, descriptions and taxes are calculated from the linked records unless supplied, and the records are marked invoiced. Atomic: if any link is invalid the whole invoice is rejected with per-ID reasons. If a retry returns 'already linked to' the invoice you just created, the original call succeeded. Links cannot be used when creating a new customer.

Record Customer Payment
create_payment
read-only: falsedestructive: falseidempotent: falseopen-world: false

Records a new customer payment. Optionally include allocations to apply the payment against specific invoices.

Create Project
create_project
read-only: falsedestructive: falseidempotent: falseopen-world: false

Creates a new project in Avaza, linked to a customer company. Optionally creates a new company if CompanyName is provided and not matched. If ProjectStatusCode is omitted, the project is created with the account's default-for-new-projects status. If projectBillableTypeCode / projectBudgetTypeCode are omitted, the account's default billing and budget methods for new projects are applied. Response includes ProjectStatusCode, ProjectStatusName, ProjectStatusColor, ProjectStatusIsNotStarted, and ProjectStatusIsComplete.

Create Project Section
create_section
read-only: falsedestructive: falseidempotent: falseopen-world: false

Creates a new section (task group) within a project.

Create Task
create_task
read-only: falsedestructive: falseidempotent: falseopen-world: false

Creates a new task in a project section. Requires ProjectIDFK, SectionIDFK, and Title. Optionally assign users, set dates, priority, estimated effort, tags, and a parent task (to create a subtask).

Create Timesheet Entry
create_timesheet
read-only: falsedestructive: falseidempotent: falseopen-world: false

Creates a new timesheet entry. If Duration is null or 0, a timer will be started automatically. Requires ProjectIDFK and TimesheetCategoryIDFK.

Create Webhook
create_webhook
read-only: falsedestructive: falseidempotent: falseopen-world: false

Creates a new webhook subscription for a single event type. Call once per event type. On success, returns the ID of the new webhook subscription. Valid event codes: company_created, company_deleted, company_updated, contact_created, contact_deleted, contact_updated, invoice_created, invoice_sent, invoice_updated, invoice_deleted, project_created, project_deleted, project_updated, task_created, task_updated, task_deleted, timesheet_created, timesheet_deleted, timesheet_updated, bill_created, bill_updated, estimate_created, estimate_updated, estimate_deleted, expense_created, expense_updated, expense_deleted, scheduleseries_created, scheduleseries_updated, scheduleseries_deleted, team_member_created, team_member_updated, team_member_deleted.

Delete Estimate (Preview)
delete_estimate
read-only: falsedestructive: trueidempotent: falseopen-world: false

Preview deletion of an estimate (quote). Returns estimate details and a confirmation_token (valid 5 minutes). Call ConfirmDeleteEstimate with the same estimateId and token to execute. Only estimates in Draft, Sent, Accepted or Rejected status can be deleted; estimates that have been converted to an invoice are protected. Clients that support MCP Apps will see an interactive confirmation card.

Delete Expenses (Preview)
delete_expenses
read-only: falsedestructive: trueidempotent: falseopen-world: false

Request deletion of expense entries. Returns a preview of what will be deleted and a confirmation_token (valid 5 minutes). To execute the deletion, call ConfirmDeleteExpenses with the same expenseIDs and the returned confirmation_token. Clients that support MCP Apps will see an interactive confirmation card.

Delete Schedule Series (Preview)
delete_schedule_series
read-only: falsedestructive: trueidempotent: falseopen-world: false

Preview deletion of a schedule series (booking or leave). Also removes all associated daily schedule assignments. Returns a confirmation_token (valid 5 minutes). Call ConfirmDeleteScheduleSeries with the same ID and token to execute. Clients that support MCP Apps will see an interactive confirmation card.

Delete Project Section (Preview)
delete_section
read-only: falsedestructive: trueidempotent: falseopen-world: false

Preview deletion of a section. Cannot delete a Section that contains Tasks. Returns a confirmation_token (valid 5 minutes). Call ConfirmDeleteSection with the same sectionID and token to execute. Clients that support MCP Apps will see an interactive confirmation card.

Delete Task (Preview)
delete_task
read-only: falsedestructive: trueidempotent: falseopen-world: false

Preview deletion of a task. Returns task details and a confirmation_token (valid 5 minutes). Call ConfirmDeleteTask with the same taskID and token to execute. Clients that support MCP Apps will see an interactive confirmation card.

Delete Timesheet (Preview)
delete_timesheet
read-only: falsedestructive: trueidempotent: falseopen-world: false

Preview deletion of a timesheet entry. Returns entry details and a confirmation_token (valid 5 minutes). Call ConfirmDeleteTimesheet with the same timesheetId and token to execute. Clients that support MCP Apps will see an interactive confirmation card.

Delete Webhook by ID (Preview)
delete_webhook_by_id
read-only: falsedestructive: trueidempotent: falseopen-world: false

Preview deletion of a webhook subscription by its numeric ID. Returns webhook details and a confirmation_token (valid 5 minutes). Call ConfirmDeleteWebhookById to execute. Clients that support MCP Apps will see an interactive confirmation card.

Delete Webhook by URL (Preview)
delete_webhook_by_url
read-only: falsedestructive: trueidempotent: falseopen-world: false

Preview deletion of a webhook subscription by its callback URL. Returns a confirmation_token (valid 5 minutes). Call ConfirmDeleteWebhookByUrl with the same URL and token to execute. Clients that support MCP Apps will see an interactive confirmation card.

Edit Schedule Booking
edit_schedule_booking
read-only: falsedestructive: trueidempotent: trueopen-world: false

Updates an existing project work schedule booking.

Edit Schedule Leave
edit_schedule_leave
read-only: falsedestructive: trueidempotent: trueopen-world: false

Updates an existing leave schedule booking.

Edit Task Comment
edit_task_comment
read-only: falsedestructive: trueidempotent: trueopen-world: false

Edits an existing task comment (message) that the CURRENT USER authored. Replaces the comment body and, optionally, its attachment set. Author-only — you can only edit your own comments, and system/auto-generated messages cannot be edited. The edit is silent (it does not re-fire the original 'new comment' notification), but any NEWLY-added @mentions are notified and followed. Use list_task_comments to find the TaskResponseID (and its current attachments) first.

Expense Summary
expense_summary
read-only: truedestructive: falseidempotent: falseopen-world: false

Retrieves aggregated expense statistics for a date range, with optional grouping by up to three dimensions. GroupBy values: Category, ChargeableStatus, Merchant, ApprovalStatus, ReimbursementStatus, Customer, Project, User, Task, Year, Month, Day, Week.

Get Account Settings
get_account
read-only: truedestructive: falseidempotent: falseopen-world: false

Retrieves configuration details for the authenticated Avaza account, including timesheet settings, currency, branding, and feature flags.

Get Supplier Bill
get_bill
read-only: truedestructive: falseidempotent: falseopen-world: false

Retrieves a single supplier bill by its Transaction ID, including line items, issuer/recipient address details, and web links.

Get Bill Payment
get_bill_payment
read-only: truedestructive: falseidempotent: falseopen-world: false

Retrieves a single supplier bill payment by its Transaction ID, including allocations to bills.

Get Company
get_company
read-only: truedestructive: falseidempotent: falseopen-world: false

Retrieves a single customer company by its Company ID, including contacts and billing address details.

Get Contact
get_contact
read-only: truedestructive: falseidempotent: falseopen-world: false

Retrieves a single external contact by their Contact ID.

Get Credit Note
get_credit_note
read-only: truedestructive: falseidempotent: falseopen-world: false

Retrieves a single credit note by its Transaction ID, including line items and invoice allocations.

Get Estimate
get_estimate
read-only: truedestructive: falseidempotent: falseopen-world: false

Retrieves a single estimate by its Estimate ID, including line items, issuer/recipient details, and web links.

Get Expense
get_expense
read-only: truedestructive: falseidempotent: falseopen-world: false

Retrieves a single expense entry by its Expense ID, including category, project, tax, attachment, and approval details.

Get Inventory Item
get_inventory_item
read-only: truedestructive: falseidempotent: falseopen-world: false

Retrieves a single inventory/product item by its Inventory Item ID.

Get Invoice
get_invoice
read-only: truedestructive: falseidempotent: falseopen-world: false

Retrieves a single invoice by its Transaction ID, including line items, issuer/recipient address details, and web links. Each line item includes TimesheetEntryIDs, ExpenseIDs and FixedAmountIDs arrays listing the source records it invoices (empty when the line has no linked records).

Get Customer Payment
get_payment
read-only: truedestructive: falseidempotent: falseopen-world: false

Retrieves a single customer payment by its Transaction ID, including allocations to invoices.

Get Project
get_project
read-only: truedestructive: falseidempotent: falseopen-world: false

Retrieves full project details by Project ID, including sections, team members with rates and permissions, and project tags. Payload includes ProjectStatusCode plus ProjectStatusName, ProjectStatusColor, ProjectStatusIsNotStarted, and ProjectStatusIsComplete. Project Statuses are per-account configurable.

Get Recurring Invoice
get_recurring_invoice
read-only: truedestructive: falseidempotent: falseopen-world: false

Retrieves a single recurring invoice profile by its ID, including line items, schedule configuration, and next invoice date.

Get Running Timer
get_running_timer
read-only: truedestructive: falseidempotent: falseopen-world: false

Checks if there is a currently running timer for the authenticated user (or an impersonated user). Returns timer start time, timesheet entry ID, and server time for clock synchronisation.

Get Task
get_task
read-only: truedestructive: falseidempotent: falseopen-world: false

Retrieves full task details by Task ID, including project context, section, assignees, dates, status, priority, tags, and time tracking information. Response includes ParentTaskIDFK, ParentTaskTitle, SubtaskCount, and SubtaskProgress for tasks that are part of a parent/child hierarchy.

Get Timesheet Entry
get_timesheet
read-only: truedestructive: falseidempotent: falseopen-world: false

Retrieves a single timesheet entry by its Timesheet Entry ID, including user, project, category, approval, and timer details.

Get Uninvoiced Summary
get_uninvoiced_summary
read-only: truedestructive: falseidempotent: falseopen-world: false

Aggregated 'what is ready to bill?' view: uninvoiced billable hours and indicative time value, uninvoiced chargeable expense value, and uninvoiced fixed amount totals, grouped per customer (default) or per project. Time and fixed amounts are in each customer's currency; expense values are in the account's base currency (before markup). Use preview_uninvoiced_items for exact invoice-ready amounts for one customer's invoice.

List Bill Payments
list_bill_payments
read-only: truedestructive: falseidempotent: falseopen-world: false

Retrieves a paginated list of supplier bill payments, including payment allocations to specific bills.

List Supplier Bills
list_bills
read-only: truedestructive: falseidempotent: falseopen-world: false

Retrieves a paginated list of supplier bills with line items, status, and address details. TransactionStatusCode values: Draft, Verified, Late, Paid, Partial, Void.

List Companies
list_companies
read-only: truedestructive: falseidempotent: falseopen-world: false

Retrieves a paginated list of customer companies with full details including contacts, billing address, and financial settings.

List Contacts
list_contacts
read-only: truedestructive: falseidempotent: falseopen-world: false

Retrieves a paginated list of external contacts (customer contacts) with company association details.

List Credit Notes
list_credit_notes
read-only: truedestructive: falseidempotent: falseopen-world: false

Retrieves a paginated list of customer credit notes, including line items and allocations against invoices.

List Currencies
list_currencies
read-only: truedestructive: falseidempotent: falseopen-world: false

Retrieves the list of currencies configured in the Avaza account, including currency codes, names, symbols, and decimal places.

List Custom Fields
list_custom_fields
read-only: truedestructive: falseidempotent: falseopen-world: false

Retrieves the account's active custom field definitions mapped to an entity type (e.g. Task or Project), in display order, including data type, multi-select flag, required flag, visibility, and the active options for Dropdown fields. Use the returned CustomFieldDefinitionID (or Name) when setting values via the customFields parameter on create_task / update_task / create_project / update_project. Custom field definitions and options CANNOT be created or modified via MCP or the public API — values only; definitions are managed by account admins in Avaza settings. Returns an empty list when the account's Custom Fields feature is disabled.

List Deleted Timesheets
list_deleted_timesheets
read-only: truedestructive: falseidempotent: falseopen-world: false

Retrieves deleted (tombstone) timesheet entries for synchronisation purposes. Admin access only. Supports filtering by deletion date, entry date range, and user.

List Estimates
list_estimates
read-only: truedestructive: falseidempotent: falseopen-world: false

Retrieves a paginated list of estimates/quotes. EstimateStatusCode values: Draft, Sent, Accepted, Converted, Expired, Rejected.

List Expense Categories
list_expense_categories
read-only: truedestructive: falseidempotent: falseopen-world: false

Retrieves the list of expense categories configured in the account, including unit price settings for per-unit expense tracking (e.g. Mileage).

List Expenses
list_expenses
read-only: truedestructive: falseidempotent: falseopen-world: false

Retrieves a paginated list of expense entries with rich filtering by date range, user, project, category, chargeable/invoiced status, approval status, and merchant.

List Fixed Amounts
list_fixed_amounts
read-only: truedestructive: falseidempotent: falseopen-world: false

Retrieves a paginated list of fixed-amount billing entries used for fixed-price project invoicing. Can filter by project, task, customer company, invoiced status, and updated date. Entries include InvoiceLineItemIDFK when they have been invoiced; use isInvoiced=false to find uninvoiced fixed amounts ready for billing.

List Inventory Items
list_inventory
read-only: truedestructive: falseidempotent: falseopen-world: false

Retrieves a paginated list of inventory/product items configured in the account, used as line items on invoices, bills, and estimates.

List Invoices
list_invoices
read-only: truedestructive: falseidempotent: falseopen-world: false

Retrieves a paginated list of invoices. TransactionStatusCode values: Draft, Sent, Late, Paid, Partial, Void.

List Customer Payments
list_payments
read-only: truedestructive: falseidempotent: falseopen-world: false

Retrieves a paginated list of customer payments, including allocations to specific invoices. Can filter by invoice or updated date.

List Project Members
list_project_members
read-only: truedestructive: falseidempotent: falseopen-world: false

Retrieves a list of project members with rates and permissions. Include at least one of ProjectID or UserID parameters.

List Project Tags
list_project_tags
read-only: truedestructive: falseidempotent: falseopen-world: false

Retrieves all project tags in the account (the account-wide tag pool) as an array of { ProjectTagID, Name }, sorted alphabetically by name. Includes tags not currently assigned to any project — useful for populating tag pickers/filters. Requires project create or update permission.

List Projects
list_projects
read-only: truedestructive: falseidempotent: falseopen-world: false

Retrieves a paginated list of projects with details including status, billing type, budget, category, and date range. Each project payload includes ProjectStatusCode plus ProjectStatusName, ProjectStatusColor, ProjectStatusIsNotStarted, and ProjectStatusIsComplete. Project Statuses are per-account configurable: default codes (NotStarted, InProgress, Complete, OnHold) are seeded for every account, but admins may add custom codes. Codes are unique within an account and stable once created — safe to use as durable references. Each project payload also includes its assigned ProjectTags (alphabetical); filter by tag with the tags / tagMatchMode parameters.

List Recurring Invoices
list_recurring_invoices
read-only: truedestructive: falseidempotent: falseopen-world: false

Retrieves a paginated list of recurring invoice profiles.

List Schedule Assignments
list_schedule_assignments
read-only: truedestructive: falseidempotent: falseopen-world: false

Retrieves a paginated list of per-day schedule assignments. Schedule assignments are per-day and link to a parent Schedule Series.

List Schedule Series
list_schedule_series
read-only: truedestructive: falseidempotent: falseopen-world: false

Retrieves a paginated list of schedule series. A Schedule Series represents a strip of time assigned to a user over a date range, for a certain number of hours per day. They can be for Leave or for project work Bookings.

List Project Sections
list_sections
read-only: truedestructive: falseidempotent: falseopen-world: false

Retrieves a list of sections (task groups) within a project. Requires a ProjectID parameter.

List Task Comments
list_task_comments
read-only: truedestructive: falseidempotent: falseopen-world: false

Retrieves the comments (discussion messages) on a specific task, including replies, attachments, and system messages. Supports pagination via startItem.

List Task Priorities
list_task_priorities
read-only: truedestructive: falseidempotent: falseopen-world: false

Retrieves all task priority definitions configured in the account, including priority code, display name, color, and display order. Results are ordered by DisplayOrder ascending.

List Task Statuses
list_task_statuses
read-only: truedestructive: falseidempotent: falseopen-world: false

Retrieves all task status definitions configured in the account, grouped by task type. Includes status codes, display names, colors, sort order, and whether the status represents a completed state.

List Task Types
list_task_types
read-only: truedestructive: falseidempotent: falseopen-world: false

Retrieves all task type definitions (workflow types) configured in the account, including name, icon, and whether it is the default type.

List Tasks
list_tasks
read-only: truedestructive: falseidempotent: falseopen-world: false

Retrieves a paginated list of tasks with details including assignees, dates, status, priority, tags, and time tracking. Supports filtering by project, status, priority, due date range, assigned user, and completion state. Response items include ParentTaskIDFK, ParentTaskTitle, SubtaskCount, and SubtaskProgress for tasks that are part of a parent/child hierarchy.

List Taxes
list_taxes
read-only: truedestructive: falseidempotent: falseopen-world: false

Retrieves all tax rates configured in the Avaza account, including tax components for compound taxes.

List Timesheet Categories
list_timesheet_categories
read-only: truedestructive: falseidempotent: falseopen-world: false

Retrieves the list of timesheet/billing categories assigned to projects. Default sort order is by isBillable desc, Name asc.

List Timesheets
list_timesheets
read-only: truedestructive: falseidempotent: falseopen-world: false

Retrieves a paginated list of timesheet entries with rich filtering by date range, user, project, task, category, billable/invoiced status, approval status, and running timer state.

List Users
list_users
read-only: truedestructive: falseidempotent: falseopen-world: false

Get users (team members) in the current Avaza account. Admin and Finance Managers can see all users; other roles are limited to seeing their own profile.

List Webhooks
list_webhooks
read-only: truedestructive: falseidempotent: falseopen-world: false

Retrieves all active webhook subscriptions for the authenticated account.

Look Up Companies
lookup_companies
read-only: truedestructive: falseidempotent: falseopen-world: false

Retrieves a paginated dropdown list of companies. Admins see all companies; non-admins see only companies from projects they are a member of.

Look Up Expense Groups
lookup_expense_groups
read-only: truedestructive: falseidempotent: falseopen-world: false

Retrieves a paginated list of expense group/trip names for categorising expenses, with optional search filtering.

Look Up Expense Merchants
lookup_expense_merchants
read-only: truedestructive: falseidempotent: falseopen-world: false

Retrieves a minimal dropdown list of expense merchant names for search/autocomplete.

Look Up Expense Payment Methods
lookup_expense_payment_methods
read-only: truedestructive: falseidempotent: falseopen-world: false

Retrieves the list of expense payment methods configured in the Avaza account.

Look Up Projects
lookup_projects
read-only: truedestructive: falseidempotent: falseopen-world: false

Retrieves a minimal dropdown list of active projects grouped by customer company, for search/autocomplete. Supports filtering by user timesheet access, company, project code, and search term.

Look Up Tasks
lookup_tasks
read-only: truedestructive: falseidempotent: falseopen-world: false

Retrieves tasks grouped by section within a project for dropdown/autocomplete use. Default sort is by Section Title followed by Task Title.

New Expense (Form)
new_expense
read-only: falsedestructive: falseidempotent: falseopen-world: false

Opens the Create Expense form UI pre-populated with dropdown data for users, expense categories, taxes, currencies, and customers. The user fills in the form and submits to create a new expense. This tool should always be preferred when a user is interacting via a chat UI. Clients that support MCP Apps will see an interactive form. If no userIDFK is provided, the form defaults to the currently authenticated user.

New Project (Form)
new_project
read-only: falsedestructive: falseidempotent: falseopen-world: false

Opens the Create Project form UI pre-populated with the customer dropdown and account-level configuration (e.g. whether Project Code is manually editable). The user fills in the form and submits to create a new project. This tool should always be preferred when a user is interacting via a chat UI. Clients that support MCP Apps will see an interactive form.

New Task (Form)
new_task
read-only: falsedestructive: falseidempotent: falseopen-world: false

Opens the Create Task form UI pre-populated with dropdown data for projects, task types, priorities, sections, and project members. The user fills in the form and submits to create a new task. This tool should always be preferred when a user is interacting via a chat UI. Clients that support MCP Apps will see an interactive form.

New Timesheet (Form)
new_timesheet
read-only: falsedestructive: falseidempotent: falseopen-world: false

Opens the Create Timesheet form UI pre-populated with dropdown data for projects, timesheet categories, and tasks. The user fills in the form and submits to create a new timesheet entry. If Duration is left blank, the form submits as a Start Timer action; if Duration is set, a saved entry is created. This tool should always be preferred when a user is interacting via a chat UI. Clients that support MCP Apps will see an interactive form.

Preview Uninvoiced Items
preview_uninvoiced_items
read-only: truedestructive: falseidempotent: falseopen-world: false

DRY RUN: computes the line items add_uninvoiced_to_invoice would create for the given filters - quantities, blended rates, converted expense amounts with markup, generated descriptions and the source record IDs each line covers - WITHOUT saving anything or marking any record invoiced. Use it to answer 'what is ready to bill onto this invoice?' and to confirm with the user before adding. Provide at least one of time/expenses/fixedAmounts.

Reject Timesheets
reject_timesheets
read-only: falsedestructive: trueidempotent: falseopen-world: false

Rejects one or more submitted timesheet entries. Requires both APIApproveTimesheet and ApproveTimesheets rights on the calling user. By default sends a rejection notification email to each affected timesheet user — pass sendNotifications=false to suppress. Returns a batch result with per-entry status; already-rejected entries are counted under Summary.AlreadyInTargetState.

Remove Invoice Line Items
remove_invoice_line_items
read-only: falsedestructive: trueidempotent: falseopen-world: false

Deletes specific line items from an invoice and releases any timesheets/expenses/fixed amounts linked to them back to uninvoiced (they can then be invoiced again). Only the named line items are touched. The invoice must not be Void and must retain at least one line item; totals, balance and status are recalculated. Returns the updated invoice and the released source record IDs.

Start Timer
start_timer
read-only: falsedestructive: trueidempotent: falseopen-world: false

Starts a timer on an existing timesheet entry. If the entry is not on the current day or start/end times are enabled, a new timesheet entry is created for the timer.

Stop Timer
stop_timer
read-only: falsedestructive: trueidempotent: falseopen-world: false

Stops the running timer on a timesheet entry. The elapsed time is added to the entry's duration.

Submit Expenses
submit_expenses
read-only: falsedestructive: trueidempotent: falseopen-world: false

Submit expenses for approval. If no ExpenseIDs are provided, submits all verified expenses for approval.

Submit Timesheets
submit_timesheets
read-only: falsedestructive: trueidempotent: falseopen-world: false

Submits timesheet entries for approval. Either provide a specific day (WholeDayOf) or any day within a week (WholeWeekOf) to submit all draft timesheets in that day or week.

Timesheet Summary
timesheet_summary
read-only: truedestructive: falseidempotent: falseopen-world: false

Retrieves aggregated timesheet statistics for a date range, with optional grouping by up to three dimensions. GroupBy values: Customer, Project, Category, User, Task, Year, Month, Day, Week.

Update Company
update_company
read-only: falsedestructive: trueidempotent: trueopen-world: false

Updates an existing company record. Only fields listed in the FieldsToUpdate array will be modified.

Update Expense
update_expense
read-only: falsedestructive: trueidempotent: trueopen-world: false

Updates an existing expense entry. Only fields listed in the FieldsToUpdate array will be modified. Requires the ExpenseID and FieldsToUpdate properties.

Update Fixed Amount
update_fixed_amount
read-only: falsedestructive: trueidempotent: trueopen-world: false

Updates an existing fixed-amount billing entry. Only fields listed in the FieldsToUpdate array will be modified. Valid FieldsToUpdate values: Amount, InventoryItemIDFK, Notes. A fixed amount that has already been invoiced cannot be updated - remove it from the invoice first to release it. The task and project links cannot be changed. To clear Notes, include "Notes" in fieldsToUpdate and omit the notes value.

Update Invoice
update_invoice
read-only: falsedestructive: trueidempotent: trueopen-world: false

Updates an existing draft invoice. Only fields listed in the FieldsToUpdate array will be modified. Valid FieldsToUpdate values: CustomerPONumber, DateIssued, PaymentTerms, DueDate, Subject, Notes, TransactionTaxConfigCode, ExchangeRate, InvoiceTemplateIDFK, InvoiceNumber, LineItems. WARNING: when LineItems is included this is a FULL REPLACEMENT - every existing line item not present in the array is DELETED, and any timesheets/expenses/fixed amounts linked to a deleted line are released back to uninvoiced. To APPEND line items safely, prefer add_invoice_line_items. NEW lines in the array may link uninvoiced source records via TimesheetEntryIDs/ExpenseIDs/FixedAmountIDs.

Update Project
update_project
read-only: falsedestructive: trueidempotent: trueopen-world: false

Updates an existing project. Only fields listed in the FieldsToUpdate array will be modified. Response includes ProjectStatusCode plus ProjectStatusName, ProjectStatusColor, ProjectStatusIsNotStarted, and ProjectStatusIsComplete.

Update Project Member
update_project_member
read-only: falsedestructive: trueidempotent: trueopen-world: false

Updates a project member's rates, budget, or permissions. Only fields listed in the FieldsToUpdate array will be modified. Financial amounts assume the currency of the parent Company.

Update Task
update_task
read-only: falsedestructive: trueidempotent: trueopen-world: false

Updates an existing task. Requires TaskID and a list of field names to update. Only fields in FieldsToUpdate will be modified.

Update Timesheet Entry
update_timesheet
read-only: falsedestructive: trueidempotent: trueopen-world: false

Updates an existing timesheet entry. Only fields listed in FieldsToUpdate will be modified. ProjectIDFK is always required.

Upload File from URL
upload_file_from_url
read-only: falsedestructive: falseidempotent: falseopen-world: true

Uploads a file to Avaza by fetching it from a public https URL. Returns FileAttachments[] with the new FileAttachmentID. Optionally link the upload inline to a Task, Expense, Estimate, or Invoice by supplying linkToEntityType + linkToEntityId; otherwise the file is created as a Draft. The server fetches the URL with no auth headers and applies SSRF protection (blocks private/loopback/link-local IPs, AWS metadata 169.254.169.254, IPv6 ULA). Max 50 MB download.

Connecting to Claude
1 Open Claude.aiSettingsIntegrations
2 Click Add integration and paste the MCP endpoint: https://mcp.avaza.com/mcp
3 Authorise with your Avaza account when prompted — the server handles token refresh automatically.