Virtuagym MCP server Let your AI agent run the Virtuagym front desk.

Your AI agent books members into classes from messages, checks which classes need filling, finds members who stopped coming and logs leads. Sign in to Virtuagym once in your own Cloud Browser. No API request, no developer.

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

8 tools Read and write

Message to class

What can your AI agent do in Virtuagym? The front desk work between the message and the class.

  • Book members into classes

  • See which classes need filling

  • Find members who stopped coming

  • Log enquiries as leads

  • Keep notes on members

  • Look up any member

API by email

Does Virtuagym have an MCP server or an API? An API by email, and no MCP server.

Virtuagym has no MCP server, no ChatGPT or Claude app and no Zapier app. Its API docs and keys come only by email ("please reach out to api@virtuagym.com", Virtuagym help, checked 9 Nov 2026). Cotlet runs 8 Virtuagym tools hosted, over MCP for agents and REST for scripts, in your own Virtuagym login.

  • Virtuagym shares its API docs on GitHub only after you email them.
  • Virtuagym has no Zapier app.
  • Virtuagym has no connector in the ChatGPT apps directory or in Claude.
The Virtuagym API, other options and Cotlet compared
What you need Virtuagym APIBy handCotlet
Classes and bookings Key by email Yes, one by one Yes, after your OK
Members and visits Key by email Yes, one by one Yes
Leads Lead API by email Yes Yes
Ask in ChatGPT or Claude No No Yes
Developer needed Yes No No

Checked 8 Nov 2026. Sources: Virtuagym help: API link to your website · Virtuagym about us · Virtuagym help: managing clients and staff

Set up once

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

  1. 1Sign in to Virtuagym

    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 Virtuagym password, and no booking or cancellation goes through until you approve it. Who can see your session

Any MCP client

How to connect Virtuagym to your AI agent

  1. 1

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

Virtuagym shares the address https://cotlet.dev/mcp/v1 with every other app you enable, so one connector covers them all. Turned Virtuagym on after connecting? Refresh the connector and the 8 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: virtuagym_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: virtuagym_write
4 read, 4 write

All 8 Virtuagym MCP tools

Classes and bookings4

Spaces come from the schedule. Bookings and cancellations wait for your OK; Virtuagym sends its usual messages.

  • list_classes Classes on the schedule for a day or range, with spaces left. read

    Returns classes with time, instructor, capacity and booked count.

    MCP callvirtuagym_read → list_classes

    REST endpointGET https://cotlet.dev/api/v1/virtuagym/classes

    Parameters

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

    Example input

    {
      "date_from": "date from"
    }

    Example response

    {
      "classes": [
        {
          "event_id": "EV-90122",
          "name": "Bootcamp",
          "instructor": "Femke",
          "start": "2026-11-10T19:00",
          "capacity": 16,
          "booked": 14
        }
      ],
      "page": 1
    }
  • get_class One class with the members booked and attendance. read

    Returns booked members and who was present after the class.

    MCP callvirtuagym_read → get_class

    REST endpointGET https://cotlet.dev/api/v1/virtuagym/events/{event_id}/class

    Parameters

    Parameters: get_class
    NameTypeDescription
    event_id string required string Class ID from list_classes.

    Example input

    {
      "event_id": "event_8c41d2"
    }

    Example response

    {
      "event_id": "EV-90122",
      "name": "Bootcamp",
      "booked": [
        {
          "member": "Sanne Jansen",
          "present": null
        }
      ]
    }
  • book_member Books a member into a class with their membership or credits. writeasks first

    Adds the member to the class the way staff do from the schedule. Virtuagym sends its usual booking message. By default you confirm each call; you can switch that off for this tool.

    MCP callvirtuagym_write → book_member

    REST endpointPOST https://cotlet.dev/api/v1/virtuagym/events/{event_id}/members/{member_id}

    Parameters

    Parameters: book_member
    NameTypeDescription
    event_id string required string Class ID from list_classes.
    member_id string required string Member ID from list_members.

    Example input

    {
      "event_id": "EV-90122",
      "member_id": "M-44188"
    }

    Example response

    {
      "event_id": "EV-90122",
      "member": "Daan de Vries",
      "status": "Booked"
    }
  • cancel_booking Cancels a member's class booking. writeasks first

    Removes the member from the class; your cancellation rules in Virtuagym apply. By default you confirm each call; you can switch that off for this tool.

    MCP callvirtuagym_write → cancel_booking

    REST endpointPOST https://cotlet.dev/api/v1/virtuagym/events/{event_id}/booking/cancel

    Parameters

    Parameters: cancel_booking
    NameTypeDescription
    event_id string required string Class ID from list_classes.
    member_id string required string Member ID from list_members.

    Example input

    {
      "event_id": "event_8c41d2",
      "member_id": "member_8c41d2"
    }

    Example response

    {
      "event_id": "EV-90122",
      "member": "Sanne Jansen",
      "status": "Cancelled"
    }

