Studio Ninja MCP server Let your AI agent run the Studio Ninja admin.

Your AI agent logs enquiries, follows up quiet leads, books jobs with a contract and invoice and chases overdue payments. Sign in to Studio Ninja once in your own Cloud Browser. No API, no Zapier.

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

9 tools Read and write

Enquiry to booked

What can your AI agent do in Studio Ninja? The admin between the enquiry and the gallery.

  • Log enquiries as leads

  • Follow up quiet leads

  • Book jobs with their workflow

  • Send contracts for signing

  • Send invoices

  • Chase overdue payments

No public API

Does Studio Ninja have an MCP server or an API? No public API, no Zapier, and no MCP server.

Studio Ninja has no MCP server, no ChatGPT or Claude app, no public API and no Zapier app: it connects only to built-in partners such as Xero, Stripe and Pic-Time (checked 8 Nov 2026). Cotlet runs 9 Studio Ninja tools hosted, over MCP for agents and REST for scripts, in your own Studio Ninja login.

  • Studio Ninja's help center has no API or webhook articles.
  • Studio Ninja has no Zapier app.
  • Studio Ninja has no connector in the ChatGPT apps directory or in Claude.
The Studio Ninja API, other options and Cotlet compared
What you need Studio Ninja APIBy handCotlet
Leads and jobs No API Yes, one by one Yes
Contracts and invoices No API Yes, one by one Yes, after your OK
Overdue payments No API Payments page Yes
Ask in ChatGPT or Claude No No Yes
Zapier app None None Not needed

Checked 8 Nov 2026. Sources: Studio Ninja help center · Studio Ninja pricing and integrations · Studio Ninja help: How to add a new lead

Set up once

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

  1. 1Sign in to Studio Ninja

    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 Studio Ninja password, and no contract, invoice or client email goes out until you approve it. Who can see your session

Any MCP client

How to connect Studio Ninja to your AI agent

  1. 1

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

Studio Ninja shares the address https://cotlet.dev/mcp/v1 with every other app you enable, so one connector covers them all. Turned Studio Ninja 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: studio_ninja_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: studio_ninja_write
4 read, 5 write

All 9 Studio Ninja MCP tools

Leads and jobs5

New leads and booked jobs reach no one by themselves, so they run at once. A workflow task that emails the client waits for your OK.

  • list_leads Leads with job type, date and last contact. read

    Returns open leads with client, job type, shoot date, source and days since last contact.

    MCP callstudio_ninja_read → list_leads

    REST endpointGET https://cotlet.dev/api/v1/studio-ninja/leads

    Parameters

    Parameters: list_leads
    NameTypeDescription
    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": "L-6610",
          "client": "Hannah & Liam Fletcher",
          "job_type": "Wedding",
          "date": "2027-03-20",
          "source": "Contact form",
          "days_since_contact": 6
        }
      ],
      "page": 1
    }
  • add_lead Adds a lead from an enquiry. write

    Creates the client and lead with job type and date. Reaches no one, so it runs at once.

    MCP callstudio_ninja_write → add_lead

    REST endpointPOST https://cotlet.dev/api/v1/studio-ninja/leads

    Parameters

    Parameters: add_lead
    NameTypeDescription
    name string required string Client name.
    email string string Email.
    job_type string required string Job type as in your settings.
    date string string ISO shoot date.
    note string string What they wrote.

    Example input

    {
      "name": "Jane Doe",
      "job_type": "job type"
    }

    Example response

    {
      "lead_id": "L-6634",
      "client": "Priya Raman",
      "job_type": "Newborn",
      "date": "2026-12-04"
    }
  • book_job Turns a lead into a booked job with its workflow. write

    Converts the lead to a job and applies the job type's workflow. Workflow emails that go to the client follow your workflow settings, so check them first. Reaches no one by itself, so it runs at once.

    MCP callstudio_ninja_write → book_job

    REST endpointPOST https://cotlet.dev/api/v1/studio-ninja/leads/{lead_id}/jobs

    Parameters

    Parameters: book_job
    NameTypeDescription
    lead_id string required string Lead ID from list_leads.

    Example input

    {
      "lead_id": "L-6610"
    }

    Example response

    {
      "job_id": "J-3318",
      "client": "Hannah & Liam Fletcher",
      "job_type": "Wedding",
      "date": "2027-03-20",
      "status": "Booked"
    }
  • list_jobs Booked jobs by date, with the next workflow task. read

    Returns jobs with client, date, job type, amount owing and the next open workflow task.

    MCP callstudio_ninja_read → list_jobs

    REST endpointGET https://cotlet.dev/api/v1/studio-ninja/jobs

    Parameters

    Parameters: list_jobs
    NameTypeDescription
    date_from string string ISO date.
    date_to string string ISO date.
    page integer integer Page number. Default: 1.

    Example response

    {
      "jobs": [
        {
          "job_id": "J-3290",
          "client": "Mitchell Doyle",
          "job_type": "Corporate headshots",
          "date": "2026-11-14",
          "owing": "0.00",
          "next_task": "Send gallery"
        }
      ],
      "page": 1
    }
  • complete_task Marks a workflow task done on a job. write

    Ticks the task in the job workflow. If the task sends an email to the client, it waits for your OK.

    MCP callstudio_ninja_write → complete_task

    REST endpointPOST https://cotlet.dev/api/v1/studio-ninja/jobs/{job_id}/task/complete

    Parameters

    Parameters: complete_task
    NameTypeDescription
    job_id string required string Job ID from list_jobs.
    task string required string Task name.

    Example input

    {
      "job_id": "job_8c41d2",
      "task": "task"
    }

    Example response

    {
      "job_id": "J-3290",
      "task": "Send gallery",
      "status": "Done"
    }

