# Tave — how to use (mcp.ai)

Connect your Tave account and use 129 tools for CRM straight from your AI agent. Connect with your own API key. Tave is the best Studio Management Application for Photographers, providing tools for client management, job tracking, and business operations.

## Option A — via MCP (recommended)
Remote MCP endpoint (HTTP, streamable): `https://api.mcp.ai/p_tave?ms=1787295840000`
Add it as a custom/remote MCP connector in your client (Claude, Cursor, VS Code…), then authenticate when prompted. Once connected, ask the agent to use the server's tools (e.g. `tave_apply_payment_to_order`).

## Option B — via direct REST API
Base URL: `https://api.mcp.ai/api/tave`
Auth: `Authorization: Bearer sk_live_…` — create a workspace API key at https://mcp.ai/settings/api-keys
Discover endpoints: `GET https://api.mcp.ai/api/tave/_endpoints`

### Endpoints
- `POST https://api.mcp.ai/api/tave/apply/payment/to/order` — Tool to apply a payment to a specific order in Tave. Use when you need to allocate a payment amount to an order for a job.
  - body: { id: string, amount: integer, orderId: string }
- `POST https://api.mcp.ai/api/tave/create/brand` — Tool to create a new brand in VSCO Workspace. Use when setting up a new brand identity for client-facing portals and communications.
  - body: { bcc?: string, name: string, alias: string, theme?: object, phone1?: object, phone2?: object, phone3?: object, replyTo?: string, forwardTo?: string, shortName: string, locationId?: string, officeHours?: string, customDomain?: string, externalMappings?: object[], enableProfileEdit?: boolean, googleAnalyticsId?: string, rootContactFormId?: string, clientAccessVersion: integer, showHistoryInPortal?: boolean, breakoutPackagePricing?: boolean }
- `POST https://api.mcp.ai/api/tave/create/custom/field` — Tool to create a custom field in Tave for Jobs or Contacts. Use when you need to add custom data fields to capture additional information specific to your business workflow.
  - body: { kind?: string, name: string, token?: string, hidden?: boolean, choices?: string[], canApplyTo?: string, clientLabel?: string, clientAccess?: string }
- `POST https://api.mcp.ai/api/tave/create/discount/type` — Tool to create a new discount type in Tave. Use when you need to create a new discount category for organizing discounts. The name field is required and must be 255 characters or less.
  - body: { name: string, hidden?: boolean, parentId?: string }
- `POST https://api.mcp.ai/api/tave/create/gallery` — Tool to create a new gallery in Tave (VSCO Workspace). Use when you need to create a gallery with a name, client URL, and admin URL. Note that remoteId and remoteCreated are also required.
  - body: { name: string, slug?: string, jobId?: string, hidden?: boolean, public?: boolean, eventId?: string, adminUrl: string, category?: string, headline?: string, password?: string, remoteId: string, clientUrl: string, eventDate?: string, coverPhoto?: object, releaseDate?: string, orderDueDate?: string, remoteCreated: string, expirationDate?: string, externalMappings?: object[], requiresPassword?: boolean }
- `POST https://api.mcp.ai/api/tave/create/resource/address/book` — Tool to create an entry in the address book. Use when you need to add a new person, company, or location to the address book.
  - body: { kind: string, email?: string, lastName?: string, firstName?: string }
- `POST https://api.mcp.ai/api/tave/create/resource/discount` — Tool to create a discount in Tave. Use when you need to add a new discount with a name, price, and type ID.
  - body: { sku?: string, kind?: string, name: string, price: integer, hidden?: boolean, rebate?: boolean, typeId: string, manualEntry?: boolean, descriptionHtml?: string }
- `POST https://api.mcp.ai/api/tave/create/resource/event` — Tool to create a new event in Tave (VSCO Workspace). Use when scheduling meetings, sessions, or appointments.
  - body: { name?: string, jobId?: string, allDay?: boolean, hidden?: boolean, typeId?: string, channel?: string, endDate?: string, endTime?: string, location?: object, confirmed?: boolean, galleryId?: string, startDate?: string, startTime?: string, timezoneId?: string, virtualUrl?: string, phoneNumber?: object, timezoneName?: string, descriptionHtml?: string, externalMappings?: object[] }
- `POST https://api.mcp.ai/api/tave/create/resource/event/type` — Tool to create a new event type in Tave. Use when you need to define a new type of event for scheduling or tracking purposes.
  - body: { kind?: string, name: string, color?: string, hidden?: boolean, tokenPrefix: string, sortPosition?: integer, defaultDuration?: integer, defaultAttendees?: string[], externalMappings?: object[], defaultLocationId?: string }
- `POST https://api.mcp.ai/api/tave/create/resource/file` — Tool to create a file in Tave. Use when you need to upload a new file with binary data or link to a remote file. The file can be attached to entities and include metadata. For image files, you can spe
  - body: { name?: string, hidden?: boolean, typeId?: string, filename: string, mimeType?: string, remoteUrl?: string, attachedTo?: object[], binaryData?: string, description?: string, imageMetaData?: object, externalMappings?: object[] }