Members and leads4

Search by name and email. Notes and new leads reach no one, so they run at once.

  • list_members Members, searchable by name or email, with membership and last visit. read

    Returns members with ID, active membership, end date and last check-in.

    MCP callvirtuagym_read → list_members

    REST endpointGET https://cotlet.dev/api/v1/virtuagym/members

    Parameters

    Parameters: list_members
    NameTypeDescription
    query string string Name or email.
    not_visited_days integer integer Only members with no visit in this many days.
    page integer integer Page number. Default: 1.

    Example response

    {
      "members": [
        {
          "member_id": "M-44120",
          "name": "Sanne Jansen",
          "membership": "Unlimited monthly",
          "ends": null,
          "last_visit": "2026-11-06"
        }
      ],
      "page": 1
    }
  • get_member One member with membership, bookings, visits and notes. read

    Returns the member profile: membership and billing cycle, upcoming bookings, recent visits and staff notes.

    MCP callvirtuagym_read → get_member

    REST endpointGET https://cotlet.dev/api/v1/virtuagym/members/{member_id}

    Parameters

    Parameters: get_member
    NameTypeDescription
    member_id string required string Member ID from list_members.

    Example input

    {
      "member_id": "member_8c41d2"
    }

    Example response

    {
      "member_id": "M-44120",
      "name": "Sanne Jansen",
      "membership": "Unlimited monthly",
      "upcoming": [
        {
          "class": "Bootcamp",
          "start": "2026-11-10T19:00"
        }
      ],
      "visits_30d": 9,
      "notes": []
    }
  • add_member_note Adds a staff note to a member. write

    Appends a note staff see, for example an injury or a call outcome. Reaches no one, so it runs at once.

    MCP callvirtuagym_write → add_member_note

    REST endpointPOST https://cotlet.dev/api/v1/virtuagym/members/{member_id}/note

    Parameters

    Parameters: add_member_note
    NameTypeDescription
    member_id string required string Member ID from list_members.
    note string required string Note text.

    Example input

    {
      "member_id": "member_8c41d2",
      "note": "note"
    }

    Example response

    {
      "member_id": "M-44120",
      "note_added": "Called about renewal, will decide Friday"
    }
  • add_lead Adds a lead from an enquiry. write

    Creates the lead with contact details and source, so your follow-up runs as usual. Reaches no one by itself, so it runs at once.

    MCP callvirtuagym_write → add_lead

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

    Parameters

    Parameters: add_lead
    NameTypeDescription
    name string required string Full name.
    email string string Email.
    phone string string Phone.
    source string string Where the lead came from.

    Example input

    {
      "name": "Jane Doe"
    }

    Example response

    {
      "lead_id": "L-7781",
      "name": "Mohammed El Amrani",
      "source": "Website chat",
      "status": "New"
    }
