Klean CRM MCP server Let your AI agent run the Klean CRM office.

Your AI agent books one-off and recurring cleans, covers a sick cleaner, invoices finished jobs and chases what is unpaid. Sign in to Klean CRM once in your own Cloud Browser. No API, no Zapier.

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

7 tools Read and write

Text to paid

What can your AI agent do in Klean CRM? The office work between the text and the paid invoice.

  • Book one-off and recurring cleans

  • Cover a sick cleaner

  • Invoice finished cleans

  • Chase unpaid invoices

  • Plan tomorrow per cleaner

  • Find any customer

No public API

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

Klean CRM has no MCP server, no ChatGPT or Claude app, no public API and no Zapier app (checked 9 Nov 2026). Cotlet runs 7 Klean CRM tools hosted, over MCP for agents and REST for scripts, in your own Klean CRM login.

  • Klean CRM publishes no API, developer or webhook page.
  • Klean CRM has no Zapier app.
  • Klean CRM has no connector in the ChatGPT apps directory or in Claude.
The Klean CRM API, other options and Cotlet compared
What you need Klean CRM APIBy handCotlet
Book cleans No API Yes, one by one Yes, after your OK
Reassign cleaners No API Yes, one by one Yes
Invoices and what is unpaid 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: Klean CRM web app · Klean CRM pricing (archived 2026) · Klean CRM getting started (archived 2026)

Set up once

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

  1. 1Sign in to Klean CRM

    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 Klean CRM password, and no booking or invoice reaches a customer until you approve it. Who can see your session

Any MCP client

How to connect Klean CRM to your AI agent

  1. 1

    Sign in to Klean CRM in a Cloud Browser. Create a Cotlet account, open Klean CRM in its Cloud Browser, sign in with your Klean CRM 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.

Klean CRM shares the address https://cotlet.dev/mcp/v1 with every other app you enable, so one connector covers them all. Turned Klean CRM on after connecting? Refresh the connector and the 7 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: klean_crm_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: klean_crm_write
3 read, 4 write

All 7 Klean CRM MCP tools

Customers2

Search by name, phone and street. New customers reach no one, so they run at once.

  • list_customers Customers, searchable by name, phone or address. read

    Returns customers with ID, address, next appointment and unpaid balance.

    MCP callklean_crm_read → list_customers

    REST endpointGET https://cotlet.dev/api/v1/klean-crm/customers

    Parameters

    Parameters: list_customers
    NameTypeDescription
    query string string Name, phone or street.
    page integer integer Page number. Default: 1.

    Example response

    {
      "customers": [
        {
          "customer_id": "KC-3310",
          "name": "Maria Johnson",
          "address": "2210 S Lamar Blvd, Austin, TX",
          "next": "2026-11-12",
          "unpaid": "0.00"
        }
      ],
      "page": 1
    }
  • add_customer Adds a customer with an address. write

    Creates the customer. Reaches no one, so it runs at once.

    MCP callklean_crm_write → add_customer

    REST endpointPOST https://cotlet.dev/api/v1/klean-crm/customers

    Parameters

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

    Example input

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

    Example response

    {
      "customer_id": "KC-3377",
      "name": "Tom Alvarez"
    }

Calendar3

New bookings wait for your OK because reminders go out. Reassigning a cleaner reaches only your team, so it runs at once.

  • list_appointments Cleaning appointments for a day or range, by cleaner. read

    Returns appointments with customer, address, cleaner, time and price.

    MCP callklean_crm_read → list_appointments

    REST endpointGET https://cotlet.dev/api/v1/klean-crm/appointments

    Parameters

    Parameters: list_appointments
    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

    {
      "appointments": [
        {
          "appointment_id": "A-8812",
          "customer": "Maria Johnson",
          "cleaner": "Rosa",
          "start": "2026-11-12T09:00",
          "price": "160.00"
        }
      ]
    }
  • book_appointment Books a cleaning on the calendar, once or recurring. writeasks first

    Creates the appointment with service, price and cleaner. Your Klean CRM text reminders then apply. By default you confirm each call; you can switch that off for this tool.

    MCP callklean_crm_write → book_appointment

    REST endpointPOST https://cotlet.dev/api/v1/klean-crm/customers/{customer_id}/appointments

    Parameters

    Parameters: book_appointment
    NameTypeDescription
    customer_id string required string Customer ID from list_customers.
    start string required string ISO date and time.
    service string string Service name.
    price number number Price.
    cleaner string string Cleaner name.
    repeat string string Weekly, Every 2 weeks, Monthly or empty.

    Example input

    {
      "customer_id": "customer_8c41d2",
      "start": "start"
    }

    Example response

    {
      "appointment_id": "A-8840",
      "customer": "Tom Alvarez",
      "cleaner": "Rosa",
      "start": "2026-11-13T10:00",
      "repeat": "Every 2 weeks"
    }
  • assign_cleaner Assigns or changes the cleaner on an appointment. write

    Puts the cleaner on the job. Reaches only your team, so it runs at once.

    MCP callklean_crm_write → assign_cleaner

    REST endpointPOST https://cotlet.dev/api/v1/klean-crm/appointments/{appointment_id}/cleaner/assign

    Parameters

    Parameters: assign_cleaner
    NameTypeDescription
    appointment_id string required string Appointment ID.
    cleaner string required string Cleaner name.

    Example input

    {
      "appointment_id": "A-8812",
      "cleaner": "Lupe"
    }

    Example response

    {
      "appointment_id": "A-8812",
      "cleaner": "Lupe"
    }