- `POST https://api.mcp.ai/api/tave/create/resource/job` — Tool to create a new job in Tave (VSCO Workspace). Use when creating leads or jobs for tracking client projects and workflows.
  - body: { name?: string, stage: string, closed?: boolean, pinned?: boolean, sample?: boolean, brandId?: string, webLead?: boolean, eventDate?: string, jobTypeId?: string, leadNotes?: string, closedDate?: string, guestCount?: integer, leadRating?: integer, workflowId?: string, bookingDate?: string, inquiryDate?: string, customFields?: object[], customNumber?: string, leadSourceId?: string, leadStatusId?: string, completedDate?: string, contactFormId?: string, leadMaxBudget?: integer, closedReasonId?: string, leadConfidence?: string, fulfillmentDate?: string, externalMappings?: object[], leadDecisionExpectedByDate?: string }
- `POST https://api.mcp.ai/api/tave/create/resource/job/closed/reason` — Tool to create a job closed reason in Tave. Use when you need to add a new reason for why jobs are closed. Job closed reasons help track why opportunities didn't convert into bookings.
  - body: { name: string, hidden?: boolean, description?: string, externalMappings?: object[], includedInReporting?: boolean }
- `POST https://api.mcp.ai/api/tave/create/resource/job/contact` — Tool to create a job contact in Tave. Use when you need to associate a contact with a job.
  - body: { jobId: string, client?: boolean, hidden?: boolean, jobRoles?: string[], contactId: string, roleKinds?: string[], externalMappings?: object[] }
- `POST https://api.mcp.ai/api/tave/create/resource/job/order` — Tool to create an order on a job in Tave (VSCO Workspace). Use when creating orders for jobs to track sales, invoices, and payments.
  - body: { name?: string, jobId: string, title?: string, hidden?: boolean, status?: string, dueDate?: string, bookedOn?: string, lineItems?: object[], taxGroupId?: string, recipientId?: string, customNumber?: string, paymentTermsId?: string, preTaxDiscount?: object, bookedFromQuote?: boolean, afterTaxDiscount?: object, bookedElectronically?: boolean }
- `POST https://api.mcp.ai/api/tave/create/resource/job/role` — Tool to create a job role in Tave (VSCO Workspace). Use when defining roles for clients, subjects, team members, or vendors in workflows.
  - body: { kind?: string, name: string, hidden?: boolean, tokenPrefix: string, sortPosition?: integer, externalMappings?: object[] }
- `POST https://api.mcp.ai/api/tave/create/resource/job/type` — Tool to create a new job type in Tave. Use when defining a new category of jobs for organizing different types of client projects.
  - body: { name: string, hidden?: boolean, workflowId?: string, sortPosition?: integer, defaultEvents?: object[], profitCenterId?: string, defaultContacts?: object[], externalMappings?: object[], initialLeadStatusId?: string, primarySessionRequired?: boolean }
- `POST https://api.mcp.ai/api/tave/create/resource/job/worksheet` — Tool to create a job using a worksheet in Tave (VSCO Workspace). Use when creating jobs with pre-populated contacts and events.
  - body: { name: string, title: string, closed?: boolean, events?: object[], pinned?: boolean, sample?: boolean, brandId?: string, webLead?: boolean, contacts?: object[], eventDate?: string, jobTypeId?: string, leadNotes?: string, closedDate?: string, guestCount?: integer, leadRating?: integer, workflowId?: string, bookingDate?: string, inquiryDate?: string, customFields?: object[], customNumber?: string, leadSourceId?: string, leadStatusId?: string, completedDate?: string, contactFormId?: string, leadMaxBudget?: integer, closedReasonId?: string, leadConfidence?: string, fulfillmentDate?: string, externalMappings?: object[], leadDecisionExpectedByDate?: string }
- `POST https://api.mcp.ai/api/tave/create/resource/lead/source` — Tool to create a lead source in Tave. Use when you need to track where leads originate from, such as social media, referrals, or websites.
  - body: { name: string, hidden?: boolean, parentId?: string }
- `POST https://api.mcp.ai/api/tave/create/resource/lead/status` — Tool to create a lead status in Tave. Use when you need to define a new status for tracking leads in the sales pipeline.
  - body: { kind?: string, name: string, color?: string, hidden?: boolean, sortPosition?: integer, transitionToId?: string, externalMappings?: object[], transitionInterval?: integer, transitionIntervalUnit?: string, transitionClosedReasonId?: string, afterFormSentTransitionToId?: string, afterEmailSentTransitionToId?: string, afterQuoteSentTransitionToId?: string, afterDocumentSentTransitionToId?: string, afterEventScheduledTransitionToId?: string }
- `POST https://api.mcp.ai/api/tave/create/resource/note` — Tool to create a note in Tave (VSCO Workspace). Use when adding notes about jobs, contacts, or other entities in the system.
  - body: { date?: string, jobId?: string, hidden?: boolean, authorId?: string, contactId?: string, contentHtml: string }
- `POST https://api.mcp.ai/api/tave/create/resource/payment` — Tool to create a payment in Tave. Use when recording a payment received for a job.
  - body: { memo?: string, jobId: string, amount: integer, hidden?: boolean, status?: string, payerId?: string, authCode?: string, received?: string, checkNumber?: string, invoiceItemId?: string, transactionId?: string, paymentMethodId?: string, paymentAllocations?: object[], processedViaClientAccess?: boolean }
