17hats MCP server Let your AI agent do the 17hats admin.

Your AI agent logs enquiries as leads, sends quotes, contracts and invoices, records payments and plans your day. Sign in to 17hats once in your own Cloud Browser. No API, no new plan.

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

9 tools Read and write

Enquiry to paid

What can your AI agent do in 17hats? The admin between the enquiry and the paid invoice.

  • Log enquiries as leads

  • Send quotes and contracts

  • Send invoices

  • Record payments

  • Plan the day's to-dos

  • See the week's projects

Zapier, contacts only

Does 17hats have an MCP server or an API? No public API, and no MCP server.

17hats has no MCP server, no ChatGPT or Claude app and no public API. Its only key is for Zapier on the new subscription plan, and it "is limited to importing, updating and syncing Contacts" (17hats help, checked 9 Nov 2026). Cotlet runs 9 17hats tools hosted, over MCP for agents and REST for scripts, in your own 17hats login.

  • 17hats' Zapier key works only on the new subscription plan.
  • The Zapier app cannot create projects, quotes or invoices.
  • 17hats has no connector in the ChatGPT apps directory or in Claude.
The 17hats API, other options and Cotlet compared
What you need 17hats APIZapier appCotlet
Contacts and leads No API Contacts, new plan Yes
Projects No API No Yes
Quotes, contracts, invoices No API No Yes, after your OK
Ask in ChatGPT or Claude No No Yes
Plan needed None New plan Any

Checked 8 Nov 2026. Sources: 17hats help: Zapier integration · 17hats pricing · 17hats help: Tour of 17hats

Set up once

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

  1. 1Sign in to 17hats

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

Any MCP client

How to connect 17hats to your AI agent

  1. 1

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

17hats shares the address https://cotlet.dev/mcp/v1 with every other app you enable, so one connector covers them all. Turned 17hats 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: 17hats_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: 17hats_write
3 read, 6 write

All 9 17hats MCP tools

Contacts and projects5

New contacts and projects reach no one by themselves, so they run at once. A workflow step that emails the client follows your workflow settings.

  • list_contacts Contacts by type (hot lead, client, cold prospect), searchable by name or email. read

    Returns contacts with ID, type, email, phone and their projects.

    MCP call17hats_read → list_contacts

    REST endpointGET https://cotlet.dev/api/v1/17hats/contacts

    Parameters

    Parameters: list_contacts
    NameTypeDescription
    query string string Name or email.
    type string string Hot Lead, Client, Cold Prospect, Other.
    page integer integer Page number. Default: 1.

    Example response

    {
      "contacts": [
        {
          "contact_id": "CT-77120",
          "name": "Megan Alvarez",
          "type": "Hot Lead",
          "email": "megan@example.com",
          "projects": 1
        }
      ],
      "page": 1
    }
  • add_contact Adds a contact, for example a new lead. write

    Creates the contact with type and details. Reaches no one, so it runs at once.

    MCP call17hats_write → add_contact

    REST endpointPOST https://cotlet.dev/api/v1/17hats/contacts

    Parameters

    Parameters: add_contact
    NameTypeDescription
    name string required string Full name.
    email string string Email.
    phone string string Phone.
    type string string Hot Lead, Client, Cold Prospect, Other. Default: Hot Lead.
    note string string What they asked for.

    Example input

    {
      "name": "Tyler Brennan",
      "email": "tyler@example.com",
      "type": "Hot Lead",
      "note": "Headshots, early December"
    }

    Example response

    {
      "contact_id": "CT-77188",
      "name": "Tyler Brennan",
      "type": "Hot Lead"
    }
  • list_projects Projects with status, date, amount due and open to-dos. read

    Returns projects with contact, event date, status, unpaid invoice total and the next to-do.

    MCP call17hats_read → list_projects

    REST endpointGET https://cotlet.dev/api/v1/17hats/projects

    Parameters

    Parameters: list_projects
    NameTypeDescription
    status string string Lead, Booked, Completed.
    date_from string string ISO date.
    date_to string string ISO date.
    page integer integer Page number. Default: 1.

    Example response

    {
      "projects": [
        {
          "project_id": "PJ-4410",
          "contact": "Megan Alvarez",
          "name": "Alvarez family session",
          "date": "2026-11-22",
          "status": "Booked",
          "due": "350.00",
          "next_todo": "Send prep guide"
        }
      ],
      "page": 1
    }
  • create_project Creates a project for a contact, with a workflow if you use one. write

    Creates the project and applies the workflow you name. Workflow steps that email the client follow your workflow settings. Reaches no one by itself, so it runs at once.

    MCP call17hats_write → create_project

    REST endpointPOST https://cotlet.dev/api/v1/17hats/contacts/{contact_id}/projects

    Parameters

    Parameters: create_project
    NameTypeDescription
    contact_id string required string Contact ID from list_contacts.
    name string required string Project name.
    date string string ISO event date.
    workflow string string Workflow name.

    Example input

    {
      "contact_id": "contact_8c41d2",
      "name": "Jane Doe"
    }

    Example response

    {
      "project_id": "PJ-4433",
      "contact": "Tyler Brennan",
      "name": "Brennan headshots",
      "date": "2026-12-02",
      "status": "Lead"
    }
  • list_todos Your to-dos due today or overdue, by project. read

    Returns to-dos from workflows and your own list, with project and due date.

    MCP call17hats_read → list_todos

    REST endpointGET https://cotlet.dev/api/v1/17hats/todos

    Parameters

    Parameters: list_todos
    NameTypeDescription
    due_by string string ISO date. Default: today.

    Example response

    {
      "todos": [
        {
          "title": "Send prep guide",
          "project": "Alvarez family session",
          "due": "2026-11-09"
        }
      ]
    }

