CloudSpot API and MCP server Let your AI agent run the studio side of your shoots.

CloudSpot has no public API, only a beta Zapier app, and no CloudSpot MCP server (checked 13 Nov 2026). Cotlet runs a hosted CloudSpot MCP server with 17 tools that ChatGPT and Claude use in your own CloudSpot account. Gallery emails, contracts, invoices and anything else a client receives wait for your OK.

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

17 tools Read and write

Photography studio work

What can your AI agent do in CloudSpot? The client work between the shoot and the final delivery.

  • Deliver a gallery with a Zip download

  • Turn an inquiry into a booked project

  • Send the contract and questionnaire

  • Chase payments and log a check

  • Set up a mini-session day

  • See what clients favorited

Zapier beta only, no MCP

Does CloudSpot have an MCP server or an API? The official CloudSpot routes, checked 13 November 2026.

CloudSpot publishes no public API. Its Help Center documents one integration route for automation: a CloudSpot (Beta) app on Zapier, connected with a token. No CloudSpot MCP server and no official ChatGPT or Claude connector was found.

  • The Zapier token is generated in CloudSpot under Galleries > Settings > Integrations, then pasted into Zapier.
  • CloudSpot's own Zap ideas move gallery visitor emails, store orders and new contacts to other apps.
  • Studio tools (invoices, contracts, questionnaires, lead forms, mini-sessions) are part of the Full Suite plans.
The CloudSpot Zapier app, working by hand and Cotlet compared
What you need Zapier appBy handCotlet
Ask ChatGPT or Claude to do the work No MCP server found Copy and paste Hosted MCP server
Email a Gallery or Zip to a client Not in the Zap ideas Galleries & Apps > Email deliver_images, after your OK
Contracts, invoices and bookings Not covered One screen at a time 17 tools, writes after your OK
Run from n8n or a script Inside Zapier only Manual only REST, same key

Checked 13 Nov 2026. Sources: Help: Connecting CloudSpot + Zapier · Help: What is Zapier? · CloudSpot pricing · CloudSpot Help Center · Help: Creating Client Galleries (Part One) · Help: Delivering Galleries and Images · Help: How to Expire a Gallery · Help: How to Create a Collection · Help: Where Can I View My Client Favorites? · Help: View Client Downloads · Help: Managing Leads · Help: How to Save a New Client · Help: How to Create a Project · Help: View Project Activity · Help: Create a New Contract · Help: View Contract Activity · Help: How to Create a New Questionnaire · Help: Create a New Invoice · Help: Payment Schedules · Help: How Do I Remind a Client Their Payment Is Due? · Help: Can I Add a Manual Payment? · Help: How to Create a Mini-Session · Help: Reschedule a Client's Booking · Help: How to Cancel a Booking · Help: How to Create a Discount Code · Help: Review Print Orders Before Sending to the Lab · Help: Managing Your To Do List

Set up once

How does the CloudSpot MCP server work? The CloudSpot MCP server by Cotlet: your agent works in your own CloudSpot account.

  1. 1Log in to CloudSpot

    Once, in a browser we host for you.

  2. 2Connect your AI agent

    One address in its settings.

  3. 3Hand it the client work

    Draft the invoice, then approve the send.

Your agent works in your own signed-in Cloud Browser. Gallery emails, contracts, invoices and refunds wait for your OK. Who can see your session

Any MCP client

How to connect CloudSpot to your AI agent

  1. 1

    Sign in to CloudSpot in a Cloud Browser. Open app.cloudspot.io/login in your Cotlet Cloud Browser and log in with your own CloudSpot account.

  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.

CloudSpot uses the shared address https://cotlet.dev/mcp/v1, the same one as every other app you turn on, so a single connector reaches them all. Enabled CloudSpot after you connected? Refresh the connector and its 17 tools show up.

