DOCS

Search the developer hub

Jump to a page or an endpoint.

MCP tools

Every tool the CREW25 MCP server offers, and which ones change records.

The server offers 100 tools: 42 that only read, and 58 that change records.

A read-only connection is offered only the first group. A tool for a feature the organisation has switched off is not offered at all, and every tool still checks what the person behind the connection may do, so a worker's agent never sees pay rates or margins.

Tools that change something important, such as voiding an invoice or cancelling a job, answer with a preview first. The agent shows the person what will happen and calls again with confirmed: true once they agree.

Read

Tool What it does
get_organisation The organisation the person is working in: its name, trade, timezone and plan.
list_people The people on the team: their id, type (owner, admin, office, worker or subcontractor) and position.
list_jobs Jobs the person can see, soonest first.
list_clients The organisation’s customers with their contacts, sites and how many jobs are open.
get_schedule Who is planned onto which job, day by day, for a range of dates (default: the next 7 days).
get_hours Hours logged, totalled by person, for a range of dates (default: the last 7 days).
get_job_margins What each job is bringing in and has cost so far: price, labour, overheads, other costs and margin.
list_quotes The organisation’s quotes, newest first, with customer, total and status.
list_invoices Invoices, newest first.
get_job_brief A briefing on one job: scope, customer contact, assigned people, dates, stages and recent updates.
search_price_book Find active price-book items by name or category, with saved unit rates.
list_bundles Find active bundles (price-book items sold together as a set) by name, with their lines and unit prices.
search_knowledge Search the organisation's Knowledge: its own SOPs, procedures, guides, policies, checklists and wiki pages, written by the team.
read_knowledge_page Read one Knowledge page in full as text, by the id search_knowledge returned or the id in the Knowledge list.
get_invite_link The organisation's invite link for bringing another business onto CREW25, and the reward.
get_setup_progress How far along the organisation's setup is: each setup step, whether it is done, and where to do it.
review_xero Owners and admins: read the organisation’s connected Xero to see what could be brought into CREW25: business details that would fill blanks here, customers, suppliers and price list items, each with how many are already here.
get_quote One quote in full: number, title, customer, site, contact, status, valid-until date, tax mode, each stage and its lines (description, quantity, unit, unit price), subtotal, GST and total, the payment schedule and the job started from it.
get_invoice One invoice in full: number, customer, job, status, invoice and due dates, whether it is overdue, when and how it was paid, every line, subtotal, GST, total and notes.
list_time_entries The individual hours entries over a range of dates (default: the last 7 days, up to 93), newest first, with an id for each, who and which job, and totals.
get_timer Whether the person is on the clock, and for which job and how long.
list_allocations The planned work with the ids needed to change it: each person’s whole-day allocations and timed visits over a range (default: the next 14 days, up to 92), optionally for one job (jobId) or one person (personId).
list_time_off Who is off over a range (default: the next 14 days, up to 92): leave, rostered days off and sick days, each approved or requested and still waiting for approval, plus the days the business is closed.
list_job_stages The stages of one job (such as slab, frame, fit-off) with their ids, status and planned dates.
list_variations The variations on a job (V-1, V-2…): changes to what it was quoted for, with amount ex GST, status (draft, sent, approved, declined) and whether invoiced.
list_job_files The photos, documents and signatures kept on a job, with name, caption, stage, who added them and when.
list_job_forms The forms filled in on a job (checklists, SWMS, inspections) with who completed them, when and their answers.
search One search across jobs, customers, quotes, invoices, people, suppliers, purchase orders, bills and Knowledge pages, as the office search box does.
run_report Run one of the office reports and read it back.
list_bookings Online booking requests and bookings that customers sent through the organisation’s booking page, with ids.
get_booking One online booking request in full: the customer’s contact details and address, what they asked for, their answers to the booking questions, the time requested or booked, who it is with, and its job and quote.
get_booking_times The days and times a booking request could be given, with the people free at each, for a range of dates (to defaults to from, at most 14 days).
list_credentials Licences, tickets, certificates and insurances held by the team, soonest to expire first, with their numbers and expiry.
list_suppliers The businesses and subcontractors the organisation buys from, with contact details, what is owed to each on bills awaiting payment, and how many purchase orders are open.
search_purchase_items Find price-book items the business buys, with the saved unit cost ex GST, unit, preferred supplier and supplier code.
list_purchase_orders Purchase orders, newest first, with supplier, job, status, delivery date and total including GST.
get_purchase_order One purchase order in full: supplier, job, status, delivery details, each line with what was ordered, received so far and billed, the deliveries received, and the bills made from it.
list_bills Bills from suppliers, newest first, with supplier, dates, status and total including GST.
get_bill One supplier bill in full: supplier, dates, status, each line with the job and cost type it is allocated to, attached documents, and the purchase orders it was made from.
list_stock Items the business holds in stock (tracked inventory): on hand, unit, reorder point, what is already on order, average cost and value, and the preferred supplier.
list_takeoffs The plan takeoffs on one job, newest first: how many items and measurements each has and the quote it was sent to.
get_takeoff One takeoff in full: its plans, and each item with its measured quantity and unit (waste, height and depth applied) and, where priced from a price-book item, the unit price and line total at saved rates.

Change records