Clients1

Search matches name and email.

  • list_clients Clients, searchable by name or email. read

    Returns clients with ID, contact details and their jobs.

    MCP callstudio_ninja_read → list_clients

    REST endpointGET https://cotlet.dev/api/v1/studio-ninja/clients

    Parameters

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

    Example response

    {
      "clients": [
        {
          "client_id": "CL-5521",
          "name": "Priya Raman",
          "email": "priya@example.com",
          "jobs": 1
        }
      ],
      "page": 1
    }

Contracts and payments3

Contracts and invoices wait for your OK. The overdue list comes from the Payments page.

  • send_contract Sends a contract from your templates for signing. writeasks first

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

    MCP callstudio_ninja_write → send_contract

    REST endpointPOST https://cotlet.dev/api/v1/studio-ninja/jobs/{job_id}/contracts

    Parameters

    Parameters: send_contract
    NameTypeDescription
    job_id string required string Job ID from list_jobs.
    template string required string Contract template name.

    Example input

    {
      "job_id": "job_8c41d2",
      "template": "template"
    }

    Example response

    {
      "contract_id": "CT-1187",
      "client": "Hannah & Liam Fletcher",
      "template": "Wedding contract",
      "status": "Sent"
    }
  • send_invoice Creates and emails an invoice for a job. writeasks first

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

    MCP callstudio_ninja_write → send_invoice

    REST endpointPOST https://cotlet.dev/api/v1/studio-ninja/jobs/{job_id}/invoices

    Parameters

    Parameters: send_invoice
    NameTypeDescription
    job_id string required string Job ID from list_jobs.
    items array required array Package or line items with price.
    schedule string string Payment schedule name.

    Example input

    {
      "job_id": "job_8c41d2",
      "items": "items"
    }

    Example response

    {
      "invoice_id": "INV-2041",
      "client": "Hannah & Liam Fletcher",
      "total": "4,200.00",
      "status": "Sent"
    }
  • list_overdue Overdue invoices and payments due soon, from the Payments page. read

    Returns overdue and upcoming payments with client, job, amount and due date.

    MCP callstudio_ninja_read → list_overdue

    REST endpointGET https://cotlet.dev/api/v1/studio-ninja/overdues

    Parameters

    Parameters: list_overdue
    NameTypeDescription
    include_upcoming_days integer integer Also payments due in this many days.

    Example response

    {
      "payments": [
        {
          "client": "Mitchell Doyle",
          "job": "Corporate headshots",
          "amount": "650.00",
          "due": "2026-10-30",
          "status": "Overdue"
        }
      ]
    }