ChatGPT
Settings > Apps & Connectors > Create
MCP server URL: https://cotlet.dev/mcp/v1/connect
Authentication: OAuth
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"
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: cloudspot_read
2 read, 15 write

All 17 CloudSpot MCP tools

One tool per owner workflow in the CloudSpot Help Center. Most take an `action`: `list` and `get` only read, the other actions write and ask first.

Collections and galleries5

A Collection holds the images of one shoot; its Galleries are what clients open. Favorites and downloads come from the Collection Analytics.

  • read_galleries List your Collections and read the Galleries made from each one, with their settings. read

    A Collection is the master set of images for one shoot; CloudSpot lets you make several Galleries from it, for example a Sneak Peek and the full Gallery. For each Gallery this returns its name, URL, the Folders it shows and its expiration date. Nothing changes, so it runs without asking.

    MCP callcloudspot_read → read_galleries

    REST endpointGET https://cotlet.dev/api/v1/cloudspot/galleries/read

    Parameters

    Parameters: read_galleries
    NameTypeDescription
    collection string string Collection name. Leave empty to list every Collection.

    Example response

    {
      "collection": "Harper and Lee wedding",
      "galleries": [
        {
          "name": "Sneak Peek",
          "url": "example.cloudspot.io/harper-lee-sneak-peek",
          "folders": [
            "Ceremony"
          ],
          "expires": null
        },
        {
          "name": "Harper and Lee wedding",
          "url": "example.cloudspot.io/harper-lee",
          "folders": [
            "Getting ready",
            "Ceremony",
            "Reception"
          ],
          "expires": "2027-02-01"
        }
      ]
    }
  • view_collection_analytics Read the Favorites and Downloads sections of a Collection's Analytics. read

    Favorites lists are the ones clients saved in the Collection's published Galleries and Mobile Apps. Downloads covers single images as well as full Gallery or Folder downloads. Read only, it runs without asking.

    MCP callcloudspot_read → view_collection_analytics

    REST endpointGET https://cotlet.dev/api/v1/cloudspot/collection-analytics/view

    Parameters

    Parameters: view_collection_analytics
    NameTypeDescription
    collection string required string Collection name, as read_galleries returns it.
    section string string `favorites` or `downloads`. Leave empty for both.

    Example input

    {
      "collection": "collection"
    }

    Example response

    {
      "collection": "Harper and Lee wedding",
      "favorites": [
        {
          "list": "Album picks",
          "by": "client@example.com",
          "images": 42
        }
      ],
      "downloads": [
        {
          "what": "Full Gallery",
          "by": "client@example.com",
          "date": "2026-11-10"
        },
        {
          "what": "IMG_0412.jpg",
          "by": "guest@example.com",
          "date": "2026-11-11"
        }
      ]
    }
  • create_collection Create a new Collection, the workspace for one shoot before any Gallery is published. writeAsks first

    Creates the empty Collection with the name, date and tags you give. Images are uploaded afterwards; the agent does not upload photos for you. By default you confirm each call; you can switch that off for this tool.

    MCP callcloudspot_write → create_collection

    REST endpointPOST https://cotlet.dev/api/v1/cloudspot/collections

    Parameters

    Parameters: create_collection
    NameTypeDescription
    name string required string Collection name, for example the couple or the event.
    date string string ISO date of the shoot. Optional.
    tags array array Collection tags. Optional.

    Example input

    {
      "name": "Jane Doe"
    }

    Example response

    {
      "collection": "Rivera family fall session",
      "date": "2026-11-08",
      "tags": [
        "Family"
      ],
      "created": true
    }
  • deliver_images Email a Gallery to your client, as an online Gallery or with a Zip download. writeAsks first

    This is CloudSpot's Email button under Galleries & Apps. Without `zip` the client gets a button that opens the Gallery; with it they can also download the images straight from the email, under the Zip settings you set. The email reaches your client, so the agent shows the recipients and the text first. By default you confirm each call; you can switch that off for this tool.

    MCP callcloudspot_write → deliver_images

    REST endpointPOST https://cotlet.dev/api/v1/cloudspot/images/deliver

    Parameters

    Parameters: deliver_images
    NameTypeDescription
    collection string required string Collection name, as read_galleries returns it.
    gallery string required string Gallery to send, by name.
    to array required array Recipient emails, from your saved Clients or typed in.
    zip object object Add a Zip file: `folders`, `limit_downloads`, `expires` (ISO date), `image_size` (`full`, `social` or `custom`) and `watermark` (true or false).
    template string string Saved Email Template to use. Leave empty and give `message` instead.
    message string string Email text when no template is used.
    copy_me boolean boolean Send yourself a copy of the email.

    Example input

    {
      "collection": "collection",
      "gallery": "gallery",
      "to": "to"
    }

    Example response

    {
      "gallery": "Harper and Lee wedding",
      "to": [
        "client@example.com"
      ],
      "zip": {
        "image_size": "full",
        "limit_downloads": 3,
        "expires": "2027-01-15",
        "watermark": false
      },
      "sent": true
    }