- `POST https://api.mcp.ai/api/tave/create/resource/product` — Tool to create a product in Tave. Use when you need to add a new product with name and price.
  - body: { sku?: string, name: string, price: integer, hidden?: boolean, taxable?: boolean, expenses?: object[], vendorId?: string, deliverable?: boolean, manualEntry?: boolean, expenseDueFrom?: string, descriptionHtml?: string, expenseDuePeriod?: number, expenseCategoryId?: string, expenseDuePeriodType?: string }
- `POST https://api.mcp.ai/api/tave/create/resource/product/type` — Tool to create a product type in Tave. Use when defining a new category of products or services for organizing offerings in your business.
  - body: { kind?: string, name: string, hidden?: boolean, parentId?: string }
- `POST https://api.mcp.ai/api/tave/create/resource/profit/center` — Tool to create a profit center in Tave. Use when you need to organize revenue streams or business units for financial tracking and reporting.
  - body: { name: string, hidden?: boolean, externalMappings?: object[] }
- `POST https://api.mcp.ai/api/tave/create/resource/rest/hook` — Tool to create a RestHook webhook subscription in Tave. Use when setting up webhook notifications for events like contact creation, job creation, order booking, or payment creation.
  - body: { url: string, event: string, limitTo?: object }
- `POST https://api.mcp.ai/api/tave/create/resource/tax/rate` — Tool to create a tax rate in Tave. Use when you need to add a new tax rate with a name and rate percentage.
  - body: { name?: string, rate: number, hidden?: boolean, inclusive?: boolean }
- `POST https://api.mcp.ai/api/tave/create/user` — Tool to create a new user in Tave. Use when you need to add a new user account associated with an existing contact from the address book.
  - body: { hidden?: boolean, isAdmin?: boolean, username: string, contactId: string, hasBetaAccess?: boolean, isBillingContact?: boolean }
- `POST https://api.mcp.ai/api/tave/delete/address/book/entry` — Tool to delete an entry in the address book. Use when you need to permanently remove an address book entry by its ULID. This operation cannot be undone.
  - body: { id: string }
- `POST https://api.mcp.ai/api/tave/delete/brand` — Tool to delete a brand by its ULID. Use when you need to permanently remove a brand from the system. The API returns a 204 No Content status on successful deletion.
  - body: { id: string }
- `POST https://api.mcp.ai/api/tave/delete/custom/field` — Tool to delete a custom field by its ULID identifier. Use when you need to remove a custom field permanently.
  - body: { id: string }
- `POST https://api.mcp.ai/api/tave/delete/event/type` — Tool to delete an event type by its ULID identifier. Use when you need to permanently remove an event type from the system.
  - body: { id: string }
- `POST https://api.mcp.ai/api/tave/delete/gallery` — Tool to permanently delete a gallery by its ULID. Use when you need to remove a gallery. Returns 204 No Content on success.
  - body: { id: string }
- `POST https://api.mcp.ai/api/tave/delete/resource/discount` — Tool to delete a specific discount by its ULID. Use when you need to permanently remove a discount from the system. The API returns a 204 No Content status on successful deletion.
  - body: { id: string }
- `POST https://api.mcp.ai/api/tave/delete/resource/discount/type` — Tool to delete a specific discount type by its ULID. Use when you need to remove a discount type from the system.
  - body: { id: string }
- `POST https://api.mcp.ai/api/tave/delete/resource/event` — Tool to delete an event by its ULID identifier. Use when you need to permanently remove an event from the system. This operation cannot be undone.
  - body: { id: string }
- `POST https://api.mcp.ai/api/tave/delete/resource/job` — Tool to delete a job by its ULID identifier. Use when you need to permanently remove a job from the system.
  - body: { id: string }
- `POST https://api.mcp.ai/api/tave/delete/resource/job/closed/reason` — Tool to delete a job closed reason by its ULID identifier. Use when you need to permanently remove a job closed reason from the system.
  - body: { id: string }
- `POST https://api.mcp.ai/api/tave/delete/resource/job/contact` — Tool to delete a job contact by its ULID. Use when you need to permanently remove a job contact from the system. The API returns a 204 No Content status on successful deletion.
  - body: { id: string }
- `POST https://api.mcp.ai/api/tave/delete/resource/job/role` — Tool to delete a job role by its ULID identifier. Use when you need to permanently remove a job role from the system.
  - body: { id: string }
- `POST https://api.mcp.ai/api/tave/delete/resource/job/type` — Tool to delete a job type by its ULID. Use when you need to permanently remove a job type from the system. The API returns a 204 No Content status on successful deletion.
  - body: { id: string }
- `POST https://api.mcp.ai/api/tave/delete/resource/lead/source` — Tool to delete a specific lead source by its ULID. Use when you need to permanently remove a lead source from the system.
  - body: { id: string }
- `POST https://api.mcp.ai/api/tave/delete/resource/lead/status` — Tool to delete a specific lead status by its ULID. Use when you need to permanently remove a lead status from the system.
  - body: { id: string }
- `POST https://api.mcp.ai/api/tave/delete/resource/note` — Tool to delete a note by its ULID identifier. Use when you need to remove a note from the system. Note that this performs a soft delete by setting the 'hidden' field to true.
  - body: { id: string }
