RazorSync MCP server Let your AI agent run the RazorSync office work.

Your AI agent turns service requests into work orders, schedules them on your technicians, invoices yesterday's finished jobs and logs the checks. Sign in to RazorSync once in your own Cloud Browser. No token request, no developer.

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

9 tools Read and write

Request to payment

What can your AI agent do in RazorSync? The office work between the request and the payment.

  • Turn service requests into work orders

  • Schedule open work orders

  • Invoice completed work orders

  • Send invoices to customers

  • Log checks on the right invoice

  • List invoices unpaid for 30 days

API on request

Does RazorSync have an MCP server or an API? An API with a token from support, and no MCP server.

RazorSync has no MCP server and no ChatGPT or Claude app. It documents a JSON API with a "unique token" header, but there is no self-service way to create the token; you contact support (RazorSync help, checked 8 Nov 2026). Cotlet runs 9 RazorSync tools hosted, over MCP for agents and REST for scripts, in your own RazorSync login.

  • Each API request needs your portal name and a token from RazorSync.
  • The API covers customers, work orders, scheduling, estimates, invoices and payments for your own developer.
  • RazorSync has no connector in the ChatGPT apps directory or in Claude.
The RazorSync API, other options and Cotlet compared
What you need RazorSync APIBy handCotlet
Customers and work orders With a token Yes, one by one Yes
Schedule a technician With a token Yes, one by one Yes, after your OK
Invoice and send With a token Yes, one by one Yes, sending after your OK
Ask in ChatGPT or Claude No No Yes
Developer needed Yes No No

Checked 8 Nov 2026. Sources: RazorSync help: API Documentation · RazorSync help: contact · RazorSync pricing

Set up once

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

  1. 1Sign in to RazorSync

    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 RazorSync password, and no schedule, invoice or payment goes through until you approve it. Who can see your session

Any MCP client

How to connect RazorSync to your AI agent

  1. 1

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

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

All 9 RazorSync MCP tools

Customers2

Search matches name, phone, email and address, so a repeat caller is found before a duplicate is made.

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

    Returns customers with ID, contact details and service locations. Pass the customer_id to create_work_order.

    MCP callrazorsync_read → list_customers

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

    Parameters

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

    Example response

    {
      "customers": [
        {
          "customer_id": "30418",
          "name": "Greenway Apartments",
          "phone": "555-0193",
          "email": "office@example.com",
          "service_address": "220 Elm Ave, Columbus, OH 43215"
        }
      ],
      "page": 1
    }
  • create_customer Adds a customer with a service location. write

    Creates the customer and its first service location. Search list_customers first so a repeat caller does not become a duplicate. Reaches no one, so it runs at once.

    MCP callrazorsync_write → create_customer

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

    Parameters

    Parameters: create_customer
    NameTypeDescription
    name string required string Customer or company name.
    phone string string Phone number.
    email string string Email.
    service_address string required string Street, city, state and ZIP.

    Example input

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

    Example response

    {
      "customer_id": "30502",
      "name": "Priya Nair",
      "service_address": "18 Cedar Ct, Columbus, OH 43206"
    }

Work orders and schedule3

A new work order stays unscheduled until it is put on a technician and a time. Your notification settings decide who hears about it.

  • list_work_orders Work orders by date, status or technician. read

    Returns work orders with customer, description, technician, scheduled time and status.

    MCP callrazorsync_read → list_work_orders

    REST endpointGET https://cotlet.dev/api/v1/razorsync/work-orders

    Parameters

    Parameters: list_work_orders
    NameTypeDescription
    date_from string string ISO date.
    date_to string string ISO date.
    status string string unscheduled, scheduled, in_progress or complete.
    technician string string Technician name.
    page integer integer Page number. Default: 1.

    Example response

    {
      "work_orders": [
        {
          "work_order_id": "WO-7731",
          "customer": "Greenway Apartments",
          "description": "Unit 4B dishwasher leak",
          "technician": "Marcus",
          "scheduled": "2026-11-12T09:00",
          "status": "Scheduled"
        }
      ],
      "page": 1
    }
  • create_work_order Opens a work order for a customer. write

    Creates the work order with description and service location. It stays unscheduled until schedule_work_order, so it runs at once.

    MCP callrazorsync_write → create_work_order

    REST endpointPOST https://cotlet.dev/api/v1/razorsync/customers/{customer_id}/work-orders

    Parameters

    Parameters: create_work_order
    NameTypeDescription
    customer_id string required string Customer ID from list_customers.
    description string required string What the customer needs.
    service_type string string Service type as named in your account.

    Example input

    {
      "customer_id": "customer_8c41d2",
      "description": "description"
    }

    Example response

    {
      "work_order_id": "WO-7790",
      "customer": "Priya Nair",
      "description": "Garbage disposal not working",
      "status": "Unscheduled"
    }
  • schedule_work_order Assigns a work order to a technician and a time. writeasks first

    Puts the work order on the technician's schedule. Your RazorSync notification settings decide whether the customer gets a message. By default you confirm each call; you can switch that off for this tool.

    MCP callrazorsync_write → schedule_work_order

    REST endpointPOST https://cotlet.dev/api/v1/razorsync/work-orders/{work_order_id}/schedule

    Parameters

    Parameters: schedule_work_order
    NameTypeDescription
    work_order_id string required string Work order number from list_work_orders.
    technician string required string Technician name.
    start string required string ISO date and time.
    duration_min integer integer Minutes. Default: 60.

    Example input

    {
      "work_order_id": "WO-7790",
      "technician": "Marcus",
      "start": "2026-11-13T14:00",
      "duration_min": 90
    }

    Example response

    {
      "work_order_id": "WO-7790",
      "technician": "Marcus",
      "scheduled": "2026-11-13T14:00",
      "status": "Scheduled"
    }