Documents and payments4

Quotes, contracts, invoices and recorded payments wait for your OK.

  • send_quote Creates and sends a quote on a project. writeasks first

    Builds the quote from your items or a template and emails it to the client to accept. By default you confirm each call; you can switch that off for this tool.

    MCP call17hats_write → send_quote

    REST endpointPOST https://cotlet.dev/api/v1/17hats/projects/{project_id}/quotes

    Parameters

    Parameters: send_quote
    NameTypeDescription
    project_id string required string Project ID from list_projects.
    items array required array Item name, quantity, price.
    template string string Quote template name.

    Example input

    {
      "project_id": "project_8c41d2",
      "items": "items"
    }

    Example response

    {
      "quote_id": "Q-2219",
      "project": "Brennan headshots",
      "total": "450.00",
      "status": "Sent"
    }
  • send_contract Sends a contract from your templates for signing. writeasks first

    Fills the contract template for the project and emails it for the client's signature. By default you confirm each call; you can switch that off for this tool.

    MCP call17hats_write → send_contract

    REST endpointPOST https://cotlet.dev/api/v1/17hats/projects/{project_id}/contracts

    Parameters

    Parameters: send_contract
    NameTypeDescription
    project_id string required string Project ID from list_projects.
    template string required string Contract template name.

    Example input

    {
      "project_id": "project_8c41d2",
      "template": "template"
    }

    Example response

    {
      "contract_id": "K-1180",
      "project": "Brennan headshots",
      "template": "Portrait session agreement",
      "status": "Sent"
    }
  • send_invoice Creates and sends an invoice on a project. writeasks first

    Creates the invoice, with a payment schedule if you give one, and emails it with the payment link. Your automatic reminders then apply. By default you confirm each call; you can switch that off for this tool.

    MCP call17hats_write → send_invoice

    REST endpointPOST https://cotlet.dev/api/v1/17hats/projects/{project_id}/invoices

    Parameters

    Parameters: send_invoice
    NameTypeDescription
    project_id string required string Project ID from list_projects.
    items array required array Item name, quantity, price.
    due string string ISO due date.

    Example input

    {
      "project_id": "project_8c41d2",
      "items": "items"
    }

    Example response

    {
      "invoice_id": "INV-6031",
      "project": "Brennan headshots",
      "total": "450.00",
      "status": "Sent"
    }
  • record_payment Records a payment made outside 17hats. writeasks first

    Marks the amount paid on the invoice, for example a check or bank transfer, so reminders stop. By default you confirm each call; you can switch that off for this tool.

    MCP call17hats_write → record_payment

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

    Parameters

    Parameters: record_payment
    NameTypeDescription
    invoice_id string required string Invoice ID.
    amount number required number Amount paid.
    method string string Check, cash, bank transfer.

    Example input

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

    Example response

    {
      "invoice_id": "INV-6012",
      "paid": "350.00",
      "balance": "0.00"
    }