- `POST https://api.mcp.ai/api/tave/delete/resource/payments` — Tool to delete a specific payment by its ULID. Use when you need to permanently remove a payment from the system. The API returns a 204 No Content status on successful deletion.
  - body: { id: string }
- `POST https://api.mcp.ai/api/tave/delete/resource/product` — Tool to delete a specific product by its ULID. Use when you need to permanently remove a product from the system. The API returns a 204 No Content status on successful deletion.
  - body: { id: string }
- `POST https://api.mcp.ai/api/tave/delete/resource/product/type` — Tool to delete a specific product type by its ULID. Use when you need to permanently remove a product type from the system. The API returns a 204 No Content status on successful deletion.
  - body: { id: string }
- `POST https://api.mcp.ai/api/tave/delete/resource/profit/center` — Tool to delete a profit center by its ULID. Use when you need to permanently remove a profit center from the system. The API returns a 204 No Content status on successful deletion.
  - body: { id: string }
- `POST https://api.mcp.ai/api/tave/delete/resource/rest/hook` — Tool to unsubscribe from and delete a RestHook webhook subscription by its ULID. Use when you need to permanently remove a webhook registration from the system. The API returns a 204 No Content status
  - body: { id: string }
- `POST https://api.mcp.ai/api/tave/delete/resource/tax/group` — Tool to delete a specific tax group by its ULID. Use when you need to permanently remove a tax group from the system. The API returns a 204 No Content status on successful deletion.
  - body: { id: string }
- `POST https://api.mcp.ai/api/tave/delete/resource/tax/rate` — Tool to delete a specific tax rate by its ULID. Use when you need to permanently remove a tax rate from the system. The API returns a 204 No Content status on successful deletion.
  - body: { id: string }
- `POST https://api.mcp.ai/api/tave/delete/resource/user` — Tool to delete a user by its ULID. Use when you need to remove a user from the system. The API returns a 204 No Content status on successful deletion.
  - body: { id: string }
- `POST https://api.mcp.ai/api/tave/get/brand` — Tool to retrieve a specific brand from Tave by its ULID. Use when you need detailed information about a brand's configuration, including name, contact details, theme settings, and custom domain inform
  - body: { id: string }
- `POST https://api.mcp.ai/api/tave/get/event` — Tool to get a specific event by its ID. Use when you need to retrieve detailed information about a single event.
  - body: { id: string }
- `POST https://api.mcp.ai/api/tave/get/event/type` — Tool to retrieve a specific event type by ID. Use when you need to fetch details about a specific event type including its name, color, default settings, and metadata.
  - body: { id: string }
- `POST https://api.mcp.ai/api/tave/get/gallery` — Tool to retrieve a specific gallery by ID from Tave/VSCO Workspace. Use when you need to fetch details about a gallery including its photos, status, and metadata.
  - body: { id: string }
- `POST https://api.mcp.ai/api/tave/get/resource/address/book` — Tool to fetch a specific Address Book entity by its ULID. Use when you need to retrieve detailed information about a person, company, or location from the address book.
  - body: { id: string }
- `POST https://api.mcp.ai/api/tave/get/resource/address/book/ca` — Tool to fetch the address associated with a given location ID. Use when you need to retrieve detailed address information from the Tave address book.
  - body: { id: string }
- `POST https://api.mcp.ai/api/tave/get/resource/custom/field` — Tool to fetch a specific custom field by ID from Tave. Use when you need to retrieve details about a custom field definition.
  - body: { id: string }
- `POST https://api.mcp.ai/api/tave/get/resource/discount` — Tool to retrieve a specific discount by its ID. Use when you need to get detailed information about a discount including its name, price, type, and other attributes.
  - body: { id: string }
- `POST https://api.mcp.ai/api/tave/get/resource/discount/type` — Tool to get a specific discount type by ID. Use when you need to retrieve details about a particular discount type resource.
  - body: { id: string }
- `POST https://api.mcp.ai/api/tave/get/resource/job` — Tool to fetch a specific job by ID from Tave. Use when you need to retrieve detailed information about a job including its stage, dates, financial data, and associated metadata.
  - body: { id: string }
- `POST https://api.mcp.ai/api/tave/get/resource/job/closed/reason` — Tool to retrieve a specific job closed reason by its ID. Use when you need to get detailed information about a job closed reason including its name, description, and reporting settings.
  - body: { id: string }
- `POST https://api.mcp.ai/api/tave/get/resource/job/contact` — Tool to fetch a specific job contact by ID from Tave. Use when you need to retrieve details about a contact associated with a job.
  - body: { id: string }
- `POST https://api.mcp.ai/api/tave/get/resource/job/role` — Tool to retrieve a specific job role by its ID. Use when you need to get detailed information about a job role including its name, token prefix, kind, and other properties.
  - body: { id: string }
- `POST https://api.mcp.ai/api/tave/get/resource/job/type` — Tool to retrieve a specific job type by ID. Use when you need detailed information about a job type including its name, default contacts, default events, and configuration settings.
  - body: { id: string }
