DusterBook MCP server Let your AI agent run the DusterBook office.

Your AI agent turns booking requests into quotes, books one-off and recurring cleans and invoices finished jobs. Sign in to DusterBook once in your own Cloud Browser. No API, no Zapier.

  • Free 7-day trial, no card
  • Unofficial, not affiliated with DusterBook
DusterBook logo DusterBook Cloud Browser

8 tools Read and write

Request to paid

What can your AI agent do in DusterBook? The office work between the request and the paid invoice.

  • Handle booking requests

  • Draft and send quotes

  • Book one-off and recurring cleans

  • Invoice finished jobs

  • Plan tomorrow per cleaner

  • Keep customers and properties

No public API

Does DusterBook have an MCP server or an API? No public API, no Zapier, and no MCP server.

DusterBook has no MCP server, no ChatGPT or Claude app, no API and no Zapier app, and no calendar or accounting sync (DusterBook help, checked 9 Nov 2026). Cotlet runs 8 DusterBook tools hosted, over MCP for agents and REST for scripts, in your own DusterBook login.

  • DusterBook has no API, webhook or developer page.
  • DusterBook has no Zapier app.
  • DusterBook has no connector in the ChatGPT apps directory or in Claude.
The DusterBook API, other options and Cotlet compared
What you need DusterBook APIBy handCotlet
Booking requests and quotes No API Yes, one by one Yes
Schedule cleans No API Yes, one by one Yes
Invoices No API Yes Yes, after your OK
Ask in ChatGPT or Claude No No Yes
Zapier app None None Not needed

Checked 8 Nov 2026. Sources: DusterBook help · DusterBook pricing · DusterBook about

Set up once

How does the DusterBook MCP server work? Your agent works in your own DusterBook login.

  1. 1Sign in to DusterBook

    Once, in a browser we host for you.

  2. 2Connect your AI agent

    One address in its settings.

  3. 3Hand it the busywork

    It drafts the work, you OK what customers get.

We never keep your DusterBook password, and no quote or invoice reaches a customer until you approve it. Who can see your session

Any MCP client

How to connect DusterBook to your AI agent

  1. 1

    Sign in to DusterBook in a Cloud Browser. Create a Cotlet account, open DusterBook in its Cloud Browser, sign in with your DusterBook login and press Enable for agents.

  2. 2

    Add the Cotlet address. Enter https://cotlet.dev/mcp/v1 as the MCP server or connector URL in your agent.

  3. 3

    Let the agent in. Chat apps open a Cotlet sign-in page. Editors, n8n and scripts send an API key made in the console.

DusterBook shares the address https://cotlet.dev/mcp/v1 with every other app you enable, so one connector covers them all. Turned DusterBook on after connecting? Refresh the connector and the 8 tools appear.

Claude
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"
ChatGPT
Settings > Apps & Connectors > Create
MCP server URL: https://cotlet.dev/mcp/v1/connect
Authentication: OAuth
Cursor
// ~/.cursor/mcp.json
{
  "mcpServers": {
    "cotlet": {
      "url": "https://cotlet.dev/mcp/v1",
      "headers": { "Authorization": "Bearer ${env:COTLET_API_KEY}" }
    }
  }
}
Codex
# ~/.codex/config.toml
[mcp_servers.cotlet]
url = "https://cotlet.dev/mcp/v1"
bearer_token_env_var = "COTLET_API_KEY"
n8n
MCP Client Tool (inside an AI Agent)
Transport: HTTP Streamable
URL: https://cotlet.dev/mcp/v1
Auth: Bearer, <your key>
Tool: dusterbook_read
Make, Zapier
Make: MCP Client > Call a tool
Zapier: MCP Client by Zapier > Run Tool
Server URL: https://cotlet.dev/mcp/v1
Token: <your key>
Tool: dusterbook_write
3 read, 5 write

All 8 DusterBook MCP tools

Customers and requests3

