Skip to content
Scalekit Docs

Gusto MCP

Vendor MCP50 toolsOAuth 2.1/DCRAccounting & FinanceProductivity

Connect to Gusto MCP. Manage employees, contractors, payroll, departments, and company data from your AI workflows.

Gusto MCP connector

  1. Terminal window
    npm install @scalekit-sdk/node

    Full SDK reference: Node.js | Python

  2. Add your Scalekit credentials to your .env file. Find values in app.scalekit.com > Developers > API Credentials.

    .env
    SCALEKIT_ENVIRONMENT_URL=<your-environment-url>
    SCALEKIT_CLIENT_ID=<your-client-id>
    SCALEKIT_CLIENT_SECRET=<your-client-secret>
  3. quickstart.ts
    import { ScalekitClient } from '@scalekit-sdk/node'
    import 'dotenv/config'
    const scalekit = new ScalekitClient(
    process.env.SCALEKIT_ENV_URL,
    process.env.SCALEKIT_CLIENT_ID,
    process.env.SCALEKIT_CLIENT_SECRET,
    )
    const actions = scalekit.actions
    const connector = 'gustomcp'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize Gusto MCP:', link)
    process.stdout.write('Press Enter after authorizing...')
    await new Promise(r => process.stdin.once('data', r))
    // Make your first call
    const result = await actions.executeTool({
    connector,
    identifier,
    toolName: 'gustomcp_get_company',
    toolInput: {},
    })
    console.log(result)