- `POST https://api.mcp.ai/api/tave/get/resource/job/worksheet` — Tool to fetch a Job Worksheet for a specific job by job ID. Use when you need detailed job information including contacts, events, financial data, and workflow details.
  - body: { jobId: string }
- `POST https://api.mcp.ai/api/tave/get/resource/lead/source` — Tool to retrieve a specific lead source by its ID. Use when you need to get detailed information about where a lead originated from.
  - body: { id: string }
- `POST https://api.mcp.ai/api/tave/get/resource/lead/status` — Tool to retrieve a specific lead status by its ID. Use when you need to get detailed information about a lead status including its transitions and configuration.
  - body: { id: string }
- `POST https://api.mcp.ai/api/tave/get/resource/my/studio` — Tool to retrieve information about your studio from Tave. Use when you need to fetch studio configuration settings, including name, currency, date/time formats, and license plan details.
- `POST https://api.mcp.ai/api/tave/get/resource/note` — Tool to fetch a specific note by ID from Tave. Use when you need to retrieve detailed information about a note including its content, author, associated entities, and timestamps.
  - body: { id: string }
- `POST https://api.mcp.ai/api/tave/get/resource/order` — Tool to fetch a specific order by ID from Tave. Use when you need to retrieve detailed information about an order including line items, invoices, payment allocations, tax details, and financial totals
  - body: { id: string }
- `POST https://api.mcp.ai/api/tave/get/resource/payment` — Tool to fetch a specific payment by ID from Tave. Use when you need to retrieve detailed information about a payment including amount, status, allocations, and refunds.
  - body: { id: string }
- `POST https://api.mcp.ai/api/tave/get/resource/payment/method` — Tool to retrieve a specific payment method by its ID. Use when you need to get detailed information about a payment method including its name, type, and status.
  - body: { id: string }
- `POST https://api.mcp.ai/api/tave/get/resource/product` — Tool to retrieve a specific product by its ID. Use when you need to get detailed information about a product including its name, price, SKU, and other attributes.
  - body: { id: string }
- `POST https://api.mcp.ai/api/tave/get/resource/product/type` — Tool to retrieve a specific product type by its ID. Use when you need to get detailed information about a product type including its name, kind, and visibility settings.
  - body: { id: string }
- `POST https://api.mcp.ai/api/tave/get/resource/profit/center` — Tool to retrieve a specific profit center by its ID. Use when you need to get detailed information about a profit center for tracking revenue and expenses.
  - body: { id: string }
- `POST https://api.mcp.ai/api/tave/get/resource/tax/rate` — Tool to retrieve a specific tax rate by its ULID. Use when you need detailed information about a tax rate including its name, rate percentage, and whether it is inclusive.
  - body: { id: string }
- `POST https://api.mcp.ai/api/tave/get/resource/timezone` — Tool to retrieve a specific timezone by its ULID from Tave. Use when you need to fetch timezone details including the timezone name, display name, codes, region, and location information.
  - body: { id: string }
- `POST https://api.mcp.ai/api/tave/get/resource/user` — Tool to retrieve a specific user by their ULID identifier. Use when you need to get detailed information about a user including their contact ID, username, permissions, and timestamps.
  - body: { id: string }
- `POST https://api.mcp.ai/api/tave/list/address/book` — Tool to list contacts in the studio's address book. Use when you need to retrieve all contacts or filter by email with pagination support.
  - body: { page?: integer, email?: string, sortBy?: string, pageSize?: integer, includeHidden?: boolean }
- `POST https://api.mcp.ai/api/tave/list/brands` — Tool to list brands of a studio. Use when you need to retrieve all brands configured for the studio account.
  - body: { page?: integer, sortBy?: string, pageSize?: integer, includeHidden?: boolean, externalMappingId?: string }
- `POST https://api.mcp.ai/api/tave/list/discount/types` — Tool to get a list of discount types from Tave. Use when you need to retrieve available discount types for your account.
  - body: { sortBy?: string }
- `POST https://api.mcp.ai/api/tave/list/event/types` — Tool to list a studio's event types. Use when you need to retrieve all available event types for a studio.
  - body: { page?: integer, sortBy?: string, pageSize?: integer, includeHidden?: boolean, externalMappingId?: string }
- `POST https://api.mcp.ai/api/tave/list/events` — Tool to list a studio's events from Tave. Use when you need to retrieve events with optional filtering by job, external mapping ID, or visibility status.
  - body: { page?: integer, jobId?: string, sortBy?: string, pageSize?: integer, includeHidden?: boolean, externalMappingId?: string }
- `POST https://api.mcp.ai/api/tave/list/files` — Tool to list files in Tave. Use when you need to retrieve files associated with jobs or contacts. Supports pagination and filtering by job, contact, or external mapping ID.
  - body: { page?: integer, jobId?: string, sortBy?: string, pageSize?: integer, contactId?: string, includeHidden?: boolean, externalMappingId?: string }
- `POST https://api.mcp.ai/api/tave/list/resource/custom/field` — Tool to list custom fields configured on a studio. Use when you need to retrieve all custom fields or filter them by resource type (contact/job) or kind.
  - body: { kind?: string[], sortBy?: string, canApplyTo?: string }
- `POST https://api.mcp.ai/api/tave/list/resource/discount` — Tool to get a list of discounts from Tave. Use when you need to retrieve all available discounts.
  - body: { sortBy?: string }