Booking page requests and customers with their properties. New customers reach no one, so they run at once.

  • list_booking_requests Requests from your public booking page. read

    Returns new requests with name, address, service and preferred time.

    MCP calldusterbook_read → list_booking_requests

    REST endpointGET https://cotlet.dev/api/v1/dusterbook/booking-requests

    Parameters

    Parameters: list_booking_requests
    NameTypeDescription
    status string string New or Handled. Default: New.

    Example response

    {
      "requests": [
        {
          "request_id": "BR-331",
          "name": "Priya Shah",
          "service": "Deep clean, 3 bed",
          "preferred": "2026-11-14 morning"
        }
      ]
    }
  • list_customers Customers with their properties, searchable by name or address. read

    Returns customers with ID, properties, open quotes and unpaid invoices.

    MCP calldusterbook_read → list_customers

    REST endpointGET https://cotlet.dev/api/v1/dusterbook/customers

    Parameters

    Parameters: list_customers
    NameTypeDescription
    query string string Name or address.
    page integer integer Page number. Default: 1.

    Example response

    {
      "customers": [
        {
          "customer_id": "DB-1182",
          "name": "Maria Johnson",
          "properties": [
            "2210 S Lamar Blvd, Austin, TX"
          ],
          "open_quotes": 0,
          "unpaid": "0.00"
        }
      ],
      "page": 1
    }
  • add_customer Adds a customer with a property. write

    Creates the customer and their first property. Reaches no one, so it runs at once.

    MCP calldusterbook_write → add_customer

    REST endpointPOST https://cotlet.dev/api/v1/dusterbook/customers

    Parameters

    Parameters: add_customer
    NameTypeDescription
    name string required string Customer name.
    address string required string Property address.
    email string string Email.
    phone string string Phone.

    Example input

    {
      "name": "Jane Doe",
      "address": "address"
    }

    Example response

    {
      "customer_id": "DB-1240",
      "name": "Tom Alvarez",
      "property": "415 W 6th St, Austin, TX"
    }

Quotes2

Drafts run at once; sending the accept link waits for your OK.

  • create_quote Drafts a quote with line items and tax. write

    Builds the quote for a customer's property. Sending the accept link is a separate step, so drafting runs at once.

    MCP calldusterbook_write → create_quote

    REST endpointPOST https://cotlet.dev/api/v1/dusterbook/customers/{customer_id}/quotes

    Parameters

    Parameters: create_quote
    NameTypeDescription
    customer_id string required string Customer ID from list_customers.
    items array required array Description, quantity, price.
    valid_days integer integer Days the quote is valid.

    Example input

    {
      "customer_id": "customer_8c41d2",
      "items": "items"
    }

    Example response

    {
      "quote_id": "QT-2207",
      "customer": "Tom Alvarez",
      "total": "285.00",
      "status": "Draft"
    }
  • send_quote Sends the quote with its accept link. writeasks first

    Emails the customer the public link where they accept the quote. By default you confirm each call; you can switch that off for this tool.

    MCP calldusterbook_write → send_quote

    REST endpointPOST https://cotlet.dev/api/v1/dusterbook/quotes/{quote_id}

    Parameters

    Parameters: send_quote
    NameTypeDescription
    quote_id string required string Quote ID.

    Example input

    {
      "quote_id": "quote_8c41d2"
    }

    Example response

    {
      "quote_id": "QT-2207",
      "status": "Sent",
      "sent_to": "tom@example.com"
    }

Jobs and invoices3