Leads, clients and projects4

From a Lead Form inquiry to a Project with its documents and activity history.

  • manage_leads List and read inquiries from your Lead Forms, email a lead, archive it or convert it to a Project. writeAsks first

    A lead reads as New until it is opened, then Reviewed. `convert_to_project` saves the lead as a Client and creates a Project assigned to them. The agent never uses Delete Lead, which CloudSpot cannot undo. By default you confirm each call; you can switch that off for this tool.

    MCP callcloudspot_write → manage_leads

    REST endpointPOST https://cotlet.dev/api/v1/cloudspot/leads/manage

    Parameters

    Parameters: manage_leads
    NameTypeDescription
    action string required string One of `list`, `get`, `email`, `archive`, `convert_to_project`. `list` and `get` only read.
    lead string string Lead name or email, for every action except `list`.
    status string string For `list`: `new`, `reviewed` or `archived`.
    message string string For `email`: the email text.

    Example input

    {
      "action": "action"
    }

    Example response

    {
      "leads": [
        {
          "name": "Example Bride",
          "email": "bride@example.com",
          "status": "New",
          "answers": {
            "event_date": "2027-06-12",
            "venue": "Example Barn"
          }
        },
        {
          "name": "Sample Family",
          "email": "family@example.com",
          "status": "Reviewed"
        }
      ]
    }
  • manage_clients List or read your saved Clients, add a new one or add a client note. writeAsks first

    This is Studio's Clients page. Run `list` first so the same client is not saved twice; once saved, a client can be assigned to Projects, documents and Galleries. By default you confirm each call; you can switch that off for this tool.

    MCP callcloudspot_write → manage_clients

    REST endpointPOST https://cotlet.dev/api/v1/cloudspot/clients/manage

    Parameters

    Parameters: manage_clients
    NameTypeDescription
    action string required string One of `list`, `get`, `create`, `add_note`. `list` and `get` only read.
    client string string Client name or email, as manage_clients `list` returns it.
    fields object object For `create`: first_name, last_name and email (required), phone and address (optional).
    note object object For `add_note`: title and text.

    Example input

    {
      "action": "action"
    }

    Example response

    {
      "client": "Example Bride",
      "email": "bride@example.com",
      "phone": "+1 555 0100",
      "saved": true
    }
  • manage_projects List or read Studio Projects with their activity, create one or add a document to it. writeAsks first

    A Project keeps every document of one event or client together. `get` returns its documents and its Activity History: when the client viewed documents, signed contracts, paid and completed questionnaires. Documents added here are saved to the Project, not sent; send them with the contract, questionnaire or invoice tool. By default you confirm each call; you can switch that off for this tool.

    MCP callcloudspot_write → manage_projects

    REST endpointPOST https://cotlet.dev/api/v1/cloudspot/projects/manage

    Parameters

    Parameters: manage_projects
    NameTypeDescription
    action string required string One of `list`, `get`, `create`, `add_document`. `list` and `get` only read.
    project string string Project name, as manage_projects `list` returns it.
    fields object object For `create`: name, date, client and an optional description, which clients do not see.
    document object object For `add_document`: type (`contract`, `questionnaire` or `invoice`) and the template to start from.

    Example input

    {
      "action": "action"
    }

    Example response

    {
      "project": "Example Bride wedding",
      "date": "2027-06-12",
      "client": "Example Bride",
      "documents": [
        "Wedding contract",
        "Wedding questionnaire",
        "Wedding invoice"
      ],
      "activity": [
        {
          "event": "Contract signed",
          "at": "2026-11-12T18:04"
        }
      ]
    }
  • manage_to_dos List, add, rename, complete or delete items on your CloudSpot Dashboard To Do List. writeAsks first

    A deleted to-do cannot be restored in CloudSpot; a completed one can be moved back to Active. By default you confirm each call; you can switch that off for this tool.

    MCP callcloudspot_write → manage_to_dos

    REST endpointPOST https://cotlet.dev/api/v1/cloudspot/dos/manage

    Parameters

    Parameters: manage_to_dos
    NameTypeDescription
    action string required string One of `list`, `create`, `update`, `complete`, `delete`. `list` and `get` only read.
    to_do string string The task text, for every action except `list`.
    new_text string string For `update`: the new task text.

    Example input

    {
      "action": "action"
    }

    Example response

    {
      "active": [
        "Cull the Rivera session",
        "Order album proofs for Harper and Lee"
      ],
      "completed": 4
    }