Connect this agent connector to let your agent:

  • Update payroll — Update inputs (hours, amounts, memos, PTO, exclusions, payment method) for employees on an unprocessed payroll before running it
  • Feedback submit — Submit user feedback about the Gusto MCP experience, with an optional category and freeform context metadata (e.g
  • Search business info — Resolve free-text business info to canonical codes: type industry returns NAICS industry classifications, type occupation returns BLS occupation codes, matched against the user’s query
  • Answer save company onboarding — Save the answer for one onboarding question_key
  • Run payroll — Calculate and submit an existing unprocessed payroll by payroll_uuid
  • Time record — Record time for an employee or contractor (identified by company_member_uuid, from list_time_records), either adding a new shift or updating an existing one via on_existing

Use the exact tool names from the Tool list below when you call execute_tool. If you’re not sure which name to use, list the tools available for the current user first.

gustomcp_accept_reasonable_salary#Accept the most recently calculated reasonable-salary estimate (from calculate_reasonable_salary) for a Solo S-corp owner, recording it as their W-2 salary for IRS-defensibility. Call only after the user has reviewed and explicitly confirmed the estimate.1 param

Accept the most recently calculated reasonable-salary estimate (from calculate_reasonable_salary) for a Solo S-corp owner, recording it as their W-2 salary for IRS-defensibility. Call only after the user has reviewed and explicitly confirmed the estimate.

NameTypeRequiredDescription
_contextstringoptionalThe original user question or request that prompted this tool call
gustomcp_calculate_reasonable_salary#Calculate an IRS-defensible reasonable salary for an S-corp owner from BLS wage data, given the company's zip_code and one or more occupations (codes from search_business_info with type occupation). Overwrites the single in-progress estimate for the company/owner; call accept_reasonable_salary to persist it after user confirmation.5 params

Calculate an IRS-defensible reasonable salary for an S-corp owner from BLS wage data, given the company's zip_code and one or more occupations (codes from search_business_info with type occupation). Overwrites the single in-progress estimate for the company/owner; call accept_reasonable_salary to persist it after user confirmation.

NameTypeRequiredDescription
occupationsarrayrequiredThe occupation(s) making up the owner's role. At least one entry is required; for a split role pass several, with time_percentage values summing to 1.0
zip_codestringrequiredThe company's 5-digit ZIP code, used to find the BLS wage area
_contextstringoptionalThe original user question or request that prompted this tool call
annual_net_revenueintegeroptionalThe company's annual net revenue in whole USD; when provided, caps the salary at this amount
work_scheduleobjectoptionalThe owner's work schedule. Defaults to full-time
gustomcp_get_company#Retrieve the company profile including legal name, entity type, EIN, and status.1 param

Retrieve the company profile including legal name, entity type, EIN, and status.

NameTypeRequiredDescription
_contextstringoptionalThe original user question or request that prompted this tool call
gustomcp_get_company_onboarding_package#Get the company's available onboarding plans, add-ons, and benefits, plus Gusto's recommended package and the company's current selection. The first call made once the profile is ready also computes and stores the recommendation, a one-time side effect.1 param

Get the company's available onboarding plans, add-ons, and benefits, plus Gusto's recommended package and the company's current selection. The first call made once the profile is ready also computes and stores the recommendation, a one-time side effect.

NameTypeRequiredDescription
_contextstringoptionalThe original user question or request that prompted this tool call
gustomcp_get_company_onboarding_status#Get the company's onboarding status for its current experience, including outstanding questions, whether each is required, and their answer schemas. Drives step-by-step onboarding: save answers with save_company_onboarding_answer and re-check status after each save since a save can reroute the remaining questions.1 param

Get the company's onboarding status for its current experience, including outstanding questions, whether each is required, and their answer schemas. Drives step-by-step onboarding: save answers with save_company_onboarding_answer and re-check status after each save since a save can reroute the remaining questions.

NameTypeRequiredDescription
_contextstringoptionalThe original user question or request that prompted this tool call
gustomcp_get_compensation#Retrieve a single pay rate record by UUID, including rate, frequency, and FLSA status.2 params

Retrieve a single pay rate record by UUID, including rate, frequency, and FLSA status.

NameTypeRequiredDescription
compensation_uuidstringrequiredThe unique identifier (UUID) for the record
_contextstringoptionalThe original user question or request that prompted this tool call
gustomcp_get_contractor#Retrieve full profile for a contractor by UUID, including name, email, and payment method.2 params

Retrieve full profile for a contractor by UUID, including name, email, and payment method.

NameTypeRequiredDescription
contractor_uuidstringrequiredThe unique identifier (UUID) for the contractor
_contextstringoptionalThe original user question or request that prompted this tool call
gustomcp_get_contractor_payment#Retrieve details for a single contractor payment by UUID, including amount and payment method.2 params

Retrieve details for a single contractor payment by UUID, including amount and payment method.

NameTypeRequiredDescription
contractor_payment_uuidstringrequiredThe unique identifier (UUID) for the contractor payment
_contextstringoptionalThe original user question or request that prompted this tool call
gustomcp_get_contractor_payment_group#Retrieve all individual contractor payments within a batched payment group by UUID.2 params

Retrieve all individual contractor payments within a batched payment group by UUID.

NameTypeRequiredDescription
contractor_payment_group_uuidstringrequiredThe unique identifier (UUID) for the contractor payment group
_contextstringoptionalThe original user question or request that prompted this tool call
gustomcp_get_department#Retrieve details for a single department by UUID, including name and assigned employees.2 params

Retrieve details for a single department by UUID, including name and assigned employees.

NameTypeRequiredDescription
department_uuidstringrequiredThe unique identifier (UUID) for the department
_contextstringoptionalThe original user question or request that prompted this tool call
gustomcp_get_employee#Retrieve full profile for an employee by UUID, including name, hire date, job, and location.3 params

Retrieve full profile for an employee by UUID, including name, hire date, job, and location.

NameTypeRequiredDescription
employee_uuidstringrequiredThe unique identifier (UUID) for the employee to retrieve
_contextstringoptionalThe original user question or request that prompted this tool call
includestringoptionalComma-separated fields to include: all_compensations, all_home_addresses, company_name, current_home_address, custom_fields, portal_invitations
gustomcp_get_employee_earnings_summary#Return per-employee earning breakdowns aggregated across all payrolls in a date range.3 params

Return per-employee earning breakdowns aggregated across all payrolls in a date range.

NameTypeRequiredDescription
_contextstringoptionalThe original user question or request that prompted this tool call
end_datestringoptionalEnd of date range (YYYY-MM-DD). Defaults to today.
start_datestringoptionalStart of date range (YYYY-MM-DD). Defaults to Jan 1 of current year.
gustomcp_get_employee_home_address#Retrieve a single home address record by UUID, including street, city, state, and ZIP.2 params

Retrieve a single home address record by UUID, including street, city, state, and ZIP.

NameTypeRequiredDescription
home_address_uuidstringrequiredThe unique identifier (UUID) for the address
_contextstringoptionalThe original user question or request that prompted this tool call
gustomcp_get_employee_rehire#Retrieve rehire details for an employee, including new start date and updated employment terms.2 params

Retrieve rehire details for an employee, including new start date and updated employment terms.

NameTypeRequiredDescription
employee_uuidstringrequiredThe unique identifier (UUID) for the employee
_contextstringoptionalThe original user question or request that prompted this tool call
gustomcp_get_employee_work_address#Retrieve a single work location assignment by UUID, including address and effective dates.2 params

Retrieve a single work location assignment by UUID, including address and effective dates.

NameTypeRequiredDescription
work_address_uuidstringrequiredThe unique identifier (UUID) for the work location
_contextstringoptionalThe original user question or request that prompted this tool call
gustomcp_get_job#Retrieve details for a job position by UUID, including title, department, and current pay rate.3 params

Retrieve details for a job position by UUID, including title, department, and current pay rate.

NameTypeRequiredDescription
job_uuidstringrequiredThe unique identifier (UUID) for the job
_contextstringoptionalThe original user question or request that prompted this tool call
includestringoptionalUse all_compensations to include all effective dated compensations instead of only the current compensation
gustomcp_get_location#Retrieve details for a company location by UUID, including address and filing information.2 params

Retrieve details for a company location by UUID, including address and filing information.

NameTypeRequiredDescription
location_uuidstringrequiredThe unique identifier (UUID) for the location
_contextstringoptionalThe original user question or request that prompted this tool call
gustomcp_get_onboarding_answer#Get the current answer for a single onboarding question by question_key (as surfaced by get_company_onboarding_status), including any unset fields as null.2 params

Get the current answer for a single onboarding question by question_key (as surfaced by get_company_onboarding_status), including any unset fields as null.

NameTypeRequiredDescription
question_keystringrequiredThe onboarding question to read (e.g. "ein", "who_to_pay"), as surfaced by get_company_onboarding_status
_contextstringoptionalThe original user question or request that prompted this tool call
gustomcp_get_pay_schedule#Retrieve a pay schedule by UUID, including frequency and next scheduled pay dates.2 params

Retrieve a pay schedule by UUID, including frequency and next scheduled pay dates.

NameTypeRequiredDescription
pay_schedule_uuidstringrequiredThe unique identifier (UUID) for the pay schedule
_contextstringoptionalThe original user question or request that prompted this tool call
gustomcp_get_payroll#Retrieve complete details for a payroll run by UUID, including earnings, taxes, and net pay.4 params

Retrieve complete details for a payroll run by UUID, including earnings, taxes, and net pay.

NameTypeRequiredDescription
payroll_uuidstringrequiredThe unique identifier (UUID) for the payroll
_contextstringoptionalThe original user question or request that prompted this tool call
employee_compensations_pageintegeroptionalPage number for paginating employee compensations within the payroll. Defaults to 1.
employee_compensations_perintegeroptionalNumber of employee compensations per page. Defaults to 100 (max).
gustomcp_get_time_sheet#Retrieve time entries for a timesheet by UUID, including daily hours, overtime, and notes.2 params

Retrieve time entries for a timesheet by UUID, including daily hours, overtime, and notes.

NameTypeRequiredDescription
time_sheet_uuidstringrequiredThe unique identifier (UUID) for the timesheet
_contextstringoptionalThe original user question or request that prompted this tool call
gustomcp_get_token_info#Return information about the current API token, including granted scopes and accessible resources.1 param

Return information about the current API token, including granted scopes and accessible resources.

NameTypeRequiredDescription
_contextstringoptionalThe original user question or request that prompted this tool call
gustomcp_list_contractor_payment_groups#List batched contractor payment runs, showing payment group UUIDs and check dates.5 params

List batched contractor payment runs, showing payment group UUIDs and check dates.

NameTypeRequiredDescription
_contextstringoptionalThe original user question or request that prompted this tool call
end_datestringoptionalOptional end of date range (YYYY-MM-DD)
pageintegeroptionalPage number for pagination
perintegeroptionalNumber of items per page
start_datestringoptionalOptional start of date range (YYYY-MM-DD)
gustomcp_list_contractor_payments#List payments made to contractors within a date range. Requires start_date and end_date.7 params

List payments made to contractors within a date range. Requires start_date and end_date.

NameTypeRequiredDescription
end_datestringrequiredEnd of date range (YYYY-MM-DD) for contractor payments
start_datestringrequiredStart of date range (YYYY-MM-DD) for contractor payments
_contextstringoptionalThe original user question or request that prompted this tool call
contractor_uuidstringoptionalFilter payments by contractor UUID
group_by_datebooleanoptionalWhen true, groups results by check date
pageintegeroptionalPage number for pagination
perintegeroptionalNumber of items per page
gustomcp_list_contractors#List all independent contractors for the company with pagination and search support.10 params

List all independent contractors for the company with pagination and search support.

NameTypeRequiredDescription
_contextstringoptionalThe original user question or request that prompted this tool call
includestringoptionalComma-separated fields to include: company_name, portal_invitations
onboardedbooleanoptionalFilter by contractors who have completed onboarding
onboarded_activebooleanoptionalFilter by contractors who are onboarded and currently active
pageintegeroptionalPage number for pagination
perintegeroptionalNumber of items per page
search_termstringoptionalA string to search for in names
sort_bystringoptionalSort field and optional direction, e.g. name:asc. Supported fields: created_at, name, onboarding_status, type
terminatedbooleanoptionalFilter by contractors who are no longer active
terminated_todaybooleanoptionalFilter by contractors whose last day was today
gustomcp_list_custom_fields_schema#Retrieve definitions of all custom fields configured for the company, including types and options.3 params

Retrieve definitions of all custom fields configured for the company, including types and options.

NameTypeRequiredDescription
_contextstringoptionalThe original user question or request that prompted this tool call
pageintegeroptionalPage number for pagination (default 1)
perintegeroptionalNumber of items per page (default 25, max 500)
gustomcp_list_departments#List all departments in the company, including names, UUIDs, and assigned employees.1 param

List all departments in the company, including names, UUIDs, and assigned employees.

NameTypeRequiredDescription
_contextstringoptionalThe original user question or request that prompted this tool call
gustomcp_list_earning_types#List all earning type categories for the company, such as regular pay, overtime, and bonuses.1 param

List all earning type categories for the company, such as regular pay, overtime, and bonuses.

NameTypeRequiredDescription
_contextstringoptionalThe original user question or request that prompted this tool call
gustomcp_list_employee_custom_fields#Retrieve all custom field values set for a specific employee.4 params

Retrieve all custom field values set for a specific employee.

NameTypeRequiredDescription
employee_uuidstringrequiredThe unique identifier (UUID) for the employee
_contextstringoptionalThe original user question or request that prompted this tool call
pageintegeroptionalPage number for pagination
perintegeroptionalNumber of items per page
gustomcp_list_employee_employment_history#Retrieve the work history timeline for an employee, including all roles and status changes.2 params

Retrieve the work history timeline for an employee, including all roles and status changes.

NameTypeRequiredDescription
employee_uuidstringrequiredThe unique identifier (UUID) for the employee
_contextstringoptionalThe original user question or request that prompted this tool call
gustomcp_list_employee_home_addresses#List all home addresses on file for an employee, including current and historical entries.2 params

List all home addresses on file for an employee, including current and historical entries.

NameTypeRequiredDescription
employee_uuidstringrequiredThe unique identifier (UUID) for the employee
_contextstringoptionalThe original user question or request that prompted this tool call
gustomcp_list_employee_jobs#List all job positions held by an employee, including title, location, and rate information.5 params

List all job positions held by an employee, including title, location, and rate information.

NameTypeRequiredDescription
employee_uuidstringrequiredThe unique identifier (UUID) for the employee
_contextstringoptionalThe original user question or request that prompted this tool call
includestringoptionalUse all_compensations to include all effective dated compensations for each job
pageintegeroptionalPage number for pagination
perintegeroptionalNumber of items per page
gustomcp_list_employee_terminations#Retrieve separation records for an employee, including departure dates and final pay details.2 params

Retrieve separation records for an employee, including departure dates and final pay details.

NameTypeRequiredDescription
employee_uuidstringrequiredThe unique identifier (UUID) for the employee
_contextstringoptionalThe original user question or request that prompted this tool call
gustomcp_list_employee_work_addresses#List all work locations assigned to an employee, with effective dates.2 params

List all work locations assigned to an employee, with effective dates.

NameTypeRequiredDescription
employee_uuidstringrequiredThe unique identifier (UUID) for the employee
_contextstringoptionalThe original user question or request that prompted this tool call
gustomcp_list_employees#List all employees for the company with pagination and filtering by status, onboarding, or name.13 params

List all employees for the company with pagination and filtering by status, onboarding, or name.

NameTypeRequiredDescription
_contextstringoptionalThe original user question or request that prompted this tool call
includestringoptionalComma-separated fields to include: all_compensations, all_home_addresses, company_name, current_home_address, custom_fields, portal_invitations
location_uuidstringoptionalFilter by employees assigned to a specific location UUID
onboardedbooleanoptionalFilter by employees who have completed onboarding
onboarded_activebooleanoptionalFilter by employees who are onboarded and currently active
pageintegeroptionalPage number for pagination
payroll_uuidstringoptionalFilter by employees included in a specific payroll UUID
perintegeroptionalNumber of items per page
search_termstringoptionalA string to search for in names
sort_bystringoptionalSort field and optional direction, e.g. name:asc. Supported fields: created_at, name, onboarding_status
terminatedbooleanoptionalFilter by employees who are no longer active with the company
terminated_todaybooleanoptionalFilter by employees whose last day was today
uuidsstringoptionalComma-separated subset of employee UUIDs to fetch
gustomcp_list_job_compensations#List the pay rate history for a job position, showing all rate changes over time.5 params

List the pay rate history for a job position, showing all rate changes over time.

NameTypeRequiredDescription
job_uuidstringrequiredThe unique identifier (UUID) for the job
_contextstringoptionalThe original user question or request that prompted this tool call
includestringoptionalUse all_compensations to include all effective dated compensations instead of only the current compensation
pageintegeroptionalPage number for pagination
perintegeroptionalNumber of items per page
gustomcp_list_locations#List all physical office and work locations registered for the company.3 params

List all physical office and work locations registered for the company.

NameTypeRequiredDescription
_contextstringoptionalThe original user question or request that prompted this tool call
pageintegeroptionalPage number for pagination
perintegeroptionalNumber of items per page
gustomcp_list_pay_periods#List all pay periods for the company, showing start and end dates and linked payroll runs.4 params

List all pay periods for the company, showing start and end dates and linked payroll runs.

NameTypeRequiredDescription
_contextstringoptionalThe original user question or request that prompted this tool call
end_datestringoptionalFilter pay periods ending on or before this date (YYYY-MM-DD). Defaults to today. Cannot be more than 3 months in the future.
payroll_typesstringoptionalComma-separated payroll types to include: regular, transition
start_datestringoptionalFilter pay periods starting on or after this date (YYYY-MM-DD). Defaults to 6 months ago. Must be within 1 year of end_date.
gustomcp_list_pay_schedule_assignments#Show which employees are assigned to which pay schedules.1 param

Show which employees are assigned to which pay schedules.

NameTypeRequiredDescription
_contextstringoptionalThe original user question or request that prompted this tool call
gustomcp_list_pay_schedules#List all pay schedules for the company, showing frequency and schedule UUID.3 params

List all pay schedules for the company, showing frequency and schedule UUID.

NameTypeRequiredDescription
_contextstringoptionalThe original user question or request that prompted this tool call
pageintegeroptionalPage number for pagination
perintegeroptionalNumber of items per page
gustomcp_list_payroll_blockers#Identify issues preventing a payroll from being processed, such as missing setup or documents.2 params

Identify issues preventing a payroll from being processed, such as missing setup or documents.

NameTypeRequiredDescription
payroll_uuidstringrequiredThe unique identifier (UUID) for the payroll to check blockers for
_contextstringoptionalThe original user question or request that prompted this tool call
gustomcp_list_payrolls#List all payroll runs for the company with optional filtering by type, date, and status.11 params

List all payroll runs for the company with optional filtering by type, date, and status.

NameTypeRequiredDescription
_contextstringoptionalThe original user question or request that prompted this tool call
date_filter_bystringoptionalSpecifies which date field to use when filtering with start_date and end_date. Only applies to regular processed payrolls. Defaults to pay period if not provided. Valid value is check_date.
end_datestringoptionalFilters where the pay period ends on or before this date (YYYY-MM-DD). Cannot be more than 3 months in the future and must be within 1 year of start_date.
includestringoptionalComma-separated: taxes, totals, payroll_status_meta, risk_blockers, reversals
pageintegeroptionalThe page that is requested. When unspecified, will load all objects unless endpoint forces pagination.
payroll_typesstringoptionalComma-separated: regular,off_cycle,external
perintegeroptionalNumber of objects per page. For majority of endpoints will default to 25.
processing_statusesstringoptionalComma-separated: processed,unprocessed
sort_bystringoptionalSort field: pay_period or check_date
sort_orderstringoptionalSort payrolls in ascending (asc) or descending (desc) chronological order. Defaults to asc.
start_datestringoptionalFilters where the pay period starts on or after this date (YYYY-MM-DD). Must be within 1 year of end_date.
gustomcp_list_time_records#List time records for the company over a date range. Requires start_date and end_date.3 params

List time records for the company over a date range. Requires start_date and end_date.

NameTypeRequiredDescription
end_datestringrequiredEnd date of the pay period (YYYY-MM-DD). Filters both native shifts and third-party timesheets.
start_datestringrequiredStart date of the pay period (YYYY-MM-DD). Filters both native shifts and third-party timesheets.
_contextstringoptionalThe original user question or request that prompted this tool call
gustomcp_manage_account#Get the Gusto account's status or resend the password setup email, via the action parameter.2 params

Get the Gusto account's status or resend the password setup email, via the action parameter.

NameTypeRequiredDescription
actionstringrequiredThe account action to perform
_contextstringoptionalThe original user question or request that prompted this tool call
gustomcp_record_time#Record time for an employee or contractor (identified by company_member_uuid, from list_time_records), either adding a new shift or updating an existing one via on_existing. shift_started_at, shift_ended_at, and timezone are always required, but may be sent as null on an update to leave that field unchanged; updates additionally require shift_id.12 params

Record time for an employee or contractor (identified by company_member_uuid, from list_time_records), either adding a new shift or updating an existing one via on_existing. shift_started_at, shift_ended_at, and timezone are always required, but may be sent as null on an update to leave that field unchanged; updates additionally require shift_id.

NameTypeRequiredDescription
company_member_uuidstringrequiredThe company member UUID for the worker whose time is being recorded, from list_time_records' companyMemberUuid field
company_uuidstringrequiredThe company's UUID
shift_ended_atstringrequiredISO8601 timestamp with explicit UTC offset for the end of the shift, in the past. Must be later than shift_started_at. Null leaves the stored end alone on an update; refused on an add
shift_started_atstringrequiredISO8601 timestamp with explicit UTC offset for the start of the shift. Must be earlier than shift_ended_at. Null is only meaningful when on_existing is "update", where it leaves the stored start alone; refused on an add
timezonestringrequiredIANA timezone of the worker (e.g. America/Los_Angeles). Sets the tracker's timezone when one isn't already set. Null leaves the stored timezone alone on an update
_contextstringoptionalThe original user question or request that prompted this tool call
hours_workednumberoptionalOnly used for external/third-party time tracking; ignored for native. Overrides the hours derived from the shift window rather than validating against it
job_uuidstringoptionalThe job UUID the hours belong to, from list_employee_jobs. Required on a native update; omit entirely for a contractor
notestringoptionalOptional note to attach to the entry. Only used for native time tracking; dropped (with a warning) for third-party
on_existingstringoptionalWhether to add a new entry alongside existing time, or update an existing one. Defaults to add when omitted. update also requires shift_id
ot_policy_approvedbooleanoptionalOnly relevant for external/third-party time tracking with unclassified hours. Set true once the admin has explicitly approved the overtime policy suggestion returned by a prior refusal
shift_idstringoptionalRequired when on_existing is "update". For native time tracking it's a shift's id under shifts; for third-party it's the timesheet's own top-level id under timesheets
gustomcp_run_payroll#Calculate and submit an existing unprocessed payroll by payroll_uuid. Cannot create new or off-cycle payrolls; use update_payroll first to adjust hours, amounts, or PTO before running.2 params

Calculate and submit an existing unprocessed payroll by payroll_uuid. Cannot create new or off-cycle payrolls; use update_payroll first to adjust hours, amounts, or PTO before running.

NameTypeRequiredDescription
payroll_uuidstringrequiredThe unique identifier (UUID) for the payroll
_contextstringoptionalThe original user question or request that prompted this tool call
gustomcp_save_company_onboarding_answer#Save the answer for one onboarding question_key. The value's shape depends on the question (see its value_schema from get_company_onboarding_status); a successful save returns the refreshed onboarding_status since a save can reroute the remaining questions.3 params

Save the answer for one onboarding question_key. The value's shape depends on the question (see its value_schema from get_company_onboarding_status); a successful save returns the refreshed onboarding_status since a save can reroute the remaining questions.

NameTypeRequiredDescription
question_keystringrequiredThe onboarding question to answer (e.g. "who_to_pay"), as surfaced by the onboarding status read
valueobjectrequiredThe answer object for the given question_key. Most questions take a flat object whose keys are the field names from the question's value_schema, e.g. { "pay_employees": true } for question_key "who_to_pay". Exception: "company_state_tax_setup" nests its state-qualified keys under a "fields" object.
_contextstringoptionalThe original user question or request that prompted this tool call
gustomcp_search_business_info#Resolve free-text business info to canonical codes: type industry returns NAICS industry classifications, type occupation returns BLS occupation codes, matched against the user's query.3 params

Resolve free-text business info to canonical codes: type industry returns NAICS industry classifications, type occupation returns BLS occupation codes, matched against the user's query.

NameTypeRequiredDescription
querystringrequiredThe user's free-text description of what to resolve, in their own words (e.g. "we run an apple orchard" for industry, or "software developer" for occupation)
typestringrequiredWhat kind of business information to resolve. "industry" returns NAICS industry classifications; "occupation" returns BLS occupation codes
_contextstringoptionalThe original user question or request that prompted this tool call
gustomcp_submit_feedback#Submit user feedback about the Gusto MCP experience, with an optional category and freeform context metadata (e.g. tool invoked, app version, OS).4 params

Submit user feedback about the Gusto MCP experience, with an optional category and freeform context metadata (e.g. tool invoked, app version, OS).

NameTypeRequiredDescription
messagestringrequiredThe user's feedback (required, max 5000 characters)
_contextstringoptionalThe original user question or request that prompted this tool call
categorystringoptionalOptional category for the feedback
contextobjectoptionalOptional metadata (e.g. tool invoked, app version, OS) to help the reviewer
gustomcp_update_payroll#Update inputs (hours, amounts, memos, PTO, exclusions, payment method) for employees on an unprocessed payroll before running it. Send an empty employee_compensations array only to materialize the roster of a pre-prepare payroll. withholding_pay_period, skip_regular_deductions, and fixed_withholding_rate apply to general off-cycle payrolls only.6 params

Update inputs (hours, amounts, memos, PTO, exclusions, payment method) for employees on an unprocessed payroll before running it. Send an empty employee_compensations array only to materialize the roster of a pre-prepare payroll. withholding_pay_period, skip_regular_deductions, and fixed_withholding_rate apply to general off-cycle payrolls only.

NameTypeRequiredDescription
employee_compensationsarrayrequiredArray of per-employee updates. Only include employees you want to change; omitted employees are left as-is. Max 100. Send an EMPTY array to materialize the roster of a pre-prepare payroll
payroll_uuidstringrequiredUUID of the unprocessed payroll to update
_contextstringoptionalThe original user question or request that prompted this tool call
fixed_withholding_ratebooleanoptionalGeneral off-cycle only. Withholds federal at IRS supplemental rate (22%) and state at state supplemental rate
skip_regular_deductionsbooleanoptionalGeneral off-cycle only. Blocks regular deductions and contributions for this payroll
withholding_pay_periodstringoptionalGeneral off-cycle only (Correction/Bonus/Adhoc). Not accepted by termination or transition payrolls