Jobs reach only your team, so scheduling runs at once. Invoices go to the customer, so they wait for your OK.

  • list_jobs Jobs on the calendar by date or cleaner. read

    Returns jobs with customer, property, cleaner, time and status.

    MCP calldusterbook_read → list_jobs

    REST endpointGET https://cotlet.dev/api/v1/dusterbook/jobs

    Parameters

    Parameters: list_jobs
    NameTypeDescription
    date_from string required string ISO date.
    date_to string string ISO date. Default: date_from.
    cleaner string string Cleaner name.

    Example input

    {
      "date_from": "date from"
    }

    Example response

    {
      "jobs": [
        {
          "job_id": "JB-5510",
          "customer": "Maria Johnson",
          "cleaner": "Rosa",
          "start": "2026-11-10T09:00",
          "status": "Scheduled"
        }
      ]
    }
  • schedule_job Puts a job on the calendar with a cleaner, once or recurring. write

    Creates the job from an accepted quote or a property. DusterBook sends no customer reminders today, so it reaches only your team and runs at once.

    MCP calldusterbook_write → schedule_job

    REST endpointPOST https://cotlet.dev/api/v1/dusterbook/customers/{customer_id}/job/schedule

    Parameters

    Parameters: schedule_job
    NameTypeDescription
    customer_id string required string Customer ID from list_customers.
    start string required string ISO date and time.
    cleaner string string Cleaner name.
    quote_id string string Accepted quote to schedule.
    repeat string string Weekly, Every 2 weeks, Monthly (Team plan).

    Example input

    {
      "customer_id": "DB-1240",
      "start": "2026-11-13T10:00",
      "cleaner": "Rosa",
      "repeat": "Every 2 weeks"
    }

    Example response

    {
      "job_id": "JB-5541",
      "customer": "Tom Alvarez",
      "cleaner": "Rosa",
      "start": "2026-11-13T10:00",
      "repeat": "Every 2 weeks",
      "status": "Scheduled"
    }
  • create_invoice Creates the invoice for a completed job and sends its link. writeasks first

    Marks the job complete and issues the invoice the customer opens without an account. By default you confirm each call; you can switch that off for this tool.

    MCP calldusterbook_write → create_invoice

    REST endpointPOST https://cotlet.dev/api/v1/dusterbook/jobs/{job_id}/invoices

    Parameters

    Parameters: create_invoice
    NameTypeDescription
    job_id string required string Job ID.

    Example input

    {
      "job_id": "job_8c41d2"
    }

    Example response

    {
      "invoice_id": "IN-0918",
      "job": "JB-5510",
      "total": "160.00",
      "status": "Sent"
    }
Encrypted, revocable

Who can see my DusterBook session, and how do I revoke it?

  • What we store

    Your signed-in DusterBook profile, AES-256-GCM encrypted, in Finland. No password.

  • What your agent gets

    The 8 DusterBook tools, never the session cookie.

  • What the session sees

    What your login sees: customers, quotes, jobs, invoices, booking requests.

  • What no tool touches

    Billing, team members, branding, exports, deletes.

  • If DusterBook signs you out

    You sign in again yourself, in the same Cloud Browser.

  • How to cut access

    Disable for agents, reset the browser, or change your DusterBook 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).

Tested every 12 h

What happens when DusterBook changes? We repair the tool; your prompts stay the same.

between tests of the DusterBook reads
12 h
between tests of sends a customer would notice
24 h
for a call to a DusterBook tool paused for repair
$0

When DusterBook moves a button or renames a page, we fix the tool and your agent calls it the same way. status.cotlet.dev checks the site, console and API every 3 minutes.

2 tools ask first

Approvals, undo and mistakes Customers get nothing until you say so.

  1. 01 Reads new requests From your booking page.
  2. 02 Adds the customers With their property.
  3. 03 Drafts the quotes From your prices.
  4. 04 Waits, then sends The quotes show up in your Cotlet console first.
Which DusterBook actions can be undone
ActionUndo
Add a customer, draft a quote or schedule a jobYes, edit or delete it in DusterBook
Send a quote or invoiceNo, the customer has the link; void it in DusterBook

2 of 8 tools ask first: send_quote, create_invoice. New customers, draft quotes and scheduled jobs reach no customer, so they run at once. You can turn the wait off per tool once you trust a routine.

