# Gusto (verified)

Run payroll, manage employee benefits, and handle HR compliance. Onboard new hires, track time off, and file taxes.

## Quick Start

```bash
# Connect this server (installs CLI if needed)
npx -y @smithery/cli@latest mcp add gusto

# Browse available tools
npx -y @smithery/cli@latest tool list gusto

# Get full schema for a tool
npx -y @smithery/cli@latest tool get gusto get_company

# Call a tool
npx -y @smithery/cli@latest tool call gusto get_company '{}'
```

## Direct MCP Connection

Endpoint: `https://gusto.run.tools`

## Tools (38)

- `get_company` — Retrieves comprehensive business profile information including legal name, business entity type (LLC, Corporation, etc.…
- `get_compensation` — Retrieves full details for a single pay rate record by UUID, including rate amount, payment frequency, FLSA status, and…
- `get_contractor` — Retrieves full profile for a single contractor by UUID, including name, email, business name (if applicable), payment m…
- `get_contractor_payment` — Retrieves full details for a single contractor payment by UUID, including amount, payment method, bonus breakdown, and …
- `get_contractor_payment_group` — Retrieves all individual contractor payments within a batched payment group by UUID. Shows each contractor's payment am…
- `get_department` — Retrieves full details for a single department by UUID, including name, parent department (if nested), and list of assi…
- `get_employee` — Retrieves full profile for a single employee by UUID, including name, email, hire date, department, manager, job title,…
- `get_employee_home_address` — Retrieves full details for a single home address record by UUID, including street, city, state, ZIP code, and effective…
- `get_employee_rehire` — Retrieves information about an employee being brought back to the company after a previous departure. Includes the new …
- `get_employee_work_address` — Retrieves full details for a single work location assignment by UUID, including the location address and effective date…
- `get_job` — Retrieves full details for a single job position by UUID, including title, department, location, FLSA classification, a…
- `get_location` — Retrieves full details for a single company location by UUID, including complete address, phone number, and filing addr…
- `get_pay_schedule` — Retrieves full details for a single pay schedule by UUID, including frequency, anchor dates, and next scheduled pay dat…
- `get_payroll` — Retrieves complete details for a single payroll by UUID, including worker earnings, taxes, deductions, and net pay. Thi…
- `get_time_sheet` — Retrieves detailed time entries for a single timesheet by UUID, including daily hours worked, overtime, breaks, and not…
- `get_token_info` — Returns information about the current API access token including which permissions (scopes) are granted and which compa…
- `list_contractor_payment_groups` — Lists batched contractor payment runs for the company. A payment group represents multiple contractor payments processe…
- `list_contractor_payments` — Lists all payments made to independent contractors within a date range. Shows payment amounts, check dates, and contrac…
- `list_contractors` — Lists all independent contractors (1099 workers) for the company with pagination and search. Returns contractor UUIDs, …
- `list_custom_fields_schema` — Retrieves the definitions of all custom fields configured for the company, including field names, data types, and selec…
- `list_departments` — Lists all departments in the company org structure, including department names, UUIDs, and which employees are assigned…
- `list_earning_types` — Lists all earning type categories configured for the company, such as regular pay, overtime, bonuses, commissions, tips…
- `list_employee_custom_fields` — Retrieves all custom field values set for a specific employee. Custom fields are company-defined attributes like T-shir…
- `list_employee_employment_history` — Retrieves the complete work history timeline for an employee, including all positions held, role changes, and status tr…
- `list_employee_home_addresses` — Lists all residential addresses on file for an employee, including current and historical addresses with effective date…
- `list_employee_jobs` — Lists all job positions held by an employee, including current and past roles. Each job record contains title, location…
- `list_employee_terminations` — Retrieves offboarding and separation records for an employee, including departure dates, reasons for leaving, and final…
- `list_employee_work_addresses` — Lists all work locations assigned to an employee, including current and historical assignments with effective dates. Wo…
- `list_employees` — Lists all employees for the company with pagination and filtering options. Returns basic profile data for each person. …
- `list_job_compensations` — Lists the pay rate history for a job position, showing all salary or hourly rate changes over time. Each entry includes…
- `list_locations` — Lists all physical office or work locations registered for the company, including addresses and whether each is active.…
- `list_pay_periods` — Lists all pay periods (date ranges when work is performed) for the company, with links to associated payroll runs. Show…
- `list_pay_schedule_assignments` — Shows which employees are assigned to which pay schedules. Returns mappings between worker UUIDs and schedule UUIDs. As…
- `list_pay_schedules` — Lists all configured pay schedules for the company, showing frequency (weekly, biweekly, monthly, etc.), name, and sche…
- `list_payroll_blockers` — Identifies issues preventing a specific payroll from being processed, such as missing bank accounts, incomplete tax set…
- `list_payrolls` — Lists all payroll runs for the company with filtering options. When called with no arguments, returns all payrolls (pro…
- `list_time_sheets` — Lists all timesheets for hourly workers across the company. Each timesheet represents one person's hours for a pay peri…
- `run_payroll` — Calculates and submits an existing unprocessed payroll. CANNOT create new payrolls, off-cycle payrolls, or modify payro…

```bash
# Get full input/output schema for a tool
npx -y @smithery/cli@latest tool get gusto <tool-name>
```

## Resources

- `ui://widget/a39e4ef5/run_payroll.html` — Interactive run payroll widget
