Gusto MCP Server
Read-only access to Gusto payroll, employees, contractors, pay schedules, and time tracking data via natural language in AI clients like Claude, Cursor, and Gemini.
The Gusto MCP server is an official, provider-hosted Model Context Protocol server that exposes a company's Gusto payroll and HR data to AI assistants. It connects via OAuth 2.0 with PKCE and is available at https://mcp.api.gusto.com (with a separate demo endpoint at https://mcp.api.gusto-demo.com and a Claude-specific endpoint at https://mcp.api.gusto.com/anthropic). Admins authorize granular scopes covering Company Information, Employee Data, Contractor Data, Payroll Data, and Time Tracking.
The server exposes around 36 tools spanning companies and locations, employees, contractors, payroll runs and pay schedules, and timesheets. Capabilities include listing and retrieving employees, jobs, compensation history, terminations and rehires, contractor payments, payroll runs, pay periods, earning types, and timesheets. All tools are read-only: the server cannot run payroll, move money, or modify records, which keeps the blast radius small when wired into an LLM.
Gusto also publishes a separate Embedded Dev Assistant MCP at https://embedded-payroll.readme.io/mcp aimed at developers building on the Embedded Payroll API (API reference search, docs search, code generation). That is a different server from the data-access MCP described here. Both are remote HTTP MCP endpoints, so there is nothing to install locally beyond MCP client configuration.
Tools
| Tool | Description |
|---|---|
list_gusto_companies |
List Gusto companies accessible to the authenticated user. |
list_company_locations |
List work locations for a company. |
get_location |
Retrieve details for a specific company location. |
list_company_departments |
List departments configured for a company. |
get_department |
Retrieve details for a specific department. |
list_employees |
List employees in a company. |
get_employee |
Retrieve a specific employee record. |
list_employee_jobs |
List jobs assigned to an employee. |
get_employee_compensation_history |
Retrieve compensation history for an employee. |
list_employee_employments |
List employment records for an employee. |
list_employee_terminations |
List termination records for an employee. |
list_employee_rehires |
List rehire records for an employee. |
get_employee_custom_fields |
Retrieve custom field values for an employee. |
list_employee_addresses |
List addresses associated with an employee. |
list_contractors |
List contractors for a company. |
get_contractor |
Retrieve a specific contractor record. |
list_contractor_payments |
List payments made to contractors. |
list_contractor_payment_groups |
List contractor payment groups. |
list_payrolls |
List payroll runs for a company. |
get_payroll |
Retrieve details for a specific payroll run. |
list_pay_schedules |
List pay schedules configured for a company. |
list_pay_periods |
List pay periods for a company. |
list_pay_schedule_assignments |
List assignments of pay schedules to employees. |
list_earning_types |
List earning types available for payroll. |
list_timesheets |
List timesheets for a company or employee. |
get_timesheet |
Retrieve a detailed timesheet record. |
get_token_info |
Return information about the current OAuth token and scopes. |
get_custom_field_schema |
Return the schema of custom fields configured for the company. |
Prerequisites
- A Gusto account with admin access to the company you want to query
- A supported MCP client: Claude (Pro or Max), Cursor (Pro, Pro+, Ultra, Teams, or Enterprise), or Gemini CLI
- For testing, the demo environment is
https://mcp.api.gusto-demo.com
Claude (Connector)
- Click your avatar then Settings then Connectors
- Add a custom connector named "Gusto"
- Enter the remote MCP URL:
https://mcp.api.gusto.com(or usehttps://mcp.api.gusto.com/anthropicfor the Claude-specific endpoint) - Click Connect and complete the OAuth authorization
- Select the data scopes and company you want to expose
Cursor
Add to ~/.cursor/mcp.json:
{
"mcpServers": {
"gusto-mcp": {
"url": "https://mcp.api.gusto.com/"
}
}
}
Then open Cursor, authenticate, and authorize the requested OAuth scopes.
Gemini CLI
Add to settings.json:
{
"mcpServers": {
"gusto": {
"httpUrl": "https://mcp.api.gusto.com"
}
}
}
Notes
- Authentication uses OAuth 2.0 with PKCE. Tokens are issued at
https://mcp.api.gusto.com/oauth/token - Rate limits: 100 requests per minute per user and 500 per minute per company
- Gusto recommends running the server in an isolated session and not mixing it with other MCP servers in the same client, to reduce data leakage risk
- All tools are read-only; the server cannot run payroll or modify records
- Ask "how many employees are in Engineering vs Sales?" and have an agent enumerate departments and headcount without logging into the Gusto admin UI
- Pull total gross payroll for the last N payroll runs to feed a finance dashboard or month-end close report
- Audit recent terminations, rehires, and compensation changes across the company before a board update
- Reconcile contractor payment groups and payment history against accounting records
- Surface upcoming pay periods and pay schedule assignments so an AI assistant can answer "when does the next payroll run close?"
- "List all employees hired in the last 90 days and their job titles."
- "What was the total gross payroll for our last three payroll runs?"
- "Show me every contractor we paid this quarter, grouped by payment group."
- "Which employees are assigned to the biweekly pay schedule?"
- "Pull timesheets for employee 12345 for the current pay period."
- Officially hosted and maintained by Gusto, so no self-hosting or key management is needed
- Read-only by design, which sharply limits the risk of an LLM doing something destructive with payroll
- Broad coverage across companies, employees, contractors, payroll, pay schedules, and timesheets (roughly 36 tools)
- OAuth 2.0 with PKCE and granular scopes per data category
- Read-only only. You cannot run payroll, submit contractor payments, or update employee records through the MCP server
- Requires a paid plan on the MCP client side (Claude Pro/Max or a paid Cursor tier) plus Gusto admin access
- Gusto recommends not mixing this server with other MCP servers in the same session, which complicates multi-tool agent setups
- Gusto Embedded Dev Assistant MCP (
https://embedded-payroll.readme.io/mcp): a separate Gusto-hosted server focused on API reference and docs search for developers building on Gusto Embedded Payroll - QuickBooks or Xero MCP servers: for accounting-side payroll data rather than the Gusto system of record
- Direct Gusto REST API: if you need write access (run payroll, create employees), the public Gusto API still has to be called directly since the MCP server is read-only