Contracts, questionnaires and invoices4

Each document is drafted first and sent in a second call, so you read it before the client does.

  • manage_contracts List or read Contracts with their activity, draft one from a template or send it to the client. writeAsks first

    `create` saves a draft; `send` emails it, so you can read the contract before your client does. `get` includes the Activity Feed: when the contract was created, viewed and signed. By default you confirm each call; you can switch that off for this tool.

    MCP callcloudspot_write → manage_contracts

    REST endpointPOST https://cotlet.dev/api/v1/cloudspot/contracts/manage

    Parameters

    Parameters: manage_contracts
    NameTypeDescription
    action string required string One of `list`, `get`, `create`, `send`. `list` and `get` only read.
    contract string string Contract name, for `get` and `send`.
    client string string Client name or email, as manage_clients `list` returns it.
    template string string For `create`: Contract Template to start from.
    email string string For `send`: Email Template name or the email text.

    Example input

    {
      "action": "action"
    }

    Example response

    {
      "contract": "Wedding contract",
      "client": "Example Bride",
      "status": "Viewed",
      "activity": [
        {
          "event": "Created",
          "at": "2026-11-10T09:12"
        },
        {
          "event": "Viewed",
          "at": "2026-11-11T20:31"
        }
      ]
    }
  • manage_questionnaires List or read Questionnaires, draft one from a template or send it to the client. writeAsks first

    Questionnaires go out on their own or through a Project; to link one to a Project, its client must match the Project's client. `send` reaches your client, so it waits for your OK. By default you confirm each call; you can switch that off for this tool.

    MCP callcloudspot_write → manage_questionnaires

    REST endpointPOST https://cotlet.dev/api/v1/cloudspot/questionnaires/manage

    Parameters

    Parameters: manage_questionnaires
    NameTypeDescription
    action string required string One of `list`, `get`, `create`, `send`. `list` and `get` only read.
    questionnaire string string Questionnaire name, for `get` and `send`.
    client string string Client name or email, as manage_clients `list` returns it.
    template string string For `create`: template to start from.
    questions array array For `create` from scratch: each with text, type (`short_answer`, `long_answer`, `dropdown`, `radio`, `checkboxes` or `date`) and `required`.

    Example input

    {
      "action": "action"
    }

    Example response

    {
      "questionnaire": "Wedding questionnaire",
      "client": "Example Bride",
      "questions": 12,
      "status": "Draft"
    }
  • manage_invoices List or read Invoices, create one with a payment schedule, send it or send a payment reminder. writeAsks first

    CloudSpot already emails automatic payment reminders before and after each due date; `remind` sends the extra reminder from the Invoice's Quick Actions menu. `create` saves a draft and `send` emails it, so you can check the amounts first. By default you confirm each call; you can switch that off for this tool.

    MCP callcloudspot_write → manage_invoices

    REST endpointPOST https://cotlet.dev/api/v1/cloudspot/invoices/manage

    Parameters

    Parameters: manage_invoices
    NameTypeDescription
    action string required string One of `list`, `get`, `create`, `send`, `remind`. `list` and `get` only read.
    invoice string string Invoice name, for `get`, `send` and `remind`.
    client string string Client name or email, as manage_clients `list` returns it.
    template string string For `create`: Invoice Template to start from.
    lines array array For `create`: description and price per line item.
    payments array array For `create`: the payment schedule, amount and ISO due date per payment. CloudSpot splits the total equally until you set amounts.

    Example input

    {
      "action": "create",
      "client": "Example Bride",
      "template": "Wedding collection",
      "lines": [
        {
          "description": "Wedding day coverage, 8 hours",
          "price": 2800
        },
        {
          "description": "Engagement session",
          "price": 400
        }
      ],
      "payments": [
        {
          "amount": 1000,
          "due": "2026-11-20"
        },
        {
          "amount": 2200,
          "due": "2027-05-29"
        }
      ]
    }

    Example response

    {
      "invoice": "Wedding invoice",
      "client": "Example Bride",
      "total": 3200,
      "payments": [
        {
          "amount": 1000,
          "due": "2026-11-20",
          "status": "Due"
        },
        {
          "amount": 2200,
          "due": "2027-05-29",
          "status": "Scheduled"
        }
      ],
      "status": "Draft"
    }
  • record_manual_payment Record a check, cash or other offline payment on a Studio Invoice. writeAsks first

    This is Add Manual Payment in the Invoice's Quick Actions; CloudSpot offers it on upgraded plans. The payment appears in Payment History and updates the Invoice status. It moves no money; a refund of a manual payment also happens outside CloudSpot. By default you confirm each call; you can switch that off for this tool.

    MCP callcloudspot_write → record_manual_payment

    REST endpointPOST https://cotlet.dev/api/v1/cloudspot/manual-payments

    Parameters

    Parameters: record_manual_payment
    NameTypeDescription
    invoice string required string Invoice name.
    date string required string ISO date the client paid.
    amount number required number Amount paid.
    method string required string Payment method, as CloudSpot lists it, for example Check or Cash.
    description string string Short note on the payment.
    transaction_id string string Reference for you and your client.
    send_confirmation boolean boolean Email your client a confirmation.

    Example input

    {
      "invoice": "invoice",
      "date": "date",
      "amount": 1,
      "method": "method"
    }

    Example response

    {
      "invoice": "Wedding invoice",
      "amount": 1000,
      "method": "Check",
      "date": "2026-11-18",
      "status": "Partially paid",
      "saved": true
    }