Encrypted, revocable

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

  • What we store

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

  • What your agent gets

    The 9 17hats tools, never the session cookie.

  • What the session sees

    What your login sees: contacts, projects, documents, to-dos.

  • What no tool touches

    Bookkeeping, bank connections, texting, refunds, deletes.

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

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

When 17hats moves a button on a project or renames a document screen, we fix the tool and your agent calls it the same way. status.cotlet.dev checks the site, console and API every 3 minutes.

4 tools ask first

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

  1. 01 Finds the project By client and date.
  2. 02 Builds the quote From your items.
  3. 03 Fills the contract From your template.
  4. 04 Waits, then sends Both show up in your Cotlet console first.
Which 17hats actions can be undone
ActionUndo
Add a contact or projectYes, edit or archive it in 17hats
Send a quote, contract or invoiceNo, it is in the client's inbox; void it in 17hats
Record a paymentYes, delete the payment in 17hats

4 of 9 tools ask first: send_quote, send_contract, send_invoice, record_payment. New contacts and projects reach no customer, so they run at once. You can turn the wait off per tool once you trust a routine.

MCP call
{
  "name": "add_contact",
  "arguments": {
    "name": "Tyler Brennan",
    "email": "tyler@example.com",
    "type": "Hot Lead",
    "note": "Headshots, early December"
  }
}
REST
curl -X POST https://cotlet.dev/api/v1/17hats/contacts \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"Tyler Brennan","email":"tyler@example.com","type":"Hot Lead","note":"Headshots, early December"}'
Response
{
  "contact_id": "CT-77188",
  "name": "Tyler Brennan",
  "type": "Hot Lead"
}

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

About $18 a monthfor a solo portrait and wedding photographer, 3,100 credits. Your 17hats plan stays as it is.

A month of 17hats admin for a solo photographer, in credits
JobCallsCredits
Enquiry logged as a lead2 × 25500
Quote and contract sent3 × 10300
Invoice sent2 × 12240
Day planned2 × 22440
Payment recorded2 × 6120
Cloud Browser, 30 days1,500
Total3,100
  • Free 7-day trial, no card
  • 10 credits per successful call, MCP or REST
  • 50 credits a day for the Cloud Browser
  • Works on any 17hats plan

17hats publishes no usage 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

17hats MCP server on GitHub, Zapier or hosted: which to use No API; Zapier syncs contacts only.

Other ways to connect 17hats, checked 8 Nov 2026
OptionWhat it doesWhere it stops
Zapier appContacts between 17hats and your other tools.New plan only; no projects, quotes or invoices.
17hats workflowsAutomatic emails and to-dos per project.Fixed steps you set up; nothing on request.
By handEvery screen of 17hats, one client at a time.Your editing time.

If you only need contacts synced to your email list, the Zapier app does that on the new plan. To log leads, quote and invoice from ChatGPT or Claude this week, Cotlet works in the 17hats 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 17hats tools go to contact@cotlet.dev.

17hats MCP server: questions

How do I get access?

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

How do I connect 17hats to ChatGPT or Claude?

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

What can ChatGPT do in 17hats?

With Cotlet, ChatGPT, Claude and other AI agents handle jobs like these in 17hats: log enquiries as leads; quote and book; plan 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 17hats?

No. 17hats has no ChatGPT or Claude connector of its own and 17hats 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 add leads in 17hats?

Yes, with Cotlet. ChatGPT adds enquiries as hot leads and starts the project with your workflow, so nothing gets lost in your inbox.

Can ChatGPT send invoices in 17hats?

Yes, with Cotlet. ChatGPT creates the invoice on the project and sends it with the payment link after your OK. Your automatic reminders then run as usual.

Can ChatGPT send quotes and contracts in 17hats?

Yes, with Cotlet. ChatGPT builds the quote from your items and fills your contract template, and both wait for your OK before they go out.

Do I need the new 17hats plan to use Cotlet?

No. Cotlet works through your own 17hats login on any plan. The Zapier key is limited to the new subscription plan and to contacts.

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 17hats?

No. Cotlet is independent and not affiliated with 17hats.

Hand the 17hats admin to your agent.

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