Invoices and payments4

An invoice is built from the work order and stays unsent until you OK the send. Payments are checks, cash and other manual types; no card is charged.

  • list_invoices Invoices by status, customer or age, with balances. read

    Returns invoices with total, balance and status. Use status unpaid and older_than_days for a collections list.

    MCP callrazorsync_read → list_invoices

    REST endpointGET https://cotlet.dev/api/v1/razorsync/invoices

    Parameters

    Parameters: list_invoices
    NameTypeDescription
    status string string unpaid, paid or all. Default: all.
    older_than_days integer integer Only invoices older than this.
    page integer integer Page number. Default: 1.

    Example response

    {
      "invoices": [
        {
          "invoice_id": "INV-4410",
          "customer": "Greenway Apartments",
          "total": "1,180.00",
          "balance": "1,180.00",
          "date": "2026-10-05",
          "status": "Unpaid"
        }
      ],
      "page": 1
    }
  • create_invoice Builds the invoice for a completed work order. write

    Creates the invoice from the work order's line items. It stays unsent until send_invoice, so it runs at once.

    MCP callrazorsync_write → create_invoice

    REST endpointPOST https://cotlet.dev/api/v1/razorsync/work-orders/{work_order_id}/invoices

    Parameters

    Parameters: create_invoice
    NameTypeDescription
    work_order_id string required string Work order number from list_work_orders.

    Example input

    {
      "work_order_id": "work_order_8c41d2"
    }

    Example response

    {
      "invoice_id": "INV-4472",
      "work_order_id": "WO-7731",
      "total": "265.00",
      "status": "Unsent"
    }
  • send_invoice Emails an invoice to the customer. writeasks first

    Sends the invoice to the customer's billing email or the addresses you pass. By default you confirm each call; you can switch that off for this tool.

    MCP callrazorsync_write → send_invoice

    REST endpointPOST https://cotlet.dev/api/v1/razorsync/invoices/{invoice_id}

    Parameters

    Parameters: send_invoice
    NameTypeDescription
    invoice_id string required string Invoice number from list_invoices.
    to string[] string[] Recipient emails. Default: the customer's billing email.

    Example input

    {
      "invoice_id": "invoice_8c41d2"
    }

    Example response

    {
      "invoice_id": "INV-4472",
      "status": "Sent",
      "sent_to": [
        "office@example.com"
      ],
      "total": "265.00"
    }
  • record_payment Logs a check, cash or other manual payment on an invoice. writeasks first

    Adds the payment and lowers the balance. No card is charged. By default you confirm each call; you can switch that off for this tool.

    MCP callrazorsync_write → record_payment

    REST endpointPOST https://cotlet.dev/api/v1/razorsync/invoices/{invoice_id}/payments

    Parameters

    Parameters: record_payment
    NameTypeDescription
    invoice_id string required string Invoice number from list_invoices.
    amount string required string Amount, e.g. 1180.00.
    method string required string check, cash or other.
    reference string string Check number or note.

    Example input

    {
      "invoice_id": "invoice_8c41d2",
      "amount": "amount",
      "method": "method"
    }

    Example response

    {
      "invoice_id": "INV-4410",
      "payment": {
        "method": "Check",
        "amount": "1,180.00",
        "reference": "2209"
      },
      "balance": "0.00"
    }