Mini-sessions and bookings2

Time slots, prices and terms for a mini-session day, and the bookings clients make in it.

  • manage_mini_sessions List or read your mini-sessions and their bookings, or create a new one with time slots. writeAsks first

    This is New Mini-Session in Studio's Booking section. Sample photos (up to 6) are added by hand. `get` lists every time slot with the client who booked it and the payment, if one was required. By default you confirm each call; you can switch that off for this tool.

    MCP callcloudspot_write → manage_mini_sessions

    REST endpointPOST https://cotlet.dev/api/v1/cloudspot/mini-sessions/manage

    Parameters

    Parameters: manage_mini_sessions
    NameTypeDescription
    action string required string One of `list`, `get`, `create`. `list` and `get` only read.
    mini_session string string Mini-session name, for `get`.
    fields object object For `create`: name, description, date, time_slots (with AM or PM), location, require_payment, price and terms.

    Example input

    {
      "action": "action"
    }

    Example response

    {
      "mini_session": "Fall minis at Example Park",
      "date": "2026-11-22",
      "slots": [
        {
          "time": "9:00 AM",
          "client": "Sample Family",
          "paid": 150
        },
        {
          "time": "9:30 AM",
          "client": null
        }
      ],
      "price": 150
    }
  • manage_bookings Move a mini-session booking to another open slot, delete it, or refund its payment. writeAsks first

    CloudSpot sends the client no email when a booking is edited or deleted, so the agent reminds you to tell them; a refund does send them an email. The freed slot opens for other clients. A refund cannot be pulled back. By default you confirm each call; you can switch that off for this tool.

    MCP callcloudspot_write → manage_bookings

    REST endpointPOST https://cotlet.dev/api/v1/cloudspot/bookings/manage

    Parameters

    Parameters: manage_bookings
    NameTypeDescription
    action string required string One of `reschedule`, `delete`, `refund`. `list` and `get` only read.
    mini_session string required string Mini-session name.
    client string required string Client who booked.
    new_time string string For `reschedule`: one of the open time slots.

    Example input

    {
      "action": "action",
      "mini_session": "mini session",
      "client": "client"
    }

    Example response

    {
      "mini_session": "Fall minis at Example Park",
      "client": "Sample Family",
      "from": "9:00 AM",
      "to": "10:30 AM",
      "rescheduled": true
    }