- `POST https://api.mcp.ai/api/tave/list/resource/gallery` — Tool to list all galleries for a studio. Use when you need to retrieve galleries with optional filtering and pagination.
  - body: { page?: integer, sortBy?: string, pageSize?: integer, includeHidden?: boolean, externalMappingId?: string }
- `POST https://api.mcp.ai/api/tave/list/resource/job` — Tool to list jobs of a studio. Use when you need to retrieve all jobs for the studio account, with optional filtering by closed status or external mapping ID.
  - body: { page?: integer, sortBy?: string, pageSize?: integer, includeClosed?: boolean, externalMappingId?: string }
- `POST https://api.mcp.ai/api/tave/list/resource/job/closed/reason` — Tool to list a studio's job closed reasons. Use when you need to retrieve all job closed reasons configured for the studio account.
  - body: { page?: integer, sortBy?: string, pageSize?: integer, includeHidden?: boolean, externalMappingId?: string }
- `POST https://api.mcp.ai/api/tave/list/resource/job/contact` — Tool to list a job's contacts. Use when you need to retrieve contacts associated with jobs, with optional filtering by contact ID, job ID, or external mapping ID.
  - body: { page?: integer, jobId?: string, sortBy?: string, pageSize?: integer, contactId?: string, includeHidden?: boolean, externalMappingId?: string }
- `POST https://api.mcp.ai/api/tave/list/resource/job/orders` — Tool to list orders on a given job. Use when you need to retrieve all orders associated with a specific job.
  - body: { jobId: string, sortBy?: string }
- `POST https://api.mcp.ai/api/tave/list/resource/job/payment` — Tool to get a list of payments for a specific job. Use when you need to retrieve payment information associated with a particular job.
  - body: { id: string, sortBy?: string }
- `POST https://api.mcp.ai/api/tave/list/resource/job/role` — Tool to list a studio's job roles. Use when you need to retrieve all job roles configured for the studio account.
  - body: { page?: integer, sortBy?: string, pageSize?: integer, includeHidden?: boolean, externalMappingId?: string }
- `POST https://api.mcp.ai/api/tave/list/resource/job/type` — Tool to list job types of a studio. Use when you need to retrieve all available job types for the studio account, with optional filtering by hidden status or external mapping ID.
  - body: { page?: integer, sortBy?: string, pageSize?: integer, includeHidden?: boolean, externalMappingId?: string }
- `POST https://api.mcp.ai/api/tave/list/resource/lead/source` — Tool to list lead sources of a studio. Use when you need to retrieve all lead sources for tracking where leads originated from.
  - body: { page?: integer, sortBy?: string, pageSize?: integer, includeHidden?: boolean, externalMappingId?: string }
- `POST https://api.mcp.ai/api/tave/list/resource/lead/status` — Tool to list lead statuses of a studio. Use when you need to retrieve all lead statuses for tracking the state of leads in the sales pipeline.
  - body: { page?: integer, sortBy?: string, pageSize?: integer, includeHidden?: boolean, externalMappingId?: string }
- `POST https://api.mcp.ai/api/tave/list/resource/note` — Tool to list notes from Tave. Use when you need to retrieve notes associated with jobs or contacts, with support for pagination and filtering.
  - body: { page?: integer, jobId?: string, sortBy?: string, pageSize?: integer, includeHidden?: boolean, externalMappingId?: string }
- `POST https://api.mcp.ai/api/tave/list/resource/order` — Tool to get a list of all orders. Use when you need to retrieve orders across all jobs with pagination support.
  - body: { page?: integer, sortBy?: string, pageSize?: integer }
- `POST https://api.mcp.ai/api/tave/list/resource/payment` — Tool to get a list of payments from Tave. Use when you need to retrieve all payments with optional pagination and sorting.
  - body: { page?: integer, sortBy?: string, pageSize?: integer }
- `POST https://api.mcp.ai/api/tave/list/resource/payment/method` — Tool to get a list of payment methods from Tave. Use when you need to retrieve all available payment methods.
  - body: { sortBy?: string }
- `POST https://api.mcp.ai/api/tave/list/resource/product` — Tool to get a list of products from Tave. Use when you need to retrieve all products with optional sorting.
  - body: { sortBy?: string }
- `POST https://api.mcp.ai/api/tave/list/resource/product/type` — Tool to get a list of product types from Tave. Use when you need to retrieve all available product types.
  - body: { page?: integer, sortBy?: string, pageSize?: integer }
- `POST https://api.mcp.ai/api/tave/list/resource/profit/center` — Tool to list profit centers of a studio. Use when you need to retrieve all available profit centers for tracking business segments or cost centers.
  - body: { page?: integer, sortBy?: string, pageSize?: integer, includeHidden?: boolean, externalMappingId?: string }
- `POST https://api.mcp.ai/api/tave/list/resource/rest/hook` — Tool to list REST hooks configured in Tave. Use when you need to retrieve webhook registrations that notify external services of events.
  - body: { page?: integer, sortBy?: string, pageSize?: integer, includeHidden?: boolean }