Encrypted, revocable

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

  • What we store

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

  • What your agent gets

    The 9 Studio Ninja tools, never the session cookie.

  • What the session sees

    What your login sees: leads, jobs, clients, invoices, contracts.

  • What no tool touches

    Refunds, payment settings, your templates, deletes.

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

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

When Studio Ninja moves a button on a job or renames a page, we fix the tool and your agent calls it the same way. status.cotlet.dev checks the site, console and API every 3 minutes.

2 tools ask first

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

  1. 01 Books the job From the lead, with its workflow.
  2. 02 Fills the contract From your template.
  3. 03 Drafts the deposit invoice With your payment schedule.
  4. 04 Waits, then sends Both show up in your Cotlet console first.
Which Studio Ninja actions can be undone
ActionUndo
Add a lead or book a jobYes, edit or archive it in Studio Ninja
Send a contract or invoiceNo, it is in the client's inbox; void it in Studio Ninja
Tick a workflow taskYes, untick it

2 of 9 tools ask first: send_invoice, send_contract. New leads, booked jobs 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": "book_job",
  "arguments": {
    "lead_id": "L-6610"
  }
}
REST
curl -X POST https://cotlet.dev/api/v1/studio-ninja/leads/L-6610/jobs \
  -H "Authorization: Bearer $COTLET_API_KEY"
Response
{
  "job_id": "J-3318",
  "client": "Hannah & Liam Fletcher",
  "job_type": "Wedding",
  "date": "2027-03-20",
  "status": "Booked"
}

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

About $15 a monthfor a wedding and portrait photographer, 2,600 credits. Your Studio Ninja plan stays as it is.

A month of Studio Ninja admin for a photographer, in credits
JobCallsCredits
Enquiry logged as a lead1 × 30300
Quiet leads, weekly1 × 440
Job booked with contract and invoice4 × 8320
Overdue payments, weekly1 × 440
Workflow task ticked1 × 40400
Cloud Browser, 30 days1,500
Total2,600
  • 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 Studio Ninja plan

Studio Ninja 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

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

Other ways to connect Studio Ninja, checked 8 Nov 2026
OptionWhat it doesWhere it stops
Built-in integrationsXero, QuickBooks, Stripe, Pic-Time and other partners.Fixed syncs; nothing you can ask in plain words.
Studio Ninja workflowsAutomatic emails and tasks per job type.Fixed steps you set up; no new leads or invoices on request.
By handEvery screen of Studio Ninja, one client at a time.Your editing time.

Studio Ninja has no API or Zapier app, so there is nothing to connect a script to. To log leads, book jobs and send invoices from ChatGPT or Claude this week, Cotlet works in the Studio Ninja 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 Studio Ninja tools go to contact@cotlet.dev.

Studio Ninja MCP server: questions

How do I get access?

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

How do I connect Studio Ninja to ChatGPT or Claude?

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

What can ChatGPT do in Studio Ninja?

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

No. Studio Ninja has no ChatGPT or Claude connector of its own and Studio Ninja 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 Studio Ninja?

Yes, with Cotlet. ChatGPT adds enquiries from email or DMs as Studio Ninja leads with the job type and date, and lists leads that have gone quiet.

Can ChatGPT send invoices in Studio Ninja?

Yes, with Cotlet. ChatGPT creates the invoice for the job from your packages and payment schedule and sends it after your OK.

Can ChatGPT find overdue payments in Studio Ninja?

Yes, with Cotlet. ChatGPT reads the Payments page and lists what is overdue and what falls due soon, by client and job.

Does it work with Studio Ninja workflows?

Yes. Booking a job applies the job type's workflow as usual, and your agent can tick workflow tasks. A task that emails the client waits for your OK.

Does it work with two-factor sign-in?

Yes. You sign in to Studio Ninja yourself in your Cloud Browser, code included, and Cotlet keeps that session. We never see or store your password.

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 Studio Ninja?

No. Cotlet is independent and not affiliated with Studio Ninja or its owner Captura.

Hand the Studio Ninja admin to your agent.

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