Bloom MCP server Let your AI agent do the Bloom admin.

Your AI agent logs enquiries as leads, follows up quiet ones, books projects with a contract and sends invoices. Sign in to Bloom once in your own Cloud Browser. No API, no zaps to build.

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

9 tools Read and write

Enquiry to booked

What can your AI agent do in Bloom? The admin between the enquiry and the shoot.

  • Log enquiries as leads

  • Follow up quiet leads

  • Send contracts for signing

  • Send invoices

  • Record payments

  • Plan the week's shoots

No public API

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

Bloom has no MCP server, no ChatGPT or Claude app and no public API: we found no developer docs, only a Zapier app with triggers such as new lead and new payment (checked 8 Nov 2026). Cotlet runs 9 Bloom tools hosted, over MCP for agents and REST for scripts, in your own Bloom login.

  • Bloom's help center has no API articles.
  • Bloom's Zapier app sends events out; it creates almost nothing in Bloom.
  • Bloom has no connector in the ChatGPT apps directory or in Claude.
The Bloom API, other options and Cotlet compared
What you need Bloom APIZapier appCotlet
New leads and payments No API Triggers Yes
Create leads and projects No API No Yes
Send invoices and contracts No API No Yes, after your OK
Ask in ChatGPT or Claude No No Yes
Setup None possible Zaps to build Sign in once

Checked 8 Nov 2026. Sources: Bloom on Zapier · Bloom help center · Bloom help: Creating and sending an invoice

Set up once

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

  1. 1Sign in to Bloom

    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 Bloom password, and no invoice, contract or payment reaches a client until you approve it. Who can see your session

Any MCP client

How to connect Bloom to your AI agent

  1. 1

    Sign in to Bloom in a Cloud Browser. Create a Cotlet account, open Bloom in its Cloud Browser, sign in with your Bloom login on app.bloom.io 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.

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

All 9 Bloom MCP tools

Leads and contacts3

New leads reach no one, so they run at once. Search matches name and email.

  • list_leads Leads by stage, with event date and source. read

    Returns leads with contact, service, event date, stage and last contact, newest first.

    MCP callbloom_read → list_leads

    REST endpointGET https://cotlet.dev/api/v1/bloom/leads

    Parameters

    Parameters: list_leads
    NameTypeDescription
    stage string string Lead stage.
    no_reply_days integer integer Only leads with no contact in this many days.
    page integer integer Page number. Default: 1.

    Example response

    {
      "leads": [
        {
          "lead_id": "LD-4410",
          "contact": "Emily & Jordan Hayes",
          "service": "Wedding, full day",
          "event_date": "2027-06-12",
          "stage": "Inquiry",
          "source": "Website form"
        }
      ],
      "page": 1
    }
  • create_lead Adds a lead from an enquiry. write

    Creates the contact and lead with service and event date. Reaches no one, so it runs at once.

    MCP callbloom_write → create_lead

    REST endpointPOST https://cotlet.dev/api/v1/bloom/leads

    Parameters

    Parameters: create_lead
    NameTypeDescription
    name string required string Contact name.
    email string string Email.
    service string string Service asked for.
    event_date string string ISO date.
    note string string What they wrote.

    Example input

    {
      "name": "Priya Natarajan",
      "email": "priya@example.com",
      "service": "Family session",
      "event_date": "2026-11-29"
    }

    Example response

    {
      "lead_id": "LD-4433",
      "contact": "Priya Natarajan",
      "service": "Family session",
      "stage": "Inquiry"
    }
  • list_contacts Contacts, searchable by name or email. read

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

    MCP callbloom_read → list_contacts

    REST endpointGET https://cotlet.dev/api/v1/bloom/contacts

    Parameters

    Parameters: list_contacts
    NameTypeDescription
    query string string Name or email.
    page integer integer Page number. Default: 1.

    Example response

    {
      "contacts": [
        {
          "contact_id": "CT-9120",
          "name": "Marcus Bellamy",
          "email": "marcus@example.com",
          "projects": 1
        }
      ],
      "page": 1
    }

Projects3

Projects and workflow tasks as you set them up in Bloom. A task that emails the client waits for your OK.

  • list_projects Projects with status, date, amount paid and next workflow task. read

    Returns projects with client, shoot date, status, invoice balance and the next open workflow task.

    MCP callbloom_read → list_projects

    REST endpointGET https://cotlet.dev/api/v1/bloom/projects

    Parameters

    Parameters: list_projects
    NameTypeDescription
    status string string Project status.
    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-2207",
          "client": "Marcus Bellamy",
          "name": "Headshots",
          "date": "2026-11-15",
          "status": "Booked",
          "balance": "250.00",
          "next_task": "Send prep guide"
        }
      ],
      "page": 1
    }
  • create_project Creates a project for a contact. write

    Creates the project with service and date, the way New Project on a contact does. Reaches no one, so it runs at once.

    MCP callbloom_write → create_project

    REST endpointPOST https://cotlet.dev/api/v1/bloom/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 date of the shoot or session.
    workflow string string Workflow name to apply.

    Example input

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

    Example response

    {
      "project_id": "PJ-2231",
      "client": "Priya Natarajan",
      "name": "Family session",
      "date": "2026-11-29",
      "status": "Booked"
    }
  • complete_task Marks a workflow task done on a project. write

    Ticks the task in the project workflow. If the task is an automation that emails the client, it waits for your OK.

    MCP callbloom_write → complete_task

    REST endpointPOST https://cotlet.dev/api/v1/bloom/projects/{project_id}/task/complete

    Parameters

    Parameters: complete_task
    NameTypeDescription
    project_id string required string Project ID from list_projects.
    task string required string Task name.

    Example input

    {
      "project_id": "project_8c41d2",
      "task": "task"
    }

    Example response

    {
      "project_id": "PJ-2207",
      "task": "Send prep guide",
      "status": "Done"
    }

