Fitssey MCP by usefulapi
Read Fitssey schedules, class capacity, stock, pass pricing, sales and attendance reports.
Should I use this
Quality & Safety
Findings (2)
- LOWin fitssey_get_client_visits_report
- LOWin fitssey_get_active_passes_report
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"fitssey": {
"url": "https://fitssey.usefulapi.io/mcp"
}
}
}Remote endpoints
https://fitssey.usefulapi.io/mcpstreamable-httpWhat it can do
Tool inventory
Tools (15)
π’fitssey_list_classes(page, count, sortField, sortDir)
Read one page of the class catalog and categories. Excludes descriptions and private notes.
Input Schema
{
"type": "object",
"properties": {
"page": {
"default": 1,
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"count": {
"default": 25,
"type": "integer",
"minimum": 1,
"maximum": 100
},
"sortField": {
"default": "createdAt",
"type": "string",
"const": "createdAt"
},
"sortDir": {
"default": "asc",
"type": "string",
"enum": [
"asc",
"desc"
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}π’fitssey_list_locations(page, count, sortField, sortDir)
Read studio locations, business addresses and rooms. Excludes entrance instructions and phone details.
Input Schema
{
"type": "object",
"properties": {
"page": {
"default": 1,
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"count": {
"default": 25,
"type": "integer",
"minimum": 1,
"maximum": 100
},
"sortField": {
"default": "createdAt",
"type": "string",
"const": "createdAt"
},
"sortDir": {
"default": "asc",
"type": "string",
"enum": [
"asc",
"desc"
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}π’fitssey_list_staff(page, count, sortField, sortDir, iamRole)
Read one page of studio staff IDs and names; optionally filter by role. Excludes contact and profile details.
Input Schema
{
"type": "object",
"properties": {
"page": {
"default": 1,
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"count": {
"default": 25,
"type": "integer",
"minimum": 1,
"maximum": 100
},
"sortField": {
"default": "createdAt",
"type": "string",
"const": "createdAt"
},
"sortDir": {
"default": "asc",
"type": "string",
"enum": [
"asc",
"desc"
]
},
"iamRole": {
"type": "string",
"enum": [
"lb:iam_role:manager",
"lb:iam_role:teacher",
"lb:iam_role:host"
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}π’fitssey_list_products(page, count, sortField, sortDir)
Read one page of products with SKU, stock and prices in the vendorβs smallest currency unit.
Input Schema
{
"type": "object",
"properties": {
"page": {
"default": 1,
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"count": {
"default": 25,
"type": "integer",
"minimum": 1,
"maximum": 100
},
"sortField": {
"default": "createdAt",
"type": "string",
"const": "createdAt"
},
"sortDir": {
"default": "asc",
"type": "string",
"enum": [
"asc",
"desc"
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}π’fitssey_get_product(product)
Read one productβs stock, SKU and price. Excludes private notes.
Input Schema
{
"type": "object",
"properties": {
"product": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
}
},
"required": [
"product"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}π’fitssey_list_pricing_options(page, count, sortField, sortDir)
Read pass catalog, session allowance and prices in the vendorβs smallest currency unit.
Input Schema
{
"type": "object",
"properties": {
"page": {
"default": 1,
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"count": {
"default": 25,
"type": "integer",
"minimum": 1,
"maximum": 100
},
"sortField": {
"default": "createdAt",
"type": "string",
"const": "createdAt"
},
"sortDir": {
"default": "asc",
"type": "string",
"enum": [
"asc",
"desc"
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}π’fitssey_get_pricing_option(pricingOption)
Read one pass offering and its session, expiry and price settings. Excludes private notes.
Input Schema
{
"type": "object",
"properties": {
"pricingOption": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
}
},
"required": [
"pricingOption"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}π’fitssey_list_contracts(page, count, sortField, sortDir)
Read contract catalog IDs, names and online-sale flags. Excludes private notes and payment details.
Input Schema
{
"type": "object",
"properties": {
"page": {
"default": 1,
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"count": {
"default": 25,
"type": "integer",
"minimum": 1,
"maximum": 100
},
"sortField": {
"default": "createdAt",
"type": "string",
"const": "createdAt"
},
"sortDir": {
"default": "asc",
"type": "string",
"enum": [
"asc",
"desc"
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}π’fitssey_get_contract(contract)
Read one contractβs ID, name and online-sale flag; no payment or bank details.
Input Schema
{
"type": "object",
"properties": {
"contract": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
}
},
"required": [
"contract"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}π’fitssey_get_schedule(startDate, endDate)
Read scheduled classes and remaining capacities for a date range of at most 31 days. No bookings are changed.
Input Schema
{
"type": "object",
"properties": {
"startDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"endDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
}
},
"required": [
"startDate",
"endDate"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}π’fitssey_list_courses(startDate, endDate)
Read online-bookable courses and their scheduled sessions for a date range of at most 31 days.
Input Schema
{
"type": "object",
"properties": {
"startDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"endDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
}
},
"required": [
"startDate",
"endDate"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}π’fitssey_get_schedule_event(scheduleEvent)
Read one scheduled event, capacities and assigned teachers. Excludes livestream URLs, passwords and private notes.
Input Schema
{
"type": "object",
"properties": {
"scheduleEvent": {
"type": "string",
"minLength": 1,
"maxLength": 256,
"pattern": "^[A-Za-z0-9_-]+$"
}
},
"required": [
"scheduleEvent"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}π’fitssey_get_client_visits_report(startDate, endDate, page, count)
Read one page of class visits for at most 31 days, with client IDs, pass and payment status. Excludes names, emails and private notes. This page is not a complete attendance total.
Input Schema
{
"type": "object",
"properties": {
"startDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"endDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"page": {
"default": 1,
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"count": {
"default": 25,
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"required": [
"startDate",
"endDate"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}π’fitssey_get_sales_report(startDate, endDate, page, count)
Read one page of sales for at most 31 days, preserving vendor monetary numbers. Excludes customer names, emails, addresses and invoice tax identifiers. This page is not total revenue.
Input Schema
{
"type": "object",
"properties": {
"startDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"endDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"page": {
"default": 1,
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"count": {
"default": 25,
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"required": [
"startDate",
"endDate"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}π’fitssey_get_active_passes_report(page, count)
Read one page of active client passes with client IDs and validity; cached by Fitssey for five minutes. Interpret remain with sessionType: limitedVisits counts visits, limitedTime counts minutes, and -1 means no session limit. Excludes names and emails. This page is not a full membership total.
Input Schema
{
"type": "object",
"properties": {
"page": {
"default": 1,
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"count": {
"default": 25,
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Community
Evidence