MCP
Server Documentation
Gusto MCP Server Documentation
About
This is Gusto's official MCP server for connecting your own Gusto account. If you're building an integration on the Gusto API and looking for developer tooling, see the Embedded Dev Assistant MCP instead.
The Gusto MCP server allows you to access your data housed within Gusto using natural language within a variety of AI platforms, such as Claude, ChatGPT, and Gemini.
Important Security & Usage Guidelines
Please adhere to the following critical guidelines:
Use the Gusto MCP Server in Isolation
To prevent potential data leakage and ensure the integrity of your session, use the Gusto MCP server in an isolated environment. Do not connect other MCP servers to the same client session that is connected to Gusto. Mixing servers can lead to unpredictable behavior, including the potential for your Gusto data to be inadvertently sent to another service.
Connect with Trusted Clients Only
Please connect to the Gusto MCP server only through trusted, well-established MCP clients such as Claude, Gemini and Cursor. Using unverified or untrusted clients could expose your sensitive data to security vulnerabilities.
Require Manual Confirmation for All Tool Use
LLMs can sometimes misinterpret prompts. To prevent unintended data access, it is critical that you don't enable any automatic tool execution features in your client. You should always be prompted to confirm any tool call before it is executed. This gives you final control and helps ensure the model is only accessing the data you explicitly approve.
Review All Tool Calls Before Approval
Before approving any tool call, carefully review what data the LLM is requesting. The AI may inadvertently request sensitive payroll or employee information that could then be exposed to other services. Be especially cautious of AI features that perform external web searches or use additional tools, as your company's sensitive data retrieved from Gusto could potentially be sent to external search engines or third-party services. Always verify that the tool calls are appropriate and necessary for your query before allowing them to execute.
Verify All Outputs for Accuracy
Treat all LLM-generated responses as a starting point, not a final source of truth. Always verify the accuracy of both the tool calls the model suggests and the final responses it generates. Because LLMs can occasionally misinterpret data or "hallucinate" information, it's critical that any data presented to you is correct before acting on it.
Opt-Out of Model Training
Your prompts and the resulting responses may contain sensitive information. To protect this data, you must configure your LLM client to opt out of sharing data for model training purposes. Most major providers offer this privacy setting, which may be labeled as "Chat history & training" or similar. Failure to do so could result in your sensitive company data being stored and used by the third-party LLM provider. Gusto's own commitment not to permit training on your data (see our Privacy Notice) applies to the AI providers Gusto directly contracts with; it does not extend to whichever LLM client you choose to connect via MCP, so opting out on your end is the only way to prevent that client from training on your data.
Capabilities
Our MCP server provides an OAuth2 based connection process and allows you to select the categories of data to which your chosen LLM will have access, directly shaping its capabilities.
Scoped, least-privilege access: each connection is limited to only the data categories you explicitly grant during setup. Use get_token_info at any time to check exactly which scopes are active, and revoke or change access by disconnecting and reconnecting the server.
Getting Started
Connecting the Gusto MCP server requires a Gusto account with global/full admin permissions.
Setup for Claude
- Click your avatar in the bottom left corner of the Claude interface
- Click "Settings"
- Navigate to "Connectors" in the left nav
- Click "Add custom connector"
- Input "Gusto" as the Name
- Input the Remote MCP server URL:
https://mcp.api.gusto.com - Click "Add"
- If you see "Configure" next to "Gusto," click the ellipsis (...), select "Disconnect" and confirm the disconnection
- Click "Connect"
- Select the desired data types for which you'd like to provide access and, if applicable, the company you'd like to connect
- Click "Authorize"
- Open up a new chat
- Confirm the Gusto MCP server is active via the "Search and tools" button, which is found to the right of the "+" button within the chat input
- You're now ready to input your first query!
Setup for ChatGPT
- Click "Plugins" in the left navigation of the ChatGPT interface
- Input "Gusto" into the search field in the top right corner
- Click "+"
- Go through the authorization flow, selecting the company you'd like to connect if prompted
- In a new chat, click the "+" button
- If it's not already selected, click "Gusto"
- You're now ready to input your first query!
Setup for Cursor
- Within the Cursor IDE, go to "Cursor" (in the menu bar) → "Cursor Settings"
- Click "Tools & Integrations"
- Under "MCP Tools," click "New MCP Server"
- Input the following into the automatically generated
mcp.jsonfile:
{
"mcpServers": {
"gusto-mcp": {
"url": "https://mcp.api.gusto.com/"
}
}
}- Save the updated file
- Click "Needs login" under "gusto-mcp"
- Click "Open"
- Log in to your Gusto account
- If there are multiple companies, select the relevant company
- Click "Authorize"
- Click "Open Cursor"
- Within the "AI Pane," open up a New Chat
- Begin using the server with prompts like: "Limit this chat to MCP: 'gusto-mcp'"
Setup for Gemini CLI
Prerequisites: Gemini CLI must be installed (installation instructions)
- Add the following to your Gemini
settings.jsonfile (located in the.geminifolder):
{
"mcpServers": {
"gusto": {
"httpUrl": "https://mcp.api.gusto.com"
}
}
}- Start the tool using
gemini - Authenticate using one of the methods provided
- Input
/mcp auth gusto - Log in to your Gusto account
- If there are multiple companies, select the relevant company
- Click "Authorize"
- Confirm the MCP server is connected by inputting
/mcp list - Begin testing!
Example Use Cases
Here are practical examples of how to use the Gusto MCP server:
Example 1: Basic Company Information
Prompt: "What is the company name and where is it located?"
Expected Tools Called:
get_company
Expected Output: Company name and full address (e.g., "MCP Test Company, located at 200 E Santa Clara St, Suite 200, San Jose, CA 95113")
Use Case: Quickly retrieve company details for reports or verification purposes.
Example 2: Employee Department Analysis
Prompt: "How many employees are in each department?"
Expected Tools Called:
list_employeeslist_departments
Expected Output: Breakdown by department (e.g., "Engineering: 6 employees, Sales: 3 employees, Marketing: 2 employees, plus 2 unassigned employees")
Use Case: Understand workforce distribution across departments for planning and resource allocation.
Example 3: Recent Payroll Cost Analysis
Prompt: "What was the total gross payroll cost for the most recent payrolls?"
Expected Tools Called:
list_payrolls
Expected Output: Total gross payroll amount (e.g., "$82,527.69 across three recent payroll runs in September-October 2025")
Use Case: Track payroll expenses for budgeting and financial reporting.
Example 4: New Hire Tracking
Prompt: "Which employees were hired since November 1, 2025?"
Expected Tools Called:
list_employees
Expected Output: List of recently hired employees with hire dates (e.g., "Maya Angelou (November 7, 2025) and John Lewis (November 14, 2025)")
Use Case: Track recent hires for onboarding workflows and headcount reporting.
Example 5: Compensation Review
Prompt: "Who are the highest and lowest paid employees?"
Expected Tools Called:
list_employees
Expected Output: Employees with highest and lowest compensation (e.g., "Highest: Taylor Swift and Regina Spektor ($110,000/year each). Lowest: Isaiah Berlin and Immanuel Kant ($22/hour each)")
Use Case: Review compensation distribution for equity analysis and budget planning.
Example 6: Contractor Management
Prompt: "How many contractors do we have and who are they?"
Expected Tools Called:
list_contractors
Expected Output: Count and names of contractors (e.g., "2 contractors: Ella Fitzgerald and Louis Armstrong")
Use Case: Manage contractor relationships and track non-employee workforce.
Note: AI platforms referenced for illustrative purposes only; Gusto MCP is not affiliated with or endorsed by any AI platforms.
MCP Tools Reference
MCP Tools Reference
Authentication
The Gusto MCP server uses OAuth 2.0 for secure authentication:
- Authorization Endpoint:
https://mcp.api.gusto.com/oauth/authorize - Token Endpoint:
https://mcp.api.gusto.com/oauth/token - Supported Grant Types:
authorization_code,refresh_token - PKCE: Required for enhanced security
Available Tools
The Gusto MCP server provides 72 tools organized into the following categories:
Company & Onboarding
create_company- Create the user's Gusto company and payroll-admin account during signup (call withconfirmed: falsefirst to verify the account email, thenconfirmed: trueto create).get_company- Retrieve business profile details: legal name, entity type, EIN, contact info, and locations.get_company_onboarding_status- Get the company's onboarding progress: which setup questions remain, whether each is required, and the next step to drive.get_company_onboarding_package- Get the company's available plans, add-ons, and benefits during onboarding, plus Gusto's recommended package.get_onboarding_answer- Read the current answer for one onboarding question by its key.save_company_onboarding_answer- Save a single onboarding answer; a saved answer can re-route which questions remain.create_secure_gusto_session- Open a secure Gusto panel for the user to sign a company form or set themselves up as company signatory (never collects a signature or SSN in chat).manage_account- Check whether the signed-in account has set a Gusto password, or resend the password-setup email.manage_company_members- Add or update one employee or contractor at a time: basics, compensation, employment terms, and work address, with an option to finalize and send a self-onboarding invite.
Bank Connection
check_plaid_connection_status- Check whether the company's Plaid-linked payroll funding account has connected and verified.connect_bank_via_plaid- Open a Plaid-hosted flow for the user to connect the company's payroll funding account (never collects account or routing numbers in chat).
Tax & Business Formation
check_ein_status- Check whether the company's federal EIN (Form SS-4) filing has been issued yet.file_ein- Prepare and validate a federal EIN (Form SS-4) filing from company and responsible-party details (never collects the responsible party's SSN/ITIN).pay_ein_filing- Create a Stripe checkout link to pay for a prepared EIN filing.check_scorp_election_status- Check whether the company's Form 2553 S-Corp election filing has been finalized.file_scorp_election- Prepare a Form 2553 S-Corp election filing from formation, tax-year, and shareholder details (never collects shareholder SSNs; the owner must still mail the completed form to the IRS).acknowledge_scorp_recommendation- Mark a Solo S-Corp tax-savings estimate as reviewed, clearing that onboarding step.calculate_scorp_tax_savings- Estimate a single-member LLC owner's potential tax savings from electing S-Corp status, given net income, salary, and state (an estimate, not tax advice).calculate_reasonable_salary- Calculate an IRS-defensible reasonable W-2 salary for an S-Corp owner from BLS wage data by ZIP code and occupation.accept_reasonable_salary- Accept the most recently calculated reasonable-salary estimate as the owner's W-2 salary.calculate_rd_tax_credit- Estimate the federal R&D tax credit a business could claim, from headcount, average pay, and industry (an estimate, not tax advice or a qualification determination).check_rd_credit_qualification- Assess whether a business's work could qualify for the federal R&D tax credit, and what would strengthen the case (not tax advice; never returns a "does not qualify" verdict).search_business_info- Resolve a free-text description into verified NAICS industry codes or BLS occupation codes for the user to choose from.search_workers_comp_class- Resolve a description of an employee's work into that state's workers' comp risk-class codes (Washington and Wyoming only).look_up_employment_compliance- Search Gusto's compliance knowledge base for US employment rules (minimum wage, overtime, leave, and similar) by jurisdiction; returns matching summaries only.read_employment_compliance_knowledge_units- Read the full text of specific compliance rules found bylook_up_employment_compliance.
Reports
create_reports- Enqueue one or more reports (payroll journal, cash requirements, contractor payments summary, or international contractor payments) for a payroll or date range.get_reports- Check the status of reports queued bycreate_reportsand retrieve their CSV content once ready.
Payroll
get_payroll- Get detailed information about a specific payroll, including worker earnings, taxes, deductions, and net pay.list_payrolls- List all payroll runs with filtering (filters by pay period dates by default, not check dates).list_payroll_blockers- Identify issues preventing a specific payroll from being processed.update_payroll- Update an unprocessed payroll's hours, earnings, PTO, memos, or payment methods for up to 100 employees per call.run_payroll- Calculate and submit an existing unprocessed payroll.
Employees & Organization
get_employee- Get detailed information about a specific employee.list_employees- List all employees with filtering options.get_employee_earnings_summary- Get per-employee earning breakdowns (commissions, bonuses, tips) across processed payrolls in a date range.get_employee_home_address- Get details for a specific home address record.list_employee_home_addresses- List all home addresses on file for an employee.get_employee_rehire- Get rehire details for an employee returning after a previous departure.get_employee_work_address- Get details for a specific work location assignment.list_employee_work_addresses- List all work locations assigned to an employee.list_employee_custom_fields- List custom field values set for an employee.list_employee_employment_history- List an employee's work history: positions held, role changes, and status transitions.list_employee_terminations- List offboarding and separation records for an employee.list_employee_jobs- List all job positions held by an employee.list_job_compensations- Get pay rate history for a job position.get_compensation- Get details for a specific pay rate record.get_job- Get details for a specific job position.get_department- Get details for a specific department.list_departments- List all departments in the company's org structure.get_location- Get details for a specific company location.list_locations- List all company locations.list_custom_fields_schema- Get the company's custom field definitions.list_earning_types- List all earning type categories configured for the company.
Contractors
list_contractors- List all independent contractors with pagination and search.get_contractor- Get detailed information about a specific contractor.get_contractor_payment- Get details for a specific contractor payment.list_contractor_payments- List payments made to contractors within a date range.get_contractor_payment_group- Get all individual payments within a batched contractor payment run.list_contractor_payment_groups- List batched contractor payment runs for the company.
Time Tracking
get_time_off_balances- Get employees' current time-off balances (available, accrued, used, and pending hours per policy).get_time_off_request- Get full detail for a specific time-off request.list_time_off_requests- List a company's time-off requests, filterable by status, date range, and employee.get_time_sheet- Get detailed time entries for a specific timesheet (third-party time tracking only).list_time_records- List time records for a pay period, routed automatically to the company's native or third-party time tracking.record_time- Record admin-entered time for a single worker over a pay period, routed automatically to native or third-party time tracking.
Pay Schedules
get_pay_schedule- Get details for a specific pay schedule.list_pay_schedules- List all configured pay schedules for the company.list_pay_periods- List pay periods with links to their associated payroll runs.list_pay_schedule_assignments- Show which employees are assigned to which pay schedules.
Utility
get_token_info- Get the current access token's granted scopes and accessible company resources.submit_feedback- Submit feedback about the Gusto MCP integration itself (bugs, missing tools, confusing descriptions) to the team that builds it.
Tool Parameters
All list tools support pagination and filtering:
page(integer): Page number for pagination (default: 1)per(integer): Results per page (default: 25, max: 100)include(string): Comma-separated list of fields to include in response
Response Format
All tools return JSON responses following the MCP protocol specification. Successful responses include:
jsonrpc: "2.0"id: Request identifierresult: Tool execution results
Error responses include:
jsonrpc: "2.0"id: Request identifiererror: Object containingcode,message, anddatafields
Rate Limits
The Gusto MCP server enforces rate limits to ensure fair usage. If you exceed a rate limit, you'll receive a 429 error with a Retry-After header indicating when you can retry. Specific thresholds are not published here, since they are subject to change; if you're building against this at scale, handle a 429 response gracefully rather than hardcoding an expected limit.
Token Efficiency
To minimize token usage and improve performance:
- Use pagination parameters (
page,per) to limit result sets - Use the
includeparameter to request only needed fields - Filter results using available query parameters (e.g.,
location_uuid,terminated) - Cache frequently accessed data when possible
This documentation is actively maintained. See the Changelog for the most recent tool and feature updates.
Troubleshooting Guide
Troubleshooting Guide
Connection Issues
Problem: "Unauthorized" error
Solution:
For Cursor:
- Go to "Cursor Settings" → "Tools & Integrations"
- Under "MCP Tools," find "gusto-mcp"
- Click "Log out" next to the server
- Click "Needs login" to log back in and reauthorize
For Claude:
- Go to Settings → Connectors
- Find the Gusto connector
- Click the ellipsis (...) and select "Disconnect"
- Click "Connect" to reconnect and reauthorize
- If you click "Configure" and no tools show up, follow the disconnect and reconnect steps above
Problem: "Failed to connect to Gusto MCP server"
Solution:
- Verify you're using the correct URL:
https://mcp.api.gusto.com - Check your internet connection
- Try disconnecting and reconnecting the server
- Clear your browser cache and cookies
- If using Cursor, toggle the server off and back on
Problem: "Authentication failed" or "Invalid credentials"
Solution:
- Ensure you're logged into the correct Gusto account
- Clear cookies and try authenticating again
- Verify you have admin access to the company you're trying to connect
- Check if your Gusto session has expired - log in again
- For demo environments, ensure you're not logged in as a super user
Problem: "No companies available" after authentication
Solution:
- Verify your Gusto account has at least one company
- Ensure you have admin access to at least one company
- Try logging out of Gusto completely and reconnecting
- Contact Gusto support if you believe you should have access
Tool Execution Issues
Problem: Tools are not appearing or not being called
Solution:
- Confirm the MCP server is active in your client's tool list
- Check that you've granted the appropriate data permissions during OAuth
- Try opening a new chat/conversation
- Verify your subscription level supports MCP (Pro/Max for Claude, Pro+ for Cursor)
- Review your prompt - be specific about what data you need
Problem: "Permission denied" or "Insufficient scope" errors
Solution:
- Disconnect and reconnect the server
- During reconnection, ensure you select all necessary data categories
- Verify the company you connected has the relevant data (e.g., payroll data exists)
- Check if your Gusto user role has access to the requested data type
Problem: Tool returns empty results or "No data found"
Solution:
- Verify the data exists in your Gusto account (log in directly to check)
- Check date ranges - you may be querying outside available data
- Review filter parameters - they may be too restrictive
- Try broadening your query or removing filters
- For payroll data, ensure payrolls have been processed
Response Quality Issues
Problem: LLM provides incorrect or incomplete answers
Solution:
- Always verify tool calls before execution - the LLM may have selected wrong tools
- Review the raw tool response data to confirm accuracy
- Rephrase your prompt to be more specific
- Break complex queries into smaller, sequential questions
- Explicitly mention which company or date range you're interested in
- Ask the LLM to show you which tools it plans to call before executing
Problem: LLM hallucinates data not in the response
Solution:
- Ask the LLM to cite which tool response contains the information
- Request raw data/JSON responses to verify
- Explicitly instruct: "Only use data from tool responses, do not make assumptions"
- Break down your question into multiple specific queries
- Always verify critical information directly in Gusto
Problem: Response times are slow
Solution:
- Reduce the scope of your query (limit date ranges, employee counts, etc.)
- Use pagination to request smaller result sets
- Ask about specific entities rather than broad "all employees" queries
- Check Gusto API status (status.gusto.com)
- Try your query during off-peak hours
Error Messages
Error: "Rate limit exceeded"
Message: "You have exceeded the rate limit. Please try again later."
Solution:
- Wait for the time period specified in the error message
- Reduce the frequency of your requests
- Batch multiple questions into a single conversation
- Use pagination instead of requesting large datasets at once
Error: "Tool not found"
Message: "The requested tool does not exist"
Solution:
- Verify you're using a supported tool name (see MCP Tools Reference)
- Ensure you've granted permissions for that data category
- Try disconnecting and reconnecting the server
- The tool may have been renamed - check the latest documentation
Error: "Invalid parameters"
Message: "One or more parameters are invalid"
Solution:
- Review the tool's parameter requirements in the MCP Tools Reference
- Check date formats (ISO 8601: YYYY-MM-DD)
- Verify numeric parameters are valid
- Ensure required parameters are provided
- Remove any unsupported parameters
Error: "Session expired"
Message: "Your authentication session has expired"
Solution:
- Disconnect and reconnect the MCP server
- Log in to Gusto again
- Clear your browser cache and cookies
- Re-authenticate through the OAuth flow
Best Practices for Reliable Results
- Start Simple: Begin with basic queries before attempting complex analysis
- Verify Data: Always check that the tool responses contain the data you expect
- Be Specific: Include company names, date ranges, and specific identifiers in prompts
- Sequential Queries: For complex questions, break them into steps
- Manual Confirmation: Never enable automatic tool execution
- Isolated Sessions: Use Gusto MCP alone, don't mix with other MCP servers
- Regular Reconnection: If you experience issues, try disconnecting and reconnecting
- Check Permissions: Ensure you've granted all necessary OAuth scopes
Getting Additional Help
If you continue to experience issues:
- Documentation: Review this documentation and the MCP specification
- Status Page: Check https://status.gusto.com for service interruptions
- Support Contact: Email [email protected] with:
- Detailed description of the issue
- Steps to reproduce
- Error messages (if any)
- Timestamp of the issue
- MCP client and version you're using
- Privacy Policy: https://gusto.com/legal/terms/privacy
- Terms of Service: https://gusto.com/legal/terms/gusto-mcp
Data Privacy & Security
Data Privacy & Security
What Data is Collected
When you use the Gusto MCP server, we collect:
- Tool call logs: Tool name, parameters (sanitized), timestamp, request ID
- Authentication data: OAuth tokens, refresh tokens, company ID
- Usage metadata: Request counts, error rates, response times
What Data is NOT Collected
We do NOT log:
- Full conversation history
- Personally identifiable information (PII) beyond what's necessary for sign up, authentication, or usage of the tools
Data Retention
- Usage metrics & logs: Stored in accordance with Gusto's general Terms and Privacy Notice
- OAuth tokens: Stored securely, refreshed automatically, revoked on disconnect
Your Rights
You have the right to:
- Submit a request to exercise your privacy rights
- Export your tool usage logs
- Revoke access at any time by disconnecting the MCP server
- Review OAuth permissions and modify scope selections
For data privacy requests, contact: [email protected]
Technical Details
Technical Details
Protocol Version
- MCP Protocol: 2025-06-18
- Transport: Streamable HTTP (POST requests)
- Authentication: OAuth 2.0 with PKCE
Server Information
- Name: Gusto MCP Server
- Version: 0.1.0
- Privacy Policy: https://gusto.com/legal/terms/privacy
- Terms of Service: https://gusto.com/legal/terms/gusto-mcp
- Support: [email protected]
- Support URL: https://support.gusto.com/mcp
Service Level Agreement (SLA)
- Uptime: 99.9% monthly uptime target
- Support Response: Within 1 business day for critical issues
- Performance: 95th percentile response time < 2 seconds
Demo & Testing Guide
Gusto MCP Server - Demo & Testing Guide
This guide is for testing the Gusto MCP server using demo companies. Use this before connecting your production company data.
Prerequisites
Connecting to the demo environment requires a Gusto account with global/full admin permissions, and access to a demo Gusto company with sample data.
Test Account Credentials
- For standardized testing by AI platform providers, use the email address and password provided to you by Gusto. This account will be pre-configured in the correct state for standardized testing.
- All other testing can be done using a standard demo account, provisioned via https://dev.gusto.com
Demo Environment Servers
Core MCP: https://mcp.api.gusto-demo.com
Claude: https://mcp.api.gusto-demo.com/anthropic
ChatGPT: https://mcp.api.gusto-demo.com/openai
Expected Test Data
When you log in with the test account credentials, you'll have access to a company called "MCP Test Company" with the following sample data:
Company Details
- Display Name: MCP Test Company
- Location: 200 E Santa Clara St, Suite 200, San Jose, CA 95113
- Departments: Engineering (6 employees), Sales (3 employees), Marketing (2 employees)
- Total Employees: 13 (11 assigned to departments, 2 unassigned)
- Total Contractors: 2
- Pay Schedule: Every other Friday (bi-weekly)
Sample Employees
Engineering Department:
- Taylor Swift - CTO, $110,000/year
- Regina Spektor - CEO, $110,000/year
- Friedrich Nietzsche - Engineer, $80,000/year
- Arthur Schopenhauer - Engineer, $88,000/year
- Alexander Hamilton - Marketing Director, $78,000/year
- Immanuel Kant - Client Support Manager, $22/hour
Sales Department:
- Patricia Churchland - Account Director, $78,000/year
- Isaiah Berlin - Client Support Manager, $22/hour
- Ammie Purdy - Office Administrator, $37/hour
Marketing Department:
- Soren Kierkegaard - Client Support Director, $70,000/year
- Hannah Arendt - Account Manager, $61,000/year
Unassigned:
- Maya Angelou - Chief Editor, $85,000/year (hired November 7, 2025)
- John Lewis - Advocate, $85,000/year (hired November 14, 2025)
Contractors:
- Ella Fitzgerald - Hourly ($18/hour)
- Louis Armstrong - Fixed
Sample Payrolls
Three payrolls have been processed for September-October 2025:
-
September 26, 2025
- Pay Period: September 6 - September 19, 2025
- Gross Pay: $27,509.23
- Employer Taxes: $3,031.69
- Net Pay: $18,275.02
-
October 10, 2025
- Pay Period: September 20 - October 3, 2025
- Gross Pay: $27,509.23
- Employer Taxes: $2,936.00
- Net Pay: $18,275.03
-
October 24, 2025
- Pay Period: October 4 - October 17, 2025
- Gross Pay: $27,509.23
- Employer Taxes: $2,425.44
- Net Pay: $18,275.05
Test Scenarios
Use these test scenarios to validate MCP functionality:
Test 1: Basic Information Retrieval
Prompt: "What is the company name and where is it located?"
Expected Result: "MCP Test Company, located at 200 E Santa Clara St, Suite 200, San Jose, CA 95113"
Test 2: Department Analysis
Prompt: "How many employees are in each department?"
Expected Result: "Engineering: 6 employees, Sales: 3 employees, Marketing: 2 employees"
Test 3: Payroll Cost Analysis
Prompt: "What was the total gross payroll for all payrolls in September-October 2025?"
Expected Result: "$82,527.69 (three payrolls of $27,509.23 each, with check dates September 26, October 10, and October 24, 2025)"
Test 4: New Hire Tracking
Prompt: "Which employees were hired since November 1, 2025?"
Expected Result: "Maya Angelou (November 7, 2025) and John Lewis (November 14, 2025)"
Test 5: Compensation Analysis
Prompt: "Who are the highest and lowest paid employees?"
Expected Result: "Highest: Taylor Swift and Regina Spektor ($110,000/year each). Lowest: Isaiah Berlin and Immanuel Kant ($22/hour each)"
Test 6: Contractor Information
Prompt: "How many contractors do we have and who are they?"
Expected Result: "2 contractors: Ella Fitzgerald and Louis Armstrong"
Test 7: Employee Details
Prompt: "What is Patricia Churchland's job title and annual salary?"
Expected Result: "Account Director, $78,000/year"
Test 8: Payroll Trend Analysis
Prompt: "How has the gross payroll changed across the three most recent payrolls?"
Expected Result: "It has remained consistent at $27,509.23 for all three payrolls"
Test 9: Tax Analysis
Prompt: "What is the trend in employer tax payments across the three most recent payrolls?"
Expected Result: "Decreasing: $3,031.69 (September 26) → $2,936.00 (October 10) → $2,425.44 (October 24)"
Test 10: Department Distribution
Prompt: "Which employees in Marketing have salaries over $60,000?"
Expected Result: "Soren Kierkegaard ($70,000/year) and Hannah Arendt ($61,000/year)"
Test 11: Multi-Turn Conversation
Turn 1: "Show me all departments"
Expected: "Sales, Marketing, and Engineering"
Turn 2: "Which one has the most employees?"
Expected: "Engineering with 6 employees"
Turn 3: "What's their average salary?"
Expected: "Approximately $93,200 per year for salaried employees (Taylor: $110k, Regina: $110k, Friedrich: $80k, Arthur: $88k, Alexander: $78k)"
Test 12: Unassigned Employees
Prompt: "Which employees are not assigned to any department?"
Expected Result: "Maya Angelou (Chief Editor) and John Lewis (Advocate), both hired in November 2025"
Validation Checklist
After completing your tests, verify:
- All tool calls returned expected data
- No authentication or permission errors occurred
- Multi-turn conversations maintained context appropriately
- Numeric calculations were accurate
- Date filtering worked correctly
- Employee/contractor data was retrieved accurately
- Payroll data matched expected values
- Department information was correct
- Unassigned employees were properly identified
- Error handling was appropriate for invalid queries
- Response times were acceptable (< 5 seconds per tool call)
Common Demo Issues
Issue: Super User Session Conflicts
Symptom: Cannot authenticate as company admin
Solution: Clear cookies or use incognito/private browsing mode
Issue: Demo Company Not Found
Symptom: "No companies available" after auth
Solution: Verify you're logging in with the correct admin credentials
Issue: Empty Payroll Results
Symptom: Queries for specific date ranges return no payrolls
Solution: The demo company has payrolls from September-October 2025. Adjust your date filters accordingly.
Issue: Outdated Data
Symptom: Employee counts or names don't match expected values
Solution: Demo company may have been modified. Refer to the Expected Test Data section in this guide for the current baseline configuration.
Demo Data Refresh
If demo data becomes stale or inconsistent:
- Record current test results
- Reset demo company to baseline configuration
- Re-run all test scenarios
- Compare results to expected outcomes
- Document any discrepancies
Transitioning to Production
Once testing is complete with demo data:
- Disconnect the demo MCP server
- Clear any cached authentication
- Follow production setup instructions
- Connect to
https://mcp.api.gusto.com - Authenticate with your production Gusto account
- Start with simple queries to verify connection
- Gradually increase complexity as confidence builds
Important: Demo environment is for testing only. Do not use production credentials in demo or demo credentials in production. Do not add production data to the demo environment.
Changelog
September, 2026
contractor_payments_summaryreport type added tocreate_reportscash_requirementsreport type added tocreate_reportscreate_reportsandget_reportstools releasedcheck_rd_credit_qualificationtool releasedcalculate_rd_tax_credittool releasedacknowledge_scorp_recommendationtool released- EIN filing tools (
file_ein,pay_ein_filing,check_ein_status) wired into the onboarding flow
August, 2026
check_plaid_connection_statustool released; compliance tools renamed tolook_up_employment_complianceandread_employment_compliance_knowledge_units;search_workers_comp_classsplit into its own toolconnect_bank_via_plaidtool released- Employment-compliance lookup tools released, flag-gated
July, 2026
update_payrolltool released
June, 2026
submit_feedbacktool releasedcalculate_reasonable_salarytool releasedaccept_reasonable_salarytool releasedsearch_business_infotool released, covering industry and occupation lookupget_company_onboarding_packagetool releasedget_onboarding_answertool releasedget_company_onboarding_statustool releasedsave_company_onboarding_answertool released
May, 2026
list_time_recordstool releasedlist_time_sheetstool deprecated
April, 2026
get_employee_earnings_summarytool released- Various tool optimizations and adjustments
March, 2026
- Various tool optimizations and adjustments
February, 2026
- Widgetized
run_payrolltool live for Claude specific MCP variant, available via https://mcp.api.gusto.com/anthropic
January, 2026
- Widgetized
run_payrolltool live for ChatGPT specific MCP variant and official App launched, available via https://chatgpt.com/apps/gusto/asdk_app_69375d9f172c8191b23d73be4107128a
December, 2025
- Claude specific endpoint live, available via https://mcp.api.gusto.com/anthropic
August, 2025
- Core MCP server live, available via https://mcp.api.gusto.com
Updated 6 days ago