Invoices2

Sending an invoice waits for your OK.

  • send_invoice Creates and sends the invoice for a finished cleaning. writeasks first

    Invoices the appointment and sends it to the customer the way Klean CRM does. By default you confirm each call; you can switch that off for this tool.

    MCP callklean_crm_write → send_invoice

    REST endpointPOST https://cotlet.dev/api/v1/klean-crm/appointments/{appointment_id}/invoices

    Parameters

    Parameters: send_invoice
    NameTypeDescription
    appointment_id string required string Appointment ID.

    Example input

    {
      "appointment_id": "appointment_8c41d2"
    }

    Example response

    {
      "invoice_id": "INV-2209",
      "customer": "Maria Johnson",
      "total": "160.00",
      "status": "Sent"
    }
  • list_unpaid_invoices Invoices not yet paid, oldest first. read

    Returns unpaid invoices with customer, total and days since sent.

    MCP callklean_crm_read → list_unpaid_invoices

    REST endpointGET https://cotlet.dev/api/v1/klean-crm/unpaid-invoices

    Parameters

    Parameters: list_unpaid_invoices
    NameTypeDescription
    min_days integer integer Only invoices sent at least this many days ago.

    Example response

    {
      "invoices": [
        {
          "invoice_id": "INV-2150",
          "customer": "Priya Shah",
          "total": "340.00",
          "days": 18
        }
      ]
    }
Encrypted, revocable

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

  • What we store

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

  • What your agent gets

    The 7 Klean CRM tools, never the session cookie.

  • What the session sees

    What your login sees: customers, calendar, cleaners, invoices.

  • What no tool touches

    Payments, financials, SMS settings, staff pay, deletes.

  • If Klean CRM 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 Klean CRM 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 Klean CRM changes? We repair the tool; your prompts stay the same.

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

When Klean CRM 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 tomorrow The sick cleaner's jobs.
  2. 02 Checks the team Who is free at those times.
  3. 03 Reassigns Job by job.
  4. 04 Lists what is left Anything nobody can cover.
Which Klean CRM actions can be undone
ActionUndo
Add a customer or reassign a cleanerYes, change it in Klean CRM
Book a cleanYes, cancel it; a reminder already sent stays sent
Send an invoiceNo, the customer has it; void it in Klean CRM

2 of 7 tools ask first: book_appointment, send_invoice. New customers and cleaner changes reach no customer, so they run at once. You can turn the wait off per tool once you trust a routine.

MCP call
{
  "name": "assign_cleaner",
  "arguments": {
    "appointment_id": "A-8812",
    "cleaner": "Lupe"
  }
}
REST
curl -X POST https://cotlet.dev/api/v1/klean-crm/appointments/A-8812/cleaner/assign \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"cleaner":"Lupe"}'
Response
{
  "appointment_id": "A-8812",
  "cleaner": "Lupe"
}

A cron job or n8n flow can call the same tools over REST at /api/v1/klean-crm 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 Klean CRM MCP server cost?

About $23 a monthfor a cleaning company with 5 cleaners, 3,980 credits. Your Klean CRM plan stays as it is.

A month of Klean CRM office work for a 5-cleaner company, in credits
JobCallsCredits
Clean booked from a text2 × 30600
Cleaner reassigned2 × 15300
Invoices for the day6 × 221,320
Unpaid invoices, weekly1 × 440
Tomorrow planned1 × 22220
Cloud Browser, 30 days1,500
Total3,980
  • Free 7-day trial, no card
  • 10 credits per successful call, MCP or REST
  • 50 credits a day for the Cloud Browser
  • Works on Growth and Pro

Klean CRM 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

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

Other ways to connect Klean CRM, checked 8 Nov 2026
OptionWhat it doesWhere it stops
Klean CRM remindersAutomatic texts for upcoming cleans and payments.Fixed messages; nothing you can ask.
Customer importBring customers in from a file.One way and by hand.
By handEvery screen of Klean CRM, one job at a time.Your evenings.

Klean CRM has no API or Zapier app, so there is nothing to connect a script to. To book, reassign and invoice from ChatGPT or Claude this week, Cotlet works in the Klean CRM 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 Klean CRM tools go to contact@cotlet.dev.

Klean CRM MCP server: questions

How do I get access?

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

How do I connect Klean CRM to ChatGPT or Claude?

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

What can ChatGPT do in Klean CRM?

With Cotlet, ChatGPT, Claude and other AI agents handle jobs like these in Klean CRM: book cleans from texts; cover a sick cleaner; invoice the day. 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 Klean CRM?

No. Klean CRM has no ChatGPT or Claude connector of its own and Klean CRM 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 book cleanings in Klean CRM?

Yes, with Cotlet. ChatGPT adds the customer and books one-off or recurring cleans with the cleaner you name, after your OK.

Can ChatGPT reassign cleaners in Klean CRM?

Yes, with Cotlet. ChatGPT moves a sick cleaner's jobs to someone else on the team.

Can ChatGPT send invoices in Klean CRM?

Yes, with Cotlet. ChatGPT invoices finished cleans after your OK and lists what is still unpaid.

Is the MCP server different from the REST API?

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

Is Cotlet affiliated with Klean CRM?

No. Cotlet is independent and not affiliated with Klean CRM.

Hand the Klean CRM office to your agent.

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