Encrypted, revocable

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

  • What we store

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

  • What your agent gets

    The 9 RazorSync tools, never the session cookie.

  • What the session sees

    What your login sees: customers, work orders, prices, invoices.

  • What no tool touches

    Card charges, users and permissions, price list edits, deletes.

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

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

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

3 tools ask first

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

  1. 01 Reads yesterday's completed work orders Every page, until a short one comes back.
  2. 02 Holds back what is not ready No line items or a return visit booked.
  3. 03 Builds and checks totals Each invoice against its work order.
  4. 04 Waits, then sends The batch shows up in your Cotlet console first.
Which RazorSync actions can be undone
ActionUndo
Create a work orderYes, cancel it in RazorSync
Schedule a work orderMove it; a message already sent stays sent
Create an invoiceYes, edit or void it before sending
Record a paymentDelete the payment in RazorSync
Send an invoiceNo

3 of 9 tools ask first: schedule_work_order, send_invoice, record_payment. A new customer, a work order or an unsent invoice 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_work_order",
  "arguments": {
    "work_order_id": "WO-7790",
    "technician": "Marcus",
    "start": "2026-11-13T14:00",
    "duration_min": 90
  }
}
REST
curl -X POST https://cotlet.dev/api/v1/razorsync/work-orders/WO-7790/schedule \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"technician":"Marcus","start":"2026-11-13T14:00","duration_min":90}'
Response
{
  "work_order_id": "WO-7790",
  "technician": "Marcus",
  "scheduled": "2026-11-13T14:00",
  "status": "Scheduled"
}

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

About $42 a monthfor an appliance repair business with 4 technicians, 7,220 credits. Your RazorSync plan stays as it is.

A month of RazorSync office work for a 4-technician repair business, in credits
JobCallsCredits
Request into a work order3 × 501,500
Open work orders scheduled4 × 22880
Yesterday's jobs invoiced and sent13 × 222,860
Unpaid list, weekly2 × 480
Checks logged2 × 20400
Cloud Browser, 30 days1,500
Total7,220
  • Free 7-day trial, no card
  • 10 credits per successful call, MCP or REST
  • 50 credits a day for the Cloud Browser
  • Works on your current RazorSync plan

RazorSync 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

RazorSync MCP server on GitHub, Zapier or hosted: which to use The API needs a token from support and a developer.

Other ways to connect RazorSync, checked 8 Nov 2026
OptionWhat it doesWhere it stops
RazorSync APICustomers, work orders, scheduling and invoices in JSON for your own developer.Token through support; you build and host the code.
By handEvery screen of RazorSync, one record at a time.Your office time.

If your developer already has a RazorSync token, building on the API is cheaper for simple reads. To open, schedule and invoice work orders by asking in ChatGPT or Claude, Cotlet works in the RazorSync account you already have.

RazorSync MCP setup on GitHub and PyPI

Prefer code? Our public repo has a ready RazorSync MCP config for Claude Code, ChatGPT and Cursor, an agent skill and a small command-line tool. Add your Cotlet API key and your agent works in your own RazorSync account.

cotlet-connect/razorsync-mcp
  • MCP config for Claude Code, Cursor and Codex
  • Agent skill and Cursor rules for RazorSync
  • Clone it and run, Python standard library only
  • Elastic License 2.0, free in your own business
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 RazorSync tools go to contact@cotlet.dev.

RazorSync MCP server: questions

How do I get access?

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

How do I connect RazorSync to ChatGPT or Claude?

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

What can ChatGPT do in RazorSync?

With Cotlet, ChatGPT, Claude and other AI agents handle jobs like these in RazorSync: turn service requests into work orders; schedule unscheduled work orders; invoice completed work orders. 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 RazorSync?

No. RazorSync has no ChatGPT or Claude connector of its own and RazorSync has no official MCP server (checked 8 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 and schedule work orders in RazorSync?

Yes, with Cotlet. ChatGPT finds or adds the customer, opens the work order and puts it on a technician's schedule after your OK.

Can ChatGPT send invoices in RazorSync?

Yes, with Cotlet. ChatGPT builds the invoice from the completed work order and emails it to the customer after your OK.

Do I need a RazorSync API token to use Cotlet?

No. Cotlet works through your own RazorSync sign-in, so you skip the support request for a token. It can do what your login can do in RazorSync.

Can it react when a request comes in?

Run it on a schedule, for example every morning at 7 for last night's requests, or ask it when one arrives. Nothing needs to change in RazorSync.

Is the MCP server different from the REST API?

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

Is Cotlet affiliated with RazorSync?

No. Cotlet is independent and not affiliated with RazorSync.

Hand the RazorSync office work to your agent.

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