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. |