Encrypted, revocable

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

  • What we store

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

  • What your agent gets

    The 8 Virtuagym tools, never the session cookie.

  • What the session sees

    What your login sees: schedule, members, memberships, leads.

  • What no tool touches

    Invoices, payments, membership prices, webshop, deletes.

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

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

When Virtuagym moves a button on the schedule or renames a client 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.

2 tools ask first

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

  1. 01 Finds the member By name or email.
  2. 02 Checks the class Spaces left tonight.
  3. 03 Proposes the booking With the membership it uses.
  4. 04 Waits, then books The booking shows up in your Cotlet console first.
Which Virtuagym actions can be undone
ActionUndo
Book a member into a classYes, cancel the booking
Cancel a bookingBook again if the space is still free
Add a note or leadYes, edit it in Virtuagym

2 of 8 tools ask first: book_member, cancel_booking. Member notes and new leads 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_member",
  "arguments": {
    "event_id": "EV-90122",
    "member_id": "M-44188"
  }
}
REST
curl -X POST https://cotlet.dev/api/v1/virtuagym/events/EV-90122/members/M-44188 \
  -H "Authorization: Bearer $COTLET_API_KEY"
Response
{
  "event_id": "EV-90122",
  "member": "Daan de Vries",
  "status": "Booked"
}

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

About $45 a monthfor a studio with about 350 members, 7,760 credits. Your Virtuagym plan stays as it is.

A month of Virtuagym front desk work for a 350-member studio, in credits
JobCallsCredits
Booking from a message3 × 1504,500
Class fill checked, daily1 × 26260
Quiet members, weekly10 × 4400
Lead added1 × 50500
Member note2 × 30600
Cloud Browser, 30 days1,500
Total7,760
  • 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 Virtuagym plan

Virtuagym publishes no booking 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

Virtuagym MCP server on GitHub, Zapier or hosted: which to use The API needs an email and a developer.

Other ways to connect Virtuagym, checked 8 Nov 2026
OptionWhat it doesWhere it stops
Virtuagym APIMembers, memberships, classes and leads for your own developer.Docs and keys only after you email Virtuagym; you build and host the code.
Make appScenarios between Virtuagym and other apps on Make.Needs the same API key; scenarios to build.
By handEvery screen of Virtuagym, one booking at a time.Your front desk's time.

If you already have a Virtuagym API key and a developer, building on the API is cheaper for syncing data. To book, follow up and log leads from ChatGPT or Claude this week, Cotlet works in the Virtuagym 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 Virtuagym tools go to contact@cotlet.dev.

Virtuagym MCP server: questions

How do I get access?

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

How do I connect Virtuagym to ChatGPT or Claude?

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

What can ChatGPT do in Virtuagym?

With Cotlet, ChatGPT, Claude and other AI agents handle jobs like these in Virtuagym: book members from messages; win back quiet members; check tomorrow's classes. 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 Virtuagym?

No. Virtuagym has no ChatGPT or Claude connector of its own and Virtuagym 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 book members into classes in Virtuagym?

Yes, with Cotlet. ChatGPT finds the member, checks spaces and books them into the class. Booking waits for your OK by default.

Can ChatGPT find members who stopped coming in Virtuagym?

Yes, with Cotlet. ChatGPT lists members with no visit in the days you name, with their membership, so you can reach out before they cancel.

Can ChatGPT add leads in Virtuagym?

Yes, with Cotlet. ChatGPT adds enquiries from chats, calls or emails as Virtuagym leads with their source.

Do I need Virtuagym API access to use Cotlet?

No. Cotlet works through your own Virtuagym business login, so you do not need to email for docs and keys or hire a developer. It can do what your login can do.

Is the MCP server different from the REST API?

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

Is Cotlet affiliated with Virtuagym?

No. Cotlet is independent and not affiliated with Virtuagym.

Hand the Virtuagym front desk to your agent.

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