MCP call
{
  "name": "schedule_job",
  "arguments": {
    "customer_id": "DB-1240",
    "start": "2026-11-13T10:00",
    "cleaner": "Rosa",
    "repeat": "Every 2 weeks"
  }
}
REST
curl -X POST https://cotlet.dev/api/v1/dusterbook/customers/DB-1240/job/schedule \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"start":"2026-11-13T10:00","cleaner":"Rosa","repeat":"Every 2 weeks"}'
Response
{
  "job_id": "JB-5541",
  "customer": "Tom Alvarez",
  "cleaner": "Rosa",
  "start": "2026-11-13T10:00",
  "repeat": "Every 2 weeks",
  "status": "Scheduled"
}

A cron job or n8n flow can call the same tools over REST at /api/v1/dusterbook with the same key and price, in JSON. Failed calls are free. Each tool row above shows its REST path.

Pay per call

How much does the DusterBook MCP server cost?

About $25 a monthfor a cleaning company with 5 cleaners, 4,340 credits. Your DusterBook plan stays as it is.

A month of DusterBook office work for a 5-cleaner company, in credits
JobCallsCredits
Booking request quoted3 × 25750
Quote sent1 × 25250
Clean scheduled1 × 30300
Invoices for the day6 × 221,320
Tomorrow planned1 × 22220
Cloud Browser, 30 days1,500
Total4,340
  • Free 7-day trial, no card
  • 10 credits per successful call, MCP or REST
  • 50 credits a day for the Cloud Browser
  • Works on Solo and Team

DusterBook publishes no job counts, so the month is our example. Dollars at the $29 pack rate.

Cotlet credit packs: price, credits and calls at 10 credits each
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.

Other options

DusterBook MCP server on GitHub, Zapier or hosted: which to use No API and no Zapier.

Other ways to connect DusterBook, checked 8 Nov 2026
OptionWhat it doesWhere it stops
CSV exportCustomers and reports out to a spreadsheet (Team plan).One way and by hand.
Public booking pageCustomers send requests themselves.Requests still need quotes and scheduling.
By handEvery screen of DusterBook, one job at a time.Your evenings.

DusterBook has no API or Zapier app, so there is nothing to connect a script to. To quote, schedule and invoice from ChatGPT or Claude this week, Cotlet works in the DusterBook account you already have.

EU company, since 2019

Who runs Cotlet A company you can look up.

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 DusterBook tools go to contact@cotlet.dev.

DusterBook MCP server: questions

How do I get access?

Sign up free at https://cotlet.dev, open DusterBook under Integrations in the console and sign in to DusterBook in its Cloud Browser. The trial starts with your first app and asks for no card.

How do I connect DusterBook to ChatGPT or Claude?

Sign up at cotlet.dev, log in to DusterBook 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 DusterBook account through Cotlet, in their phone apps too.

What can ChatGPT do in DusterBook?

With Cotlet, ChatGPT, Claude and other AI agents handle jobs like these in DusterBook: turn booking requests into quotes; send the quote; book recurring cleans. You ask in plain words, and anything that reaches other people waits for your OK first.

Is there an official ChatGPT or Claude app for DusterBook?

No. DusterBook has no ChatGPT or Claude connector of its own and DusterBook has no official MCP server (checked 9 Nov 2026). Cotlet is an independent one that works in ChatGPT, Claude, Cursor and any MCP client, on your signed-in account.

Can ChatGPT create quotes in DusterBook?

Yes, with Cotlet. ChatGPT turns booking requests into customers and draft quotes, and sends the accept link after your OK.

Can ChatGPT schedule cleans in DusterBook?

Yes, with Cotlet. ChatGPT puts one-off or recurring jobs on the calendar with the cleaner you name.

Can ChatGPT send invoices in DusterBook?

Yes, with Cotlet. ChatGPT invoices finished jobs after your OK; customers open the invoice without an account.

Is the MCP server different from the REST API?

Only in how it is called. Both carry the same 8 tools, inputs, answers, API key and price. Agents use MCP; scripts and HTTP steps use REST.

Is Cotlet affiliated with DusterBook?

No. Cotlet is independent and not affiliated with DusterBook.

Hand the DusterBook office to your agent.

Free 7-day trial with 2,000 credits, no card needed.