Tool What it does
post_job_update Posts an update on a job the person can see, for everyone on the job and the office.
update_price_book_items Change the unit price and/or cost, ex GST in dollars, of price-book items by id (from search_price_book).
archive_price_book_items Archive price-book items by id (from search_price_book), as the price book’s Archive does: they leave the price book and new quotes, while quotes, invoices and other records already using them keep them, and the office can restore them from the Archived filter.
archive_bundles Archive bundles by id (from list_bundles): they leave the price book and new quotes, while quotes already using them keep their lines, and the office can restore them.
create_job Create an enquiry job for an existing customer, with a title, scope and optional dates/site.
plan_person_on_job Put a person on a job for whole days, as the schedule board does: one day, or a run of days.
book_visit Book a person onto a job at a time on one day: a visit with a start time and length, as the visit calendar does.
create_draft_quote Create an unsent draft quote for an existing customer from price-book item ids and explicit quantities.
create_form Create a new form in the organisation's forms library: a checklist, safe work method statement (swms) or inspection that people fill in on a job.
add_records Owners and admins: add the people (with pay rates), customers, prices, jobs and bundles (items sold together as a set) the person has given in this conversation, typed or in attached files such as a staff list or rate card.
update_business_details Owners and admins: save the business details the person gave, as Settings → Organisation does: trading name, legal name, ABN, whether they are registered for GST (which decides whether quotes and invoices add GST), licence number, phone, accounts email, website and business address.
import_from_xero Owners and admins: import records from the connected Xero, as the person chose: business details (fills only blanks), customers (all of them), suppliers, and price list items with their prices and costs.
update_draft_quote Replace the lines of a DRAFT quote with price-book items and quantities, and optionally change its title, notes or valid-until date.
set_quote_status Mark a SENT quote accepted or declined, as the office does by hand when the customer answers outside CREW25 (a phone call, a text, a reply to the email).
create_job_from_quote Start a job from an ACCEPTED quote, as the office does by hand.
send_quote Send a draft or sent quote to the customer by email (the default), text message, or just make a link without sending anything.
get_quote_link A link anyone can open to read a quote online, made without sending it or changing its status, so the person can paste it into their own message.
set_quote_reminders Turn follow-up reminders on or off for one quote, overriding the organisation’s default, and say what is scheduled.
create_invoice Create a DRAFT invoice for a job or a customer, billed by hand.
create_invoice_from_quote Create a DRAFT invoice for one scheduled payment of an accepted quote, such as a deposit or a progress claim.
create_invoice_from_variation Create a DRAFT invoice for an approved variation that adds to a job.
send_invoice Send an invoice to the customer by email (default), text message or just get its link.
issue_invoice Issue a draft invoice without sending it: it becomes final (no more editing) and counts as owing, and is queued for Xero when that is connected and set to send on issue.
record_invoice_payment Mark an issued invoice as paid in full: money the business has already received.
void_invoice Void a draft or issued invoice, for one raised by mistake.
set_invoice_reminders Check or change the payment reminders for one invoice.
get_invoice_link A link the customer can open to read and pay an invoice, without sending anything or changing its status.
log_time Log hours worked on a job for one day, as the Timesheets screen does.
approve_timesheets Approve hours that are waiting, as the Timesheets screen does.
reopen_timesheets Reopen approved hours so they can be corrected, as the Timesheets screen does: they go back to waiting for approval.
delete_time_entry Delete one hours entry that is still waiting for approval, by id (from list_time_entries).
start_timer Put the person themselves on the clock for a job, starting now.
stop_timer Take the person off the clock and log the time as hours on the job.
move_allocation Change a whole-day allocation, as dragging it on the schedule does: new start and end dates (give both when moving a run of days), and/or a different person (personId).
remove_allocation Take a person off a job for the days of an allocation, or for one day of it (onlyDay).
remove_visit Remove a timed visit from the schedule.
reschedule_job Move a job to start on a new working day, as Reschedule on the schedule does.
add_time_off Record leave, a rostered day off, a sick day or other time off for a person, from startDate to endDate (default: the one day).
set_job_status Move a job to another status: enquiry, scheduled, in_progress, on_hold or completed, as the job’s status menu does.
cancel_job Cancel a job.
set_stage_status Mark one stage of a job pending, in_progress or complete, as ticking it off on the job’s overview does.
update_job Change a job’s title, scope (description), start and end dates, site, customer contact, or the people on it.
create_customer Add a new customer, with its name, email, phone and ABN, and optionally its first site address and a primary contact.
add_site Add a site (a place work is done) to an existing customer.
add_contact Add a contact (a person to deal with) to an existing customer, with name, role, email and phone.
create_variation Add a draft variation to a job: a change to what was quoted, with a title, optional reason and an amount ex GST in dollars (negative when work is taken out).
set_variation_status Mark a variation sent, approved or declined.
attach_to_job Save the files the person attached to their latest message onto a job’s files: images as photos, PDFs as documents, with an optional caption and stage.
complete_job_form Fill in a form from the library on a job, with the answers the person gave, recorded under their name as the job’s forms are.
close_out_job Close a job out, as the job’s Close out does: it checks what is outstanding (hours waiting for approval, running timers, scheduled payments not invoiced, unpaid invoices, future schedule), marks the job completed, takes its future allocations off the schedule, freezes what its hours cost and locks it against new hours, costs and forms.
reopen_job Reopen a job that was closed out, so it takes hours, costs and forms again and what its hours cost is live again.
confirm_booking Confirm an online booking that is awaiting confirmation (status Awaiting confirmation, with a time and a person already held).
decline_booking Decline an open online booking request (new, awaiting confirmation or quoted).
book_booking Give an online booking request a time: a quote request becomes a confirmed booking, or a booking is moved to another time.
create_purchase_order Create a draft purchase order for a supplier, optionally against a job, from price-book items the business buys and explicit quantities.
send_purchase_order Send a purchase order to its supplier: emails the PDF to the supplier’s address (or to another address you pass in to) and marks the order sent, which counts its job lines as committed cost.
receive_purchase_order Record goods received against a sent purchase order: everything still to come by default, or only the lines and quantities you give (line ids from get_purchase_order).
cancel_purchase_order Cancel a purchase order that has not had any goods received.