- `POST https://api.mcp.ai/api/tave/list/resource/tax/groups` — Tool to get a list of Tax Groups from Tave. Use when you need to retrieve available tax groups for tax calculations.
  - body: { sortBy?: string }
- `POST https://api.mcp.ai/api/tave/list/resource/tax/rates` — Tool to get a list of tax rates from Tave. Use when you need to retrieve all available tax rates for your account.
  - body: { sortBy?: string }
- `POST https://api.mcp.ai/api/tave/list/resource/timezone` — Tool to get a list of timezones from Tave. Use when you need to retrieve available timezones for scheduling or location-based operations.
  - body: { page?: integer, search?: string, sortBy?: string, pageSize?: integer }
- `POST https://api.mcp.ai/api/tave/list/resource/user` — Tool to list users of a studio. Use when you need to retrieve all users for the studio account with optional pagination and sorting.
  - body: { page?: integer, sortBy?: string, pageSize?: integer, includeHidden?: boolean, externalMappingId?: string }
- `POST https://api.mcp.ai/api/tave/update/address/book` — Tool to update a specific entry in the Tave address book. Use when you need to modify contact information, change entry type, or update any fields for an existing address book entry.
  - body: { id: string, fax?: object, url?: string, kind: string, email?: string, gender?: string, hidden?: boolean, pinned?: boolean, address?: string, brandId?: string, jobTitle?: string, lastName?: string, birthdate?: string, cellPhone?: object, firstName?: string, homePhone?: object, workPhone?: object, maidenName?: string, salutation?: string, anniversary?: string, companyName?: string, privacyOptIn?: boolean, mailingAddress?: string, previousClient?: boolean, secondaryEmail?: string, twitterUsername?: string, facebookUsername?: string, requireStrictPrivacy?: boolean }
- `POST https://api.mcp.ai/api/tave/update/brand` — Tool to update a specific brand in Tave. Use when you need to modify brand settings such as name, alias, contact information, theme, or domain configuration.
  - body: { id: string, bcc?: string, name?: string, alias?: string, theme?: object, hidden?: boolean, phone1?: object, phone2?: object, phone3?: object, replyTo?: string, forwardTo?: string, shortName?: string, locationId?: string, officeHours?: string, customDomain?: string, externalMappings?: object[], enableProfileEdit?: boolean, googleAnalyticsId?: string, rootContactFormId?: string, customDomainStatus?: string, clientAccessVersion?: integer, showHistoryInPortal?: boolean, breakoutPackagePricing?: boolean }
- `POST https://api.mcp.ai/api/tave/update/event/type` — Tool to update an existing event type in Tave. Use when you need to modify event type properties like name, color, duration, or classification. Requires the event type ID and at least the required fie
  - body: { id: string, kind?: string, name: string, color?: string, hidden?: boolean, tokenPrefix: string, sortPosition?: integer, defaultDuration?: integer, defaultAttendees?: string[], externalMappings?: object[], defaultLocationId?: string }
- `POST https://api.mcp.ai/api/tave/update/resource/custom/field` — Tool to update a specific custom field in Tave. Use when you need to modify custom field properties like name, kind, client access, or visibility.
  - body: { id: string, kind?: string, name?: string, token?: string, hidden?: boolean, choices?: string[], can_apply_to?: string, client_label?: string, client_access?: string }
- `POST https://api.mcp.ai/api/tave/update/resource/event` — Tool to update a specific event in Tave. Use when modifying event details such as name, date/time, location, channel, or other event attributes.
  - body: { id: string, name?: string, jobId?: string, allDay?: boolean, hidden?: boolean, typeId?: string, channel?: string, endDate?: string, endTime?: string, location?: object, confirmed?: boolean, galleryId?: string, startDate?: string, startTime?: string, timezoneId?: string, virtualUrl?: string, phoneNumber?: object, timezoneName?: string, descriptionHtml?: string, externalMappings?: object[] }
- `POST https://api.mcp.ai/api/tave/update/resource/gallery` — Tool to update a specific gallery in Tave (VSCO Workspace). Use when you need to modify gallery properties such as name, URLs, status, or settings.
  - body: { id: string, name: string, slug?: string, jobId?: string, hidden?: boolean, public?: boolean, status?: string, eventId?: string, adminUrl: string, category?: string, headline?: string, password?: string, remoteId: string, clientUrl: string, eventDate?: string, coverPhoto?: object, releaseDate?: string, orderDueDate?: string, remoteCreated: string, expirationDate?: string, externalMappings?: object[], requiresPassword?: boolean }
- `POST https://api.mcp.ai/api/tave/update/resource/job` — Tool to update a specific job in Tave (VSCO Workspace). Use when modifying existing job details like name, dates, stage, or other job properties.
  - body: { id: string, name?: string, stage?: string, closed?: boolean, pinned?: boolean, sample?: boolean, brandId?: string, webLead?: boolean, eventDate?: string, jobTypeId?: string, leadNotes?: string, closedDate?: string, guestCount?: integer, leadRating?: integer, workflowId?: string, bookingDate?: string, inquiryDate?: string, customFields?: object[], customNumber?: string, leadSourceId?: string, leadStatusId?: string, completedDate?: string, contactFormId?: string, leadMaxBudget?: integer, closedReasonId?: string, leadConfidence?: string, fulfillmentDate?: string, externalMappings?: object[], leadDecisionExpectedByDate?: string }
