Local services & SaaS
Service Autopilot
Jobs, schedules, estimates and invoices in Service Autopilot.
14 endpoints
CrewNest's official MCP server has only 3 public pricing tools (checked 11 Nov 2026). Cotlet runs a hosted CrewNest MCP server with 78 tools that ChatGPT and Claude use in your own CrewNest account.
78 tools Read and write
CrewNest publishes an official, free Job Pricing MCP server with three read-only tools for public price calculations and benchmarks. It needs no sign-in or API key. It does not read your business's jobs, invoices, customers or crew assignments. No public account-management API documentation or self-serve key page was found.
| What you need | CrewNest official tools | By hand | Cotlet |
|---|---|---|---|
| Review pressure washing jobs | Pricing only | In your account | Through your browser |
| Read satellite estimates | Pricing only | In your account | Through your browser |
| List unpaid invoices | Pricing only | In your account | Through your browser |
| Check crew assignments | Pricing only | In your account | Through your browser |
| Create estimate draft | Pricing only | In your account | Unsent draft |
| Schedule job | Pricing only | In your account | After your OK |
| Assign crew member | Pricing only | In your account | After your OK |
Checked 11 Nov 2026. Sources: Official MCP documentation · API mention · Help center · Vendor integrations · ChatGPT apps directory · Claude connectors directory · Creating estimates · Creating jobs · Assigning jobs · Customers and properties · Customer entry · Customer imports · Service locations · Property measurements · Calendar changes · Recurring work · Job progress · Routes · Field notes and photos · Estimate delivery · Invoices · Payments and receivables · Team · Team invitations · Activity · Communication templates · Online booking · Business taxes · Recurring schedule changes · Team join requests · Customer referral codes · Recurring visit operations · Route order · Customer portal · Booking requests · Vendor guide: get dashboard · Vendor guide: get job completion report · Vendor guide: get estimate conversion report · Vendor guide: list document approvals · Vendor guide: send payment receipt · Vendor guide: list message history · Vendor guide: configure review requests · Vendor guide: update business settings · Vendor guide: set technician visibility · Vendor guide: transfer business ownership · Vendor guide: get subscription · Vendor guide: read customer portal · Vendor guide: confirm job assignment
Once, in a browser we host for you.
One address in its settings.
Turn completed cleaning jobs into invoices you approve.
Work in your own signed-in Cloud Browser. Actions that reach other people ask for your OK. Who can see your session
Sign in to CrewNest in a Cloud Browser. Open CrewNest in your Cotlet Cloud Browser and sign in with your own account.
Add the Cotlet address. Enter https://cotlet.dev/mcp/v1 as the MCP server or connector URL in your agent.
Let the agent in. Chat apps open a Cotlet sign-in page. Editors, n8n and scripts send an API key made in the console.
CrewNest shares the address https://cotlet.dev/mcp/v1 with every other app you enable, so one connector covers them all. Turned CrewNest on after connecting? Refresh the connector and the 78 tools appear.
Settings > Apps & Connectors > Create
MCP server URL: https://cotlet.dev/mcp/v1/connect
Authentication: OAuth Settings > Connectors > Add custom connector
URL: https://cotlet.dev/mcp/v1/connect
Claude Code:
claude mcp add --transport http cotlet \
https://cotlet.dev/mcp/v1 \
--header "Authorization: Bearer $COTLET_API_KEY" // ~/.cursor/mcp.json
{
"mcpServers": {
"cotlet": {
"url": "https://cotlet.dev/mcp/v1",
"headers": { "Authorization": "Bearer ${env:COTLET_API_KEY}" }
}
}
} # ~/.codex/config.toml
[mcp_servers.cotlet]
url = "https://cotlet.dev/mcp/v1"
bearer_token_env_var = "COTLET_API_KEY" MCP Client Tool (inside an AI Agent)
Transport: HTTP Streamable
URL: https://cotlet.dev/mcp/v1
Auth: Bearer, <your key>
Tool: crewnest_read Read customer contacts, service history, measurements and pending work. Edit customer contact fields and internal access notes.
Read customer contacts, service history, measurements and pending work.
MCP callcrewnest_read → list_customers
REST endpointGET https://cotlet.dev/api/v1/crewnest/customers
| Name | Type | Description |
|---|---|---|
| filter string | string | Client, record, date range or status to review. |
{
"example": true,
"result": "Records for review"
} Edit customer contact fields and internal access notes.
MCP callcrewnest_write → update_customer
REST endpointPATCH https://cotlet.dev/api/v1/crewnest/customer
| Name | Type | Description |
|---|---|---|
| record string required | string | Record or recipient selected in your account. |
| fields object required | object | Edit customer contact fields and internal access notes. |
{
"record": "record",
"fields": "fields"
} {
"example": true,
"result": "Saved in your account"
} Save a customer with their contact details and service address.
MCP callcrewnest_write → create_customer
REST endpointPOST https://cotlet.dev/api/v1/crewnest/customers
| Name | Type | Description |
|---|---|---|
| record string required | string | Record or recipient selected in your account. |
| fields object required | object | Save a customer with their contact details and service address. |
{
"record": "record",
"fields": "fields"
} {
"example": true,
"result": "Saved in your account"
} Import customer records from a reviewed CSV file.
MCP callcrewnest_write → import_customers
REST endpointPOST https://cotlet.dev/api/v1/crewnest/customers/import-customers
| Name | Type | Description |
|---|---|---|
| record string required | string | Record or recipient selected in your account. |
| fields object required | object | Import customer records from a reviewed CSV file. |
{
"record": "record",
"fields": "fields"
} {
"example": true,
"result": "Saved in your account"
} Edit the customer service address or add and edit extra estimate properties, keeping these separate.
MCP callcrewnest_write → manage_service_address
REST endpointPOST https://cotlet.dev/api/v1/crewnest/service-address/manage
| Name | Type | Description |
|---|---|---|
| record string required | string | Record or recipient selected in your account. |
| fields object required | object | Add or edit a customer service location and its property details. |
{
"record": "record",
"fields": "fields"
} {
"illustrative": true,
"result": "Review the result in your account"
} Generate a customer portal link or regenerate it after confirmation. Regeneration invalidates the old portal and previously emailed invoice payment links. Stop before sharing.
MCP callcrewnest_write → generate_customer_portal_link
REST endpointPOST https://cotlet.dev/api/v1/crewnest/customer-portal-link/generate
| Name | Type | Description |
|---|---|---|
| record string required | string | Record or recipient selected in your account. |
| fields object required | object | Generate a customer self-service portal link; stop before sharing it. |
{
"record": "record",
"fields": "fields"
} {
"illustrative": true,
"result": "Review the result in your account"
} Draw or adjust simple or multiple property zones in Satellite Scout and save the measured area for quoting. Read or load previous Satellite Scout property measurements.
Draw or adjust simple or multiple property zones in Satellite Scout and save the measured area for quoting.
MCP callcrewnest_write → measure_property
REST endpointPOST https://cotlet.dev/api/v1/crewnest/property/measure
| Name | Type | Description |
|---|---|---|
| record string required | string | Record or recipient selected in your account. |
| fields object required | object | Measure a customer property in Satellite Scout and save the area used for quoting. |
{
"record": "record",
"fields": "fields"
} {
"illustrative": true,
"result": "Review the result in your account"
} Read or load previous Satellite Scout property measurements.
MCP callcrewnest_read → list_measurement_history
REST endpointGET https://cotlet.dev/api/v1/crewnest/measurement-histories
| Name | Type | Description |
|---|---|---|
| request string required | string | The records, dates, fields or action to use in your signed-in account. |
{
"request": "request"
} {
"illustrative": true,
"result": "Review the result in your signed-in account"
} Review upcoming, completed or cancelled jobs and their scheduled services. Create a job with a customer, service, date, time and price; ask before scheduling.
Review upcoming, completed or cancelled jobs and their scheduled services.
MCP callcrewnest_read → list_jobs
REST endpointGET https://cotlet.dev/api/v1/crewnest/jobs
| Name | Type | Description |
|---|---|---|
| query string | string | A client name or date range to find. |
{
"example": true,
"result": "Records for review"
} Create a job with a customer, service, date, time and price; ask before scheduling.
MCP callcrewnest_write → schedule_job
REST endpointPOST https://cotlet.dev/api/v1/crewnest/job/schedule
| Name | Type | Description |
|---|---|---|
| customer string required | string | Existing customer name. |
| service_type string required | string | Service to schedule. |
| starts_at string required | string | Date and time in your business timezone. |
| price number required | number | Job price. |
| notes string | string | Technician instructions. |
{
"customer": "customer",
"service_type": "service type",
"starts_at": "starts at",
"price": 1
} {
"example": true,
"result": "Saved after confirmation"
} Review the scheduled jobs calendar and team workload.
MCP callcrewnest_read → list_calendar
REST endpointGET https://cotlet.dev/api/v1/crewnest/calendars
| Name | Type | Description |
|---|---|---|
| filter string | string | Client, record, date range or status to review. |
{
"example": true,
"result": "Records for review"
} Move an existing job to a different date or time.
MCP callcrewnest_write → reschedule_job
REST endpointPOST https://cotlet.dev/api/v1/crewnest/job/reschedule
| Name | Type | Description |
|---|---|---|
| record string required | string | Record or recipient selected in your account. |
| fields object required | object | Move an existing job to a different date or time. |
{
"record": "record",
"fields": "fields"
} {
"example": true,
"result": "Saved after confirmation"
} Assign a scheduled job to a team member or change its assignment.
MCP callcrewnest_write → assign_job
REST endpointPOST https://cotlet.dev/api/v1/crewnest/job/assign
| Name | Type | Description |
|---|---|---|
| job string required | string | Existing job to assign. |
| team_member string required | string | Existing team member name. |
{
"job": "job",
"team_member": "team member"
} {
"example": true,
"result": "Saved after confirmation"
} Set a job to On the Way, In Progress or Completed; completion may trigger a review email.
MCP callcrewnest_write → update_job_status
REST endpointPATCH https://cotlet.dev/api/v1/crewnest/job-status
| Name | Type | Description |
|---|---|---|
| record string required | string | Record or recipient selected in your account. |
| fields object required | object | Set a job to On the Way, In Progress or Completed; completion may trigger a review email. |
{
"record": "record",
"fields": "fields"
} {
"example": true,
"result": "Saved after confirmation"
} Cancel a job that has not been completed and retain its record.
MCP callcrewnest_write → cancel_job
REST endpointPOST https://cotlet.dev/api/v1/crewnest/job/cancel
| Name | Type | Description |
|---|---|---|
| record string required | string | Record or recipient selected in your account. |
| fields object required | object | Cancel a job that has not been completed and retain its record. |
{
"record": "record",
"fields": "fields"
} {
"example": true,
"result": "Saved after confirmation"
} Save the shared notes field on a job card for the team.
MCP callcrewnest_write → update_job_notes
REST endpointPATCH https://cotlet.dev/api/v1/crewnest/job-notes
| Name | Type | Description |
|---|---|---|
| record string required | string | Record or recipient selected in your account. |
| fields object required | object | Save the shared notes field on a job card for the team. |
{
"record": "record",
"fields": "fields"
} {
"example": true,
"result": "Saved in your account"
} Attach a supplied photo under 4 MB to the next upcoming job using the documented photo flow.
MCP callcrewnest_write → attach_job_photo
REST endpointPOST https://cotlet.dev/api/v1/crewnest/job-photo/attach
| Name | Type | Description |
|---|---|---|
| record string required | string | Record or recipient selected in your account. |
| fields object required | object | Attach a supplied photo under 4 MB to the next upcoming job using the documented photo flow. |
{
"record": "record",
"fields": "fields"
} {
"example": true,
"result": "Saved in your account"
} Assign a reviewed selection of jobs to a team member in bulk.
MCP callcrewnest_write → bulk_assign_jobs
REST endpointPOST https://cotlet.dev/api/v1/crewnest/assign-jobs/bulk
| Name | Type | Description |
|---|---|---|
| record string required | string | Record or recipient selected in your account. |
| fields object required | object | Assign a reviewed selection of jobs to a team member in bulk. |
{
"record": "record",
"fields": "fields"
} {
"example": true,
"result": "Saved after confirmation"
} Claim an available unassigned job for yourself when your role permits it.
MCP callcrewnest_write → claim_job
REST endpointPOST https://cotlet.dev/api/v1/crewnest/job/claim
| Name | Type | Description |
|---|---|---|
| record string required | string | Record or recipient selected in your account. |
| fields object required | object | Claim an available unassigned job for yourself when your role permits it. |
{
"record": "record",
"fields": "fields"
} {
"example": true,
"result": "Saved after confirmation"
} Read completed-job totals, completion rate and revenue from completed jobs.
MCP callcrewnest_read → get_job_completion_report
REST endpointGET https://cotlet.dev/api/v1/crewnest/job-completion-report
| Name | Type | Description |
|---|---|---|
| request string required | string | The records, dates, fields or action to use in your signed-in account. |
{
"request": "request"
} {
"illustrative": true,
"result": "Review the result in your signed-in account"
} Confirm your own pending job assignment; bulk-assigned jobs are already confirmed.
MCP callcrewnest_write → confirm_job_assignment
REST endpointPOST https://cotlet.dev/api/v1/crewnest/job-assignment/confirm
| Name | Type | Description |
|---|---|---|
| request string required | string | The records, dates, fields or action to use in your signed-in account. |
{
"request": "request"
} {
"illustrative": true,
"result": "Review the result in your signed-in account"
} Set up a repeating job with its frequency and service schedule. Pause or resume a recurring service without deleting it.
Set up a repeating job with its frequency and service schedule.
MCP callcrewnest_write → configure_recurring_job
REST endpointPOST https://cotlet.dev/api/v1/crewnest/recurring-job/configure
| Name | Type | Description |
|---|---|---|
| record string required | string | Record or recipient selected in your account. |
| fields object required | object | Set up a repeating job with its frequency and service schedule. |
{
"record": "record",
"fields": "fields"
} {
"example": true,
"result": "Saved after confirmation"
} Pause or resume a recurring service without deleting it.
MCP callcrewnest_write → pause_recurring_job
REST endpointPOST https://cotlet.dev/api/v1/crewnest/recurring-job/pause
| Name | Type | Description |
|---|---|---|
| record string required | string | Record or recipient selected in your account. |
| fields object required | object | Pause or resume a recurring service without deleting it. |
{
"record": "record",
"fields": "fields"
} {
"example": true,
"result": "Saved after confirmation"
} Schedule the next visit for a recurring service or schedule all due services.
MCP callcrewnest_write → schedule_recurring_visit
REST endpointPOST https://cotlet.dev/api/v1/crewnest/recurring-visit/schedule
| Name | Type | Description |
|---|---|---|
| record string required | string | Record or recipient selected in your account. |
| fields object required | object | Schedule the next visit for a recurring service or schedule all due services. |
{
"record": "record",
"fields": "fields"
} {
"example": true,
"result": "Saved after confirmation"
} Delete a recurring service to stop future visits; existing jobs remain.
MCP callcrewnest_write → end_recurring_service
REST endpointPOST https://cotlet.dev/api/v1/crewnest/recurring-service/end
| Name | Type | Description |
|---|---|---|
| record string required | string | Record or recipient selected in your account. |
| fields object required | object | Delete a recurring service to stop future visits; existing jobs remain. |
{
"record": "record",
"fields": "fields"
} {
"example": true,
"result": "Saved after confirmation"
} Read recurring frequency, price, next date, due scheduling banner and paused status.
MCP callcrewnest_read → list_recurring_services
REST endpointGET https://cotlet.dev/api/v1/crewnest/recurring-services
| Name | Type | Description |
|---|---|---|
| request string required | string | The records, dates, fields or action to use in your signed-in account. |
{
"request": "request"
} {
"illustrative": true,
"result": "Review the result in your signed-in account"
} Optimize the scheduled daily route and save the order for the selected jobs. Move route stops up or down in the visible planner; review the route map, distance, duration and ETAs or open Start Route. Persistence of manual reordering is unverified.
Optimize the scheduled daily route and save the order for the selected jobs.
MCP callcrewnest_write → optimize_route
REST endpointPOST https://cotlet.dev/api/v1/crewnest/route/optimize
| Name | Type | Description |
|---|---|---|
| record string required | string | Record or recipient selected in your account. |
| fields object required | object | Optimize the scheduled daily route and save the order for the selected jobs. |
{
"record": "record",
"fields": "fields"
} {
"example": true,
"result": "Saved after confirmation"
} Move route stops up or down in the visible planner; review the route map, distance, duration and ETAs or open Start Route. Persistence of manual reordering is unverified.
MCP callcrewnest_write → reorder_route
REST endpointPOST https://cotlet.dev/api/v1/crewnest/route/reorder
| Name | Type | Description |
|---|---|---|
| record string required | string | Record or recipient selected in your account. |
| fields object required | object | Save a manual order of route stops for the selected day. |
{
"record": "record",
"fields": "fields"
} {
"illustrative": true,
"result": "Review the result in your account"
} Read estimates, itemized services, amounts and approval states. Create an unsent estimate draft for a customer property with service, area, rate and tax.
Read estimates, itemized services, amounts and approval states.
MCP callcrewnest_read → list_estimates
REST endpointGET https://cotlet.dev/api/v1/crewnest/estimates
| Name | Type | Description |
|---|---|---|
| query string | string | A client name or date range to find. |
{
"example": true,
"result": "Records for review"
} Create an unsent estimate draft for a customer property with service, area, rate and tax.
MCP callcrewnest_write → create_estimate
REST endpointPOST https://cotlet.dev/api/v1/crewnest/estimates
| Name | Type | Description |
|---|---|---|
| customer string required | string | Existing customer name. |
| property string required | string | Customer property. |
| service_type string required | string | Service to quote. |
| square_footage number required | number | Measured area. |
| price_per_sq_ft number required | number | Price per square foot. |
| tax_rate number required | number | Tax percentage. |
{
"customer": "Example customer",
"property": "Example driveway",
"service_type": "Pressure washing",
"square_footage": 800,
"price_per_sq_ft": 0.25,
"tax_rate": 0
} {
"example": true,
"result": "Saved in your account"
} Edit an unsent estimate draft before customer delivery.
MCP callcrewnest_write → edit_estimate
REST endpointPATCH https://cotlet.dev/api/v1/crewnest/estimate
| Name | Type | Description |
|---|---|---|
| record string required | string | Record or recipient selected in your account. |
| fields object required | object | Edit an unsent estimate draft before customer delivery. |
{
"record": "record",
"fields": "fields"
} {
"example": true,
"result": "Saved in your account"
} Email an estimate and its approval link to the customer. Sending is restricted here to Owner, Admin or Manager because technician documentation conflicts.
MCP callcrewnest_write → send_estimate
REST endpointPOST https://cotlet.dev/api/v1/crewnest/estimates/send-estimate
| Name | Type | Description |
|---|---|---|
| record string required | string | Record or recipient selected in your account. |
| fields object required | object | Email an estimate and its approval link to the customer. |
{
"record": "record",
"fields": "fields"
} {
"example": true,
"result": "Saved after confirmation"
} Set the default tax rate for future estimates, booking quotes and invoices generated from jobs without estimates. A blank invoice starts at 0%; existing documents stay unchanged.
MCP callcrewnest_write → set_default_tax_rate
REST endpointPUT https://cotlet.dev/api/v1/crewnest/default-tax-rate
| Name | Type | Description |
|---|---|---|
| record string required | string | Record or recipient selected in your account. |
| fields object required | object | Set the default tax rate for future quotes and invoices; existing documents are unchanged. |
{
"record": "record",
"fields": "fields"
} {
"illustrative": true,
"result": "Review the result in your account"
} Read the accepted share of estimates created in a selected period.
MCP callcrewnest_read → get_estimate_conversion_report
REST endpointGET https://cotlet.dev/api/v1/crewnest/estimate-conversion-report
| Name | Type | Description |
|---|---|---|
| request string required | string | The records, dates, fields or action to use in your signed-in account. |
{
"request": "request"
} {
"illustrative": true,
"result": "Review the result in your signed-in account"
} Download an estimate PDF for review or physical delivery.
MCP callcrewnest_read → download_estimate_pdf
REST endpointGET https://cotlet.dev/api/v1/crewnest/estimate-pdfs/download
| Name | Type | Description |
|---|---|---|
| request string required | string | The records, dates, fields or action to use in your signed-in account. |
{
"request": "request"
} {
"illustrative": true,
"result": "Review the result in your signed-in account"
} Resend a sent estimate by email with a fresh approval link.
MCP callcrewnest_write → remind_estimate
REST endpointPOST https://cotlet.dev/api/v1/crewnest/estimate/remind
| Name | Type | Description |
|---|---|---|
| request string required | string | The records, dates, fields or action to use in your signed-in account. |
{
"request": "request"
} {
"illustrative": true,
"result": "Review the result in your signed-in account"
} Read draft, sent, overdue, paid or cancelled invoices and their timelines. Create an unsent invoice from an accepted estimate, completed job or scratch.
Read draft, sent, overdue, paid or cancelled invoices and their timelines.
MCP callcrewnest_read → list_invoices
REST endpointGET https://cotlet.dev/api/v1/crewnest/invoices
| Name | Type | Description |
|---|---|---|
| query string | string | A client name or date range to find. |
{
"example": true,
"result": "Records for review"
} Create an unsent invoice from an accepted estimate, completed job or scratch.
MCP callcrewnest_write → create_invoice
REST endpointPOST https://cotlet.dev/api/v1/crewnest/invoices
| Name | Type | Description |
|---|---|---|
| record string required | string | Record or recipient selected in your account. |
| fields object required | object | Create an unsent invoice from an accepted estimate, completed job or scratch. |
{
"record": "record",
"fields": "fields"
} {
"example": true,
"result": "Saved in your account"
} Edit the amount, description or due date of a draft invoice.
MCP callcrewnest_write → edit_invoice
REST endpointPATCH https://cotlet.dev/api/v1/crewnest/invoice
| Name | Type | Description |
|---|---|---|
| record string required | string | Record or recipient selected in your account. |
| fields object required | object | Edit the amount, description or due date of a draft invoice. |
{
"record": "record",
"fields": "fields"
} {
"example": true,
"result": "Saved in your account"
} Email the invoice and payment link to its customer. Sending is restricted here to Owner, Admin or Manager because technician documentation conflicts.
MCP callcrewnest_write → send_invoice
REST endpointPOST https://cotlet.dev/api/v1/crewnest/invoices/send-invoice
| Name | Type | Description |
|---|---|---|
| record string required | string | Record or recipient selected in your account. |
| fields object required | object | Email the invoice and payment link to its customer. |
{
"record": "record",
"fields": "fields"
} {
"example": true,
"result": "Saved after confirmation"
} Record a full external payment with method, received date and reference; partial payments are unsupported.
MCP callcrewnest_write → record_payment
REST endpointPOST https://cotlet.dev/api/v1/crewnest/payments
| Name | Type | Description |
|---|---|---|
| record string required | string | Record or recipient selected in your account. |
| fields object required | object | Record a full external payment with method, received date and reference; partial payments are unsupported. |
{
"record": "record",
"fields": "fields"
} {
"example": true,
"result": "Saved after confirmation"
} Open the existing invoice payment link without initiating a charge.
MCP callcrewnest_read → get_payment_link
REST endpointGET https://cotlet.dev/api/v1/crewnest/payment-link
| Name | Type | Description |
|---|---|---|
| filter string | string | Client, record, date range or status to review. |
{
"example": true,
"result": "Records for review"
} Download the invoice CSV export for accounting.
MCP callcrewnest_read → export_invoices
REST endpointGET https://cotlet.dev/api/v1/crewnest/invoices/export
| Name | Type | Description |
|---|---|---|
| filter string | string | Client, record, date range or status to review. |
{
"example": true,
"result": "Records for review"
} Read collected, outstanding and monthly totals and the analytics receivables aging buckets.
MCP callcrewnest_read → get_receivables_report
REST endpointGET https://cotlet.dev/api/v1/crewnest/receivables-report
| Name | Type | Description |
|---|---|---|
| filter string | string | Client, record, date range or status to review. |
{
"example": true,
"result": "Records for review"
} Enable or change automatic overdue email reminders and their maximum count.
MCP callcrewnest_write → configure_invoice_reminders
REST endpointPOST https://cotlet.dev/api/v1/crewnest/invoice-reminders/configure
| Name | Type | Description |
|---|---|---|
| record string required | string | Record or recipient selected in your account. |
| fields object required | object | Enable or change automatic overdue email reminders and their maximum count. |
{
"record": "record",
"fields": "fields"
} {
"example": true,
"result": "Saved after confirmation"
} Email a receipt for a paid customer invoice.
MCP callcrewnest_write → send_payment_receipt
REST endpointPOST https://cotlet.dev/api/v1/crewnest/payment-receipts
| Name | Type | Description |
|---|---|---|
| request string required | string | The records, dates, fields or action to use in your signed-in account. |
{
"request": "request"
} {
"illustrative": true,
"result": "Review the result in your signed-in account"
} Read team member names, roles, disabled status and join dates; use the calendar for scheduled workload. Change a team role, deactivate a member or reactivate an existing member.
Read team member names, roles, disabled status and join dates; use the calendar for scheduled workload.
MCP callcrewnest_read → list_crew
REST endpointGET https://cotlet.dev/api/v1/crewnest/crews
| Name | Type | Description |
|---|---|---|
| query string | string | A client name or date range to find. |
{
"illustrative": true,
"result": "Review the result in your account"
} Change a team role, deactivate a member or reactivate an existing member.
MCP callcrewnest_write → manage_team_member
REST endpointPOST https://cotlet.dev/api/v1/crewnest/team-member/manage
| Name | Type | Description |
|---|---|---|
| record string required | string | Record or recipient selected in your account. |
| fields object required | object | Change a team role, deactivate a member or reactivate an existing member. |
{
"record": "record",
"fields": "fields"
} {
"example": true,
"result": "Saved after confirmation"
} Generate a team invitation code and link; the role is selected when approving a join request. Stop before sharing the link.
MCP callcrewnest_write → invite_team_member
REST endpointPOST https://cotlet.dev/api/v1/crewnest/team-member/invite
| Name | Type | Description |
|---|---|---|
| record string required | string | Record or recipient selected in your account. |
| fields object required | object | Generate a team invitation link for the selected role; sharing the link is a separate action. |
{
"record": "record",
"fields": "fields"
} {
"illustrative": true,
"result": "Review the result in your account"
} Read the business activity log. Native log filtering and export are unavailable.
MCP callcrewnest_read → list_activity
REST endpointGET https://cotlet.dev/api/v1/crewnest/activities
| Name | Type | Description |
|---|---|---|
| filter string | string | Client, record, date range or status to review. |
{
"illustrative": true,
"result": "Review the result in your account"
} Approve a pending team join request with a role or reject it.
MCP callcrewnest_write → review_team_request
REST endpointPOST https://cotlet.dev/api/v1/crewnest/team-request/review
| Name | Type | Description |
|---|---|---|
| record string required | string | Record or recipient selected in your account. |
| fields object required | object | Approve a pending team join request with a role or reject it. |
{
"record": "record",
"fields": "fields"
} {
"example": true,
"result": "Saved after confirmation"
} Remove a team member; assigned jobs become unassigned and history stays available.
MCP callcrewnest_write → remove_team_member
REST endpointDELETE https://cotlet.dev/api/v1/crewnest/team-members
| Name | Type | Description |
|---|---|---|
| request string required | string | The records, dates, fields or action to use in your signed-in account. |
{
"request": "request"
} {
"illustrative": true,
"result": "Review the result in your signed-in account"
} Invalidate the current team invitation code and link and issue a new one.
MCP callcrewnest_write → regenerate_team_invitation
REST endpointPOST https://cotlet.dev/api/v1/crewnest/team-invitation/regenerate
| Name | Type | Description |
|---|---|---|
| request string required | string | The records, dates, fields or action to use in your signed-in account. |
{
"request": "request"
} {
"illustrative": true,
"result": "Review the result in your signed-in account"
} Set documented technician switches for access to all jobs or all customers.
MCP callcrewnest_write → set_technician_visibility
REST endpointPUT https://cotlet.dev/api/v1/crewnest/technician-visibility
| Name | Type | Description |
|---|---|---|
| request string required | string | The records, dates, fields or action to use in your signed-in account. |
{
"request": "request"
} {
"illustrative": true,
"result": "Review the result in your signed-in account"
} As current Owner, transfer ownership to an active team member; your own role immediately becomes Admin.
MCP callcrewnest_write → transfer_business_ownership
REST endpointPOST https://cotlet.dev/api/v1/crewnest/business-ownership/transfer
| Name | Type | Description |
|---|---|---|
| request string required | string | The records, dates, fields or action to use in your signed-in account. |
{
"request": "request"
} {
"illustrative": true,
"result": "Review the result in your signed-in account"
} Edit one of the three existing SMS templates as Owner or Admin, up to 500 characters; SMS delivery is unavailable. Read existing customer SMS conversations and delivery statuses; opening marks read. SMS sending is unavailable.
Edit one of the three existing SMS templates as Owner or Admin, up to 500 characters; SMS delivery is unavailable.
MCP callcrewnest_write → manage_message_template
REST endpointPOST https://cotlet.dev/api/v1/crewnest/message-template/manage
| Name | Type | Description |
|---|---|---|
| record string required | string | Record or recipient selected in your account. |
| fields object required | object | Edit one of the three existing SMS templates as Owner or Admin, up to 500 characters; SMS delivery is unavailable. |
{
"record": "record",
"fields": "fields"
} {
"example": true,
"result": "Saved after confirmation"
} Read existing customer SMS conversations and delivery statuses; opening marks read. SMS sending is unavailable.
MCP callcrewnest_read → list_message_history
REST endpointGET https://cotlet.dev/api/v1/crewnest/message-histories
| Name | Type | Description |
|---|---|---|
| request string required | string | The records, dates, fields or action to use in your signed-in account. |
{
"request": "request"
} {
"illustrative": true,
"result": "Review the result in your signed-in account"
} Set or remove a Google Review Link to enable or stop automatic post-job review emails.
MCP callcrewnest_write → configure_review_requests
REST endpointPOST https://cotlet.dev/api/v1/crewnest/review-requests/configure
| Name | Type | Description |
|---|---|---|
| request string required | string | The records, dates, fields or action to use in your signed-in account. |
{
"request": "request"
} {
"illustrative": true,
"result": "Review the result in your signed-in account"
} Enable or disable online booking, create its link, manage services, prices and durations, hours, lead time, buffers, booking window, blocked dates, capacity, approval rules and public booking branding. Approve a pending online booking request so it becomes a scheduled job, or reject it.
Enable or disable online booking, create its link, manage services, prices and durations, hours, lead time, buffers, booking window, blocked dates, capacity, approval rules and public booking branding.
MCP callcrewnest_write → configure_online_booking
REST endpointPOST https://cotlet.dev/api/v1/crewnest/online-booking/configure
| Name | Type | Description |
|---|---|---|
| record string required | string | Record or recipient selected in your account. |
| fields object required | object | Update customer booking availability and offered services in the online booking settings. |
{
"record": "record",
"fields": "fields"
} {
"illustrative": true,
"result": "Review the result in your account"
} Approve a pending online booking request so it becomes a scheduled job, or reject it.
MCP callcrewnest_write → review_booking_request
REST endpointPOST https://cotlet.dev/api/v1/crewnest/booking-request/review
| Name | Type | Description |
|---|---|---|
| record string required | string | Record or recipient selected in your account. |
| fields object required | object | Approve a pending online booking request so it becomes a scheduled job, or reject it. |
{
"record": "record",
"fields": "fields"
} {
"example": true,
"result": "Saved after confirmation"
} Read an existing customer referral code. Generate a code for an existing customer without sharing it.
Read an existing customer referral code.
MCP callcrewnest_read → get_referral_code
REST endpointGET https://cotlet.dev/api/v1/crewnest/referral-code
| Name | Type | Description |
|---|---|---|
| filter string | string | Client, record, date range or status to review. |
{
"illustrative": true,
"result": "Review the result in your account"
} Generate a code for an existing customer without sharing it.
MCP callcrewnest_write → generate_referral_code
REST endpointPOST https://cotlet.dev/api/v1/crewnest/referral-code/generate
| Name | Type | Description |
|---|---|---|
| request string required | string | The records, dates, fields or action to use in your signed-in account. |
{
"request": "request"
} {
"illustrative": true,
"result": "Review the result in your signed-in account"
} Set referrer and new-customer discount or credit choices; settings are stored in this browser only.
MCP callcrewnest_write → configure_referral_rewards
REST endpointPOST https://cotlet.dev/api/v1/crewnest/referral-rewards/configure
| Name | Type | Description |
|---|---|---|
| request string required | string | The records, dates, fields or action to use in your signed-in account. |
{
"request": "request"
} {
"illustrative": true,
"result": "Review the result in your signed-in account"
} Read role-appropriate customer, job and revenue totals, pending estimates and bookings, and local seven-day weather.
Read role-appropriate customer, job and revenue totals, pending estimates and bookings, and local seven-day weather.
MCP callcrewnest_read → get_dashboard
REST endpointGET https://cotlet.dev/api/v1/crewnest/dashboard
| Name | Type | Description |
|---|---|---|
| request string required | string | The records, dates, fields or action to use in your signed-in account. |
{
"request": "request"
} {
"illustrative": true,
"result": "Review the result in your signed-in account"
} Read pending technician estimates and invoices with customer, creator, description, date and total. Approve or reject individual or all pending technician documents as Owner, Admin or Manager; no rejection-comment field.
Read pending technician estimates and invoices with customer, creator, description, date and total.
MCP callcrewnest_read → list_document_approvals
REST endpointGET https://cotlet.dev/api/v1/crewnest/document-approvals
| Name | Type | Description |
|---|---|---|
| request string required | string | The records, dates, fields or action to use in your signed-in account. |
{
"request": "request"
} {
"illustrative": true,
"result": "Review the result in your signed-in account"
} Approve or reject individual or all pending technician documents as Owner, Admin or Manager; no rejection-comment field.
MCP callcrewnest_write → review_document_approvals
REST endpointPOST https://cotlet.dev/api/v1/crewnest/document-approvals/review
| Name | Type | Description |
|---|---|---|
| request string required | string | The records, dates, fields or action to use in your signed-in account. |
{
"request": "request"
} {
"illustrative": true,
"result": "Review the result in your signed-in account"
} Update business name, contacts, address, industry, time zone and country or currency for future documents. Set default estimate validity days and footer text, including the validDays placeholder.
Update business name, contacts, address, industry, time zone and country or currency for future documents.
MCP callcrewnest_write → update_business_settings
REST endpointPATCH https://cotlet.dev/api/v1/crewnest/business-settings
| Name | Type | Description |
|---|---|---|
| request string required | string | The records, dates, fields or action to use in your signed-in account. |
{
"request": "request"
} {
"illustrative": true,
"result": "Review the result in your signed-in account"
} Set default estimate validity days and footer text, including the validDays placeholder.
MCP callcrewnest_write → configure_estimate_defaults
REST endpointPOST https://cotlet.dev/api/v1/crewnest/estimate-defaults/configure
| Name | Type | Description |
|---|---|---|
| request string required | string | The records, dates, fields or action to use in your signed-in account. |
{
"request": "request"
} {
"illustrative": true,
"result": "Review the result in your signed-in account"
} Toggle documented in-app and email notification topics for assignments, estimates, invoices, nudges and bookings.
MCP callcrewnest_write → set_notification_preferences
REST endpointPUT https://cotlet.dev/api/v1/crewnest/notification-preferences
| Name | Type | Description |
|---|---|---|
| request string required | string | The records, dates, fields or action to use in your signed-in account. |
{
"request": "request"
} {
"illustrative": true,
"result": "Review the result in your signed-in account"
} Read online-payment eligibility requirements and Stripe setup readiness. Open or continue Stripe Express setup or disconnect it; the person supplies external identity and bank verification.
Read online-payment eligibility requirements and Stripe setup readiness.
MCP callcrewnest_read → get_payment_setup_status
REST endpointGET https://cotlet.dev/api/v1/crewnest/payment-setup-status
| Name | Type | Description |
|---|---|---|
| request string required | string | The records, dates, fields or action to use in your signed-in account. |
{
"request": "request"
} {
"illustrative": true,
"result": "Review the result in your signed-in account"
} Open or continue Stripe Express setup or disconnect it; the person supplies external identity and bank verification.
MCP callcrewnest_write → manage_payment_connection
REST endpointPOST https://cotlet.dev/api/v1/crewnest/payment-connection/manage
| Name | Type | Description |
|---|---|---|
| request string required | string | The records, dates, fields or action to use in your signed-in account. |
{
"request": "request"
} {
"illustrative": true,
"result": "Review the result in your signed-in account"
} Open the linked Stripe dashboard from Payouts to review payout information.
MCP callcrewnest_read → open_payout_dashboard
REST endpointGET https://cotlet.dev/api/v1/crewnest/payout-dashboards/open
| Name | Type | Description |
|---|---|---|
| request string required | string | The records, dates, fields or action to use in your signed-in account. |
{
"request": "request"
} {
"illustrative": true,
"result": "Review the result in your signed-in account"
} Read Free or Pro plan, status, trial days, monthly estimate usage and price. As Owner, upgrade, reactivate or cancel Pro, or open billing to update payment method. No pause action.
Read Free or Pro plan, status, trial days, monthly estimate usage and price.
MCP callcrewnest_read → get_subscription
REST endpointGET https://cotlet.dev/api/v1/crewnest/subscription
| Name | Type | Description |
|---|---|---|
| request string required | string | The records, dates, fields or action to use in your signed-in account. |
{
"request": "request"
} {
"illustrative": true,
"result": "Review the result in your signed-in account"
} As Owner, upgrade, reactivate or cancel Pro, or open billing to update payment method. No pause action.
MCP callcrewnest_write → manage_subscription
REST endpointPOST https://cotlet.dev/api/v1/crewnest/subscription/manage
| Name | Type | Description |
|---|---|---|
| request string required | string | The records, dates, fields or action to use in your signed-in account. |
{
"request": "request"
} {
"illustrative": true,
"result": "Review the result in your signed-in account"
} Using a valid portal link, read your service history, jobs, estimates, invoices, balance and total spent. Pay your own outstanding invoice by card through the supported enabled payment page; ask before charging.
Using a valid portal link, read your service history, jobs, estimates, invoices, balance and total spent.
MCP callcrewnest_read → read_customer_portal
REST endpointGET https://cotlet.dev/api/v1/crewnest/customer-portals/read
| Name | Type | Description |
|---|---|---|
| request string required | string | The records, dates, fields or action to use in your signed-in account. |
{
"request": "request"
} {
"illustrative": true,
"result": "Review the result in your signed-in account"
} Pay your own outstanding invoice by card through the supported enabled payment page; ask before charging.
MCP callcrewnest_write → pay_customer_invoice
REST endpointPOST https://cotlet.dev/api/v1/crewnest/customer-invoice/pay
| Name | Type | Description |
|---|---|---|
| request string required | string | The records, dates, fields or action to use in your signed-in account. |
{
"request": "request"
} {
"illustrative": true,
"result": "Review the result in your signed-in account"
} As its customer, accept or decline an estimate using its emailed link; no decline-reason field.
MCP callcrewnest_write → respond_to_estimate
REST endpointPOST https://cotlet.dev/api/v1/crewnest/estimate/replies
| Name | Type | Description |
|---|---|---|
| request string required | string | The records, dates, fields or action to use in your signed-in account. |
{
"request": "request"
} {
"illustrative": true,
"result": "Review the result in your signed-in account"
} Choose services, property or area, available time and contacts and submit a customer booking request.
MCP callcrewnest_write → submit_booking_request
REST endpointPOST https://cotlet.dev/api/v1/crewnest/booking-request/submit
| Name | Type | Description |
|---|---|---|
| request string required | string | The records, dates, fields or action to use in your signed-in account. |
{
"request": "request"
} {
"illustrative": true,
"result": "Review the result in your signed-in account"
} Your signed-in CrewNest profile, AES-256-GCM encrypted, in Finland. No password.
The 78 CrewNest tools, never the session cookie.
The jobs, service addresses, crew schedules and invoices available to your CrewNest owner or technician role.
CrewNest sign-in credentials and two-factor authentication stay with you. The payout tool opens the payment provider dashboard; bank details and payout instructions there remain an owner task.
You sign in again yourself, in the same Cloud Browser.
Disable for agents, reset the browser, or change your CrewNest password.
Cotlet never types your password: you sign in yourself, and the agent only uses the session. Our site scores A+ on Qualys SSL Labs, securityheaders.com and Mozilla Observatory (live results).
Cotlet watches the apps it serves and updates the server when CrewNest changes its job, route or invoice screens.
New CrewNest features become available to your agent. Your owner or technician role determines which customers, routes and invoices it sees.
Cotlet never sees or stores your password. If CrewNest signs you out, open your Cloud Browser with one click from the Cotlet console and sign in again.
| Action | Undo |
|---|---|
| Estimate draft | Edit the estimate before sending |
| Scheduled job | Use Reschedule in the job list |
| Crew assignment | Use Bulk Assign to pick another team member |
By default you confirm each call; you can switch that off for this tool. Tools marked Asks first wait for your approval. Unmarked tools run at once.
{
"name": "create_estimate",
"arguments": {
"customer": "Example customer",
"property": "Example driveway",
"service_type": "Pressure washing",
"square_footage": 800,
"price_per_sq_ft": 0.25,
"tax_rate": 0
}
} curl -X POST https://cotlet.dev/api/v1/crewnest/estimates \
-H "Authorization: Bearer $COTLET_API_KEY" \
-H "Content-Type: application/json" \
-d '{"customer":"Example customer","property":"Example driveway","service_type":"Pressure washing","square_footage":800,"price_per_sq_ft":0.25,"tax_rate":0}' {
"estimate": "Illustrative property estimate",
"sent": false
} A cron job or n8n flow can call the same tools over REST at /api/v1/crewnest with the same key and price, in JSON. Failed calls are free. Each tool row above shows its REST path.
About $18 a monthfor an exterior-cleaning crew owner with 15 jobs a week over four weeks, 3,100 credits. Your CrewNest plan stays as it is.
| Job | Calls | Credits |
|---|---|---|
| Read the job list on 20 workdays | 1 × 20 | 200 |
| Create an invoice for each of 60 completed jobs | 1 × 60 | 600 |
| Send each invoice after owner approval | 1 × 60 | 600 |
| Draft five new estimates each week | 5 × 4 | 200 |
| Cloud Browser, 30 days | 1,500 | |
| Total | 3,100 |
The $29 pack covers a typical month for most owners.
Illustrative consumption at the smallest credit pack rate, not a subscription. Buy credit packs separately; extra calls add usage.
| Credits | Price, one time | Calls at 10 credits | Per 1,000 credits |
|---|---|---|---|
| 5,000 | $29 | 500 | $5.80 |
| 15,000 | $79 | 1,500 | $5.27 |
| 32,000 | $149 | 3,200 | $4.66 |
| 60,000 | $249 | 6,000 | $4.15 |
Only successful calls use credits; failed calls and timeouts cost nothing. At a balance of 0 calls pause, never a surprise charge. Authenticate with the Authorization: Bearer header.
| Option | What it does | Where it stops |
|---|---|---|
| Official options | CrewNest's official MCP is free and read-only, with three pricing tools. | Its public pricing tools do not access jobs, invoices, customers or crew assignments in a signed-in business account. |
| By hand | Open each record in CrewNest. | Review one screen at a time. |
If CrewNest offers an official API that covers your task, we recommend it. CrewNest publishes an official, free Job Pricing MCP server with three read-only tools for public price calculations and benchmarks. It needs no sign-in or API key. It does not read your business's jobs, invoices, customers or crew assignments. No public account-management API documentation or self-serve key page was found.
Take Group sp. z o.o. runs Cotlet. It is a software company registered in Poland, EU (VAT PL6342984273), in business since 2019, led by its founders Bart Krawczyk (Co-founder, CTO) and Jake Slugocki (Co-founder, SEO, sales and marketing). Questions about the CrewNest tools go to contact@cotlet.dev.
Sign up free at https://cotlet.dev/signup?app=crewnest, open CrewNest under Integrations in the console and log in to https://www.crewnest.app/sign-in in your Cloud Browser. Connect your AI agent and ask it to work in your account. No card is needed for the trial.
Sign up at cotlet.dev, log in to CrewNest once in its Cloud Browser and add Cotlet to ChatGPT or Claude, following the steps in your console. No API key is needed. ChatGPT and Claude then work in your CrewNest account through Cotlet, in their phone apps too.
With Cotlet, ChatGPT, Claude and other AI agents handle jobs like these in CrewNest: create estimate draft; schedule job; assign crew member. You ask in plain words, and anything that reaches other people waits for your OK first.
Yes. CrewNest publishes its own Job Pricing MCP server for custom connections to ChatGPT and Claude. Its three read-only tools calculate public prices and benchmarks; they do not access your CrewNest business records. No CrewNest listing was found in public ChatGPT apps or Claude connectors directory searches on 11 November 2026. Cotlet is an independent connection for work in your signed-in account.
ChatGPT creates an unsent CrewNest estimate for an existing customer property using your service, area, rate and tax. Drafting stops before emailing the customer.
ChatGPT emails the CrewNest estimate and approval link to its customer after you approve the send. This action requires an Owner, Admin or Manager role.
ChatGPT schedules a CrewNest job with the customer, service, date, time and price you provide after your approval. Customer communications follow your CrewNest settings.
ChatGPT assigns the scheduled CrewNest job you select to a team member after your approval, placing it in that team member's schedule.
ChatGPT emails the selected CrewNest invoice and payment link to its customer after you approve the send. This action requires an Owner, Admin or Manager role.
ChatGPT reads CrewNest collected, outstanding and monthly totals and receivables aging buckets for the period you select.
CrewNest publishes an official, free Job Pricing MCP server with three read-only tools for public price calculations and benchmarks. It needs no sign-in or API key. It does not read your business's jobs, invoices, customers or crew assignments. No public account-management API documentation or self-serve key page was found.
Only in how it is called. Both carry the same 78 tools, inputs, answers, API key and price. Agents use MCP; scripts and HTTP steps use REST.
No. Cotlet is independent and not affiliated with CrewNest.
Free 7-day trial with 2,000 credits, no card needed.
May we use Google Analytics to see which pages help people? It sets cookies only if you accept. No ads, and we never sell data. Cookie policy