Store2

Discount codes for prints, digital products or shipping, and print orders held for your review.

  • manage_discount_codes List your Store discount codes or create one for prints, digital products or shipping. writeAsks first

    Discount codes live in the Discount Codes section of your Store and need a card on file. If a client's payment does not cover the lab's cost of goods, CloudSpot charges your card the difference, so the agent shows the amount and the minimum order before saving. By default you confirm each call; you can switch that off for this tool.

    MCP callcloudspot_write → manage_discount_codes

    REST endpointPOST https://cotlet.dev/api/v1/cloudspot/discount-codes/manage

    Parameters

    Parameters: manage_discount_codes
    NameTypeDescription
    action string required string One of `list`, `create`. `list` and `get` only read.
    fields object object For `create`: name (only you see it), code, apply_to (`subtotal`, `shipping` or `digital`), a percentage or fixed amount, expires (ISO date), minimum_order and max_uses.

    Example input

    {
      "action": "action"
    }

    Example response

    {
      "name": "Holiday print sale",
      "code": "HOLIDAY20",
      "apply_to": "subtotal",
      "percent_off": 20,
      "minimum_order": 50,
      "expires": "2026-12-15",
      "created": true
    }
  • review_pending_orders List Store orders waiting in review, or submit one to the lab. writeAsks first

    Orders wait in Pending Orders when the Catalog has Approve Orders Before Fulfillment on, until you submit them or the hold window ends. A submitted order cannot be undone, so the agent shows the order before it goes to the lab. Crop edits stay with you in CloudSpot. By default you confirm each call; you can switch that off for this tool.

    MCP callcloudspot_write → review_pending_orders

    REST endpointPOST https://cotlet.dev/api/v1/cloudspot/pending-orders/review

    Parameters

    Parameters: review_pending_orders
    NameTypeDescription
    action string required string One of `list`, `submit`. `list` and `get` only read.
    order string string Order number, for `submit`.

    Example input

    {
      "action": "action"
    }

    Example response

    {
      "pending_orders": [
        {
          "order": "10482",
          "client": "Sample Family",
          "items": 3,
          "total": 86,
          "auto_submits": "2026-11-16"
        }
      ]
    }