- `POST https://api.mcp.ai/api/tave/update/resource/job/closed/reason` — Tool to update a job closed reason in Tave. Use when you need to modify the name, description, visibility, or reporting settings of a job closed reason.
  - body: { id: string, name: string, hidden?: boolean, description?: string, externalMappings?: object[], includedInReporting?: boolean }
- `POST https://api.mcp.ai/api/tave/update/resource/job/contact` — Tool to update a specific job contact in Tave. Use when modifying contact associations with jobs, changing client status, or updating job roles for a contact.
  - body: { id: string, jobId: string, client?: boolean, hidden?: boolean, jobRoles?: string[], contactId: string, roleKinds?: string[], externalMappings?: object[] }
- `POST https://api.mcp.ai/api/tave/update/resource/job/role` — Tool to update a job role in Tave. Use when you need to modify the name, token prefix, kind, visibility, or sort position of a job role.
  - body: { id: string, kind?: string, name: string, hidden?: boolean, tokenPrefix: string, sortPosition?: integer, externalMappings?: object[] }
- `POST https://api.mcp.ai/api/tave/update/resource/job/type` — Tool to update an existing job type in Tave. Use when modifying properties of a job category such as name, visibility, or associated defaults.
  - body: { id: string, name: string, hidden?: boolean, workflowId?: string, sortPosition?: integer, defaultEvents?: object[], profitCenterId?: string, defaultContacts?: object[], externalMappings?: object[], initialLeadStatusId?: string, primarySessionRequired?: boolean }
- `POST https://api.mcp.ai/api/tave/update/resource/lead/source` — Tool to update a specific lead source in Tave. Use when you need to modify lead source properties such as name, parent relationship, or visibility.
  - body: { id: string, name: string, hidden?: boolean, parentId?: string }
- `POST https://api.mcp.ai/api/tave/update/resource/lead/status` — Tool to update a specific lead status in Tave. Use when you need to modify lead status properties such as name, color, sort position, or automated transition rules.
  - body: { id: string, kind?: string, name?: string, color?: string, hidden?: boolean, sortPosition?: integer, transitionToId?: string, externalMappings?: object[], transitionInterval?: integer, transitionIntervalUnit?: string, transitionClosedReasonId?: string, afterFormSentTransitionToId?: string, afterEmailSentTransitionToId?: string, afterQuoteSentTransitionToId?: string, afterDocumentSentTransitionToId?: string, afterEventScheduledTransitionToId?: string }
- `POST https://api.mcp.ai/api/tave/update/resource/note` — Tool to update a specific note in Tave. Use when you need to modify note content or properties such as associated job, contact, or visibility.
  - body: { id: string, date?: string, jobId?: string, hidden?: boolean, authorId?: string, contactId?: string, contentHtml: string }
- `POST https://api.mcp.ai/api/tave/update/resource/order` — Tool to update a specific order in Tave (VSCO Workspace). Use when modifying existing order details like name, status, line items, or other order properties.
  - body: { id: string, name?: string, title?: string, hidden?: boolean, status?: string, dueDate?: string, bookedOn?: string, lineItems?: object[], taxGroupId?: string, recipientId?: string, customNumber?: string, referenceCode?: string, paymentTermsId?: string, preTaxDiscount?: object, bookedFromQuote?: boolean, afterTaxDiscount?: object, taxIsCompounding?: boolean, bookedElectronically?: boolean }
- `POST https://api.mcp.ai/api/tave/update/resource/profit/center` — Tool to update a specific profit center in Tave. Use when you need to modify an existing profit center's name or visibility settings.
  - body: { id: string, name?: string, hidden?: boolean, externalMappings?: object[] }
- `POST https://api.mcp.ai/api/tave/update/resource/tax/group` — Tool to update a specific tax group in Tave. Use when you need to modify tax group properties like name, compounding settings, default status, or associated tax rates.
  - body: { id: string, name?: string, hidden?: boolean, default?: boolean, taxRates?: object[], compounding?: boolean }
- `POST https://api.mcp.ai/api/tave/update/resource/tax/rate` — Tool to update a specific tax rate in Tave. Use when you need to modify tax rate properties such as name, rate percentage, or inclusive/exclusive status.
  - body: { id: string, name?: string, rate?: number, hidden?: boolean, inclusive?: boolean }
- `POST https://api.mcp.ai/api/tave/update/resource/user` — Tool to update a specific user in Tave. Use when you need to modify user properties such as contact association, beta access, admin status, or visibility.
  - body: { id: string, hidden?: boolean, isAdmin?: boolean, username?: string, contactId?: string, hasBetaAccess?: boolean, isBillingContact?: boolean }
- `POST https://api.mcp.ai/api/tave/update/studio/readonly/mode` — Tool to set studio readonly mode in Tave. Use when you need to enable or disable readonly mode for the authenticated studio.
  - body: { enabled: boolean }

## Example prompts
- "What can I do in Tave?"
- "Show me a summary of my Tave account"

## More
- Page: https://mcp.ai/tave
- Agent spec (llms.txt): https://mcp.ai/tave/llms.txt
- Postman collection: https://mcp.ai/tave/postman.json