Invoices and contracts3

Anything that reaches the client, or changes what they owe, waits for your OK.

  • send_invoice Creates and sends an invoice from a project. writeasks first

    Creates the invoice with your packages or line items and emails it with the payment link. By default you confirm each call; you can switch that off for this tool.

    MCP callbloom_write → send_invoice

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

    Parameters

    Parameters: send_invoice
    NameTypeDescription
    project_id string required string Project ID from list_projects.
    items array required array Package or line items with price.
    due string string ISO due date.

    Example input

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

    Example response

    {
      "invoice_id": "IV-7781",
      "client": "Priya Natarajan",
      "total": "450.00",
      "status": "Sent"
    }
  • send_contract Sends a contract from your templates for signing. writeasks first

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

    MCP callbloom_write → send_contract

    REST endpointPOST https://cotlet.dev/api/v1/bloom/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": "CN-3302",
      "client": "Emily & Jordan Hayes",
      "template": "Wedding agreement",
      "status": "Sent"
    }
  • record_payment Records a payment made outside Bloom against an invoice. writeasks first

    Marks the amount paid, for example a bank transfer, so the balance is right. By default you confirm each call; you can switch that off for this tool.

    MCP callbloom_write → record_payment

    REST endpointPOST https://cotlet.dev/api/v1/bloom/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 Bank transfer, cash, check.

    Example input

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

    Example response

    {
      "invoice_id": "IV-7702",
      "paid": "250.00",
      "balance": "0.00"
    }
Encrypted, revocable

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

  • What we store

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

  • What your agent gets

    The 9 Bloom tools, never the session cookie.

  • What the session sees

    What your login sees: leads, contacts, projects, invoices, contracts.

  • What no tool touches

    Galleries, your website, refunds, payment settings, deletes.

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

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

When Bloom moves a button on a project or renames a tab, 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 Finds the contact Or adds them from the lead.
  2. 02 Creates the project With the date and your workflow.
  3. 03 Fills the contract From your template.
  4. 04 Waits, then sends The contract shows up in your Cotlet console first.
Which Bloom actions can be undone
ActionUndo
Add a lead or projectYes, edit or archive it in Bloom
Send an invoice or contractNo, it is in the client's inbox; void it in Bloom
Record a paymentYes, delete the payment in Bloom

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

MCP call
{
  "name": "create_lead",
  "arguments": {
    "name": "Priya Natarajan",
    "email": "priya@example.com",
    "service": "Family session",
    "event_date": "2026-11-29"
  }
}
REST
curl -X POST https://cotlet.dev/api/v1/bloom/leads \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"Priya Natarajan","email":"priya@example.com","service":"Family session","event_date":"2026-11-29"}'
Response
{
  "lead_id": "LD-4433",
  "contact": "Priya Natarajan",
  "service": "Family session",
  "stage": "Inquiry"
}

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

About $14 a monthfor a solo wedding and portrait photographer, 2,360 credits. Your Bloom plan stays as it is.

A month of Bloom admin for a solo photographer, in credits
JobCallsCredits
Enquiry logged as a lead1 × 30300
Quiet leads, weekly1 × 440
Project booked with a contract3 × 8240
Invoice sent2 × 12240
Week planned1 × 440
Cloud Browser, 30 days1,500
Total2,360
  • 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 Bloom plan

Bloom publishes no project 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

Bloom MCP server on GitHub, Zapier or hosted: which to use No API; Zapier mostly listens.

Other ways to connect Bloom, checked 8 Nov 2026
OptionWhat it doesWhere it stops
Zapier appNew leads, forms, projects and payments to other apps.Triggers only; nothing you can ask in plain words.
Bloom automationsWorkflow emails and reminders inside Bloom.Fixed steps you set up; no questions or new records.
By handEvery screen of Bloom, one client at a time.Your editing time.

If you only need new leads copied to a sheet, the Zapier app does that. To log leads, book projects and send invoices from ChatGPT or Claude this week, Cotlet works in the Bloom 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 Bloom tools go to contact@cotlet.dev.

Bloom MCP server: questions

How do I get access?

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

How do I connect Bloom to ChatGPT or Claude?

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

What can ChatGPT do in Bloom?

With Cotlet, ChatGPT, Claude and other AI agents handle jobs like these in Bloom: log enquiries as leads; follow up quiet leads; book a lead. 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 Bloom?

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

Yes, with Cotlet. ChatGPT adds enquiries from email or DMs as Bloom leads with the service and date, and lists leads that have gone quiet.

Can ChatGPT send invoices in Bloom?

Yes, with Cotlet. ChatGPT creates the invoice from your packages on the project and sends it with the payment link after your OK.

Can ChatGPT send contracts in Bloom?

Yes, with Cotlet. ChatGPT fills one of your contract templates for the project and sends it for signing after your OK.

Does it deliver galleries?

Not yet. Cotlet works with leads, projects, workflow tasks, invoices and contracts. Uploading and delivering galleries stays in Bloom.

Does it work for designers and coaches too?

Yes. Bloom is the same for photographers, videographers, designers and coaches, and so are the tools: leads, projects, invoices and contracts.

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 Bloom?

No. Cotlet is independent and not affiliated with Bloom.

Hand the Bloom admin to your agent.

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