Encrypted, revocable

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

  • What we store

    Your signed-in CloudSpot browser profile, AES-256-GCM encrypted, in Finland. Never your password.

  • What your agent gets

    The 17 CloudSpot tools. The session cookie stays in the Cloud Browser.

  • What the session sees

    The Collections, clients, documents and Store your CloudSpot plan includes, and nothing more.

  • What no tool touches

    Your CloudSpot subscription and billing, payment connections (Stripe, PayPal), account settings, and image uploads or deletions.

  • If CloudSpot logs you out

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

  • How to cut access

    Disable CloudSpot for agents, reset the browser, or change your CloudSpot password.

You type your CloudSpot password yourself; the agent only uses the session that login leaves behind. Our site scores A+ on Qualys SSL Labs, securityheaders.com and Mozilla Observatory (live results).

We keep it working

What happens when CloudSpot changes? The tools work through the same CloudSpot pages you use for every shoot.

Cotlet watches the apps it serves and updates the CloudSpot server when CloudSpot changes its screens, such as the Gallery Settings tabs or the Studio menus, so your agent keeps working without a change on your side.

New CloudSpot features reach the agent once a tool covers them. The agent only sees what your plan includes: on a Gallery-only plan the Studio tools find no invoices or contracts to work on.

If CloudSpot logs you out, one click in the Cotlet console reopens the Cloud Browser so you can log in again.

15 tools ask first

Approvals, undo and mistakes Clients, the lab and your card get nothing until you say so.

  1. 01 Read the lead manage_leads returns the Lead Form answers.
  2. 02 Open the project manage_leads converts it; the client is saved too.
  3. 03 Draft the invoice Lines and payment schedule, saved as a draft.
  4. 04 Send after your OK manage_invoices sends it with your email template.
Fixing a CloudSpot write that went wrong
ActionHow to put it right
Gallery expiration dateChange or remove it with set_gallery_expiration; the Gallery opens again
Rescheduled bookingMove it back with manage_bookings, then tell the client: CloudSpot sends them no email
Sent gallery, contract or invoiceAlready with your client: follow up with them directly
Submitted print orderCloudSpot cannot undo it; ask CloudSpot support in chat right away
Refunded booking paymentThe money and the refund email are already with your client

All 15 write tools ask first: by default you confirm each call, and you can switch that off per tool. The 2 read tools, galleries and Collection Analytics, run at once.

MCP call
{
  "name": "manage_invoices",
  "arguments": {
    "action": "create",
    "client": "Example Bride",
    "template": "Wedding collection",
    "lines": [
      {
        "description": "Wedding day coverage, 8 hours",
        "price": 2800
      },
      {
        "description": "Engagement session",
        "price": 400
      }
    ],
    "payments": [
      {
        "amount": 1000,
        "due": "2026-11-20"
      },
      {
        "amount": 2200,
        "due": "2027-05-29"
      }
    ]
  }
}
REST
curl -X POST https://cotlet.dev/api/v1/cloudspot/invoices/manage \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"action":"create","client":"Example Bride","template":"Wedding collection","lines":[{"description":"Wedding day coverage, 8 hours","price":2800},{"description":"Engagement session","price":400}],"payments":[{"amount":1000,"due":"2026-11-20"},{"amount":2200,"due":"2027-05-29"}]}'
Response
{
  "invoice": "Wedding invoice",
  "client": "Example Bride",
  "total": 3200,
  "payments": [
    {
      "amount": 1000,
      "due": "2026-11-20",
      "status": "Due"
    },
    {
      "amount": 2200,
      "due": "2027-05-29",
      "status": "Scheduled"
    }
  ],
  "status": "Draft"
}

The example drafts a $3,200 wedding invoice, $2,800 of coverage and a $400 engagement session, as a $1,000 retainer and a $2,200 final payment. It stays a draft until a second call sends it. A cron job or n8n flow can make the same call over REST at /api/v1/cloudspot with the same key and price, in JSON. Failed calls are free.

Pay per call

How much does the CloudSpot MCP server cost?

About $20 a monthfor a solo wedding and portrait photographer, 3,420 credits. Your CloudSpot plan stays as it is.

Illustrative month, our assumption: successful calls for this workload
JobCallsCredits
Morning look at new leads and sent invoices2 × 20400
Leads emailed or turned into projects3 × 8240
Galleries delivered with an expiry date3 × 6180
Favorites and downloads check2 × 20400
Contracts and questionnaires sent2 × 8160
Payment reminders and checks recorded2 × 12240
Mini-session setup and booking moves1 × 10100
To-do list updates1 × 20200
Cloud Browser, 30 days1,500
Total192 calls3,420

The smallest pack, 5,000 credits for $29, covers this month. Wedding season, with more deliveries and invoices, uses more calls.

  • Free 7-day trial, no card
  • 10 credits per successful call, MCP or REST
  • 50 credits a day for the Cloud Browser
  • Your CloudSpot plan and its features apply as they are

Credit packs are one-time purchases, not a subscription. The month above is an example built from our own assumptions, not measured customer usage.

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

CloudSpot MCP server: other ways to connect What each route does for a photography studio, and where it stops.

Other ways to work with CloudSpot, checked 13 Nov 2026
OptionWhat it doesWhere it stops
CloudSpot (Beta) on ZapierMoves gallery visitor emails, store orders and contacts to other apps with a token.No gallery emails, contracts, invoices or bookings; runs inside Zapier.
Lightroom pluginPublishes Collections and images from Lightroom to CloudSpot, one way.Image publishing only, not a route for an AI agent.
By handOpen each Collection, Project and Invoice in CloudSpot.One screen at a time, only while you are at the desk.

If a Zap already moves the data you need, keep it: it is the vendor's own route. Cotlet fits when you want ChatGPT, Claude or a script doing the client work in CloudSpot itself, from your own login, with nothing to host.

EU company, since 2019

Who runs Cotlet A company you can look up.

Take Group sp. z o.o. runs Cotlet: a software company registered in Poland, EU (VAT PL6342984273), working since 2019, founded by Bart Krawczyk (Co-founder, CTO) and Jake Slugocki (Co-founder, SEO, sales and marketing). Questions about the CloudSpot tools go to contact@cotlet.dev.

CloudSpot MCP server: questions

How do I get access?

Sign up free at https://cotlet.dev/signup?app=cloudspot, turn on CloudSpot under Integrations in the console and log in at https://app.cloudspot.io/login in your Cloud Browser. Then connect your AI agent and ask it about a gallery or an invoice. The trial needs no card.

Does CloudSpot have an API?

CloudSpot publishes no public API (checked 13 Nov 2026). Its Help Center documents a CloudSpot (Beta) app on Zapier, connected with an access token you generate under Galleries > Settings > Integrations. No CloudSpot MCP server and no official ChatGPT or Claude connector was found. Cotlet does not use that token: it works in your own signed-in CloudSpot account.

Which CloudSpot plan do the Studio tools need?

CloudSpot's pricing page lists invoices, contracts, questionnaires, lead forms, scheduling and mini-sessions in its Full Suite plans; the Gallery-only plans cover galleries and the print store. Manual payments are on upgraded plans. The agent can use only what your plan includes.

Does the client hear when a booking moves?

Not from CloudSpot. Its Help Center says clients get no email when a mini-session booking is edited or deleted, only when a payment is refunded. Tell your client yourself, or ask your agent to draft the message.

Can the agent upload or edit my photos?

No. The tools create Collections, send Galleries and change their settings, but uploading, culling and crop edits stay with you in CloudSpot or the Lightroom plugin.

Is the MCP server different from the REST API?

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

Is Cotlet affiliated with CloudSpot?

No. Cotlet is independent and not affiliated with CloudSpot.

Hand your next CloudSpot delivery to your agent.

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