diff --git a/.cursor-plugin/marketplace.json b/.cursor-plugin/marketplace.json index 782df3851..8f84e2fd6 100644 --- a/.cursor-plugin/marketplace.json +++ b/.cursor-plugin/marketplace.json @@ -552,6 +552,11 @@ "name": "tiktok-for-business", "source": "third_party/tiktok-for-business", "description": "Manage TikTok ad campaigns, ad groups, ads, audiences, creatives, and reports." + }, + { + "name": "gusto", + "source": "third_party/gusto", + "description": "Work with payroll, employees, contractors, time off, and reports." } ] } diff --git a/README.md b/README.md index 91299b145..a79e899c4 100644 --- a/README.md +++ b/README.md @@ -101,6 +101,7 @@ Official Cursor plugins for popular developer tools, frameworks, and SaaS produc | `highlevel` | [HighLevel](third_party/highlevel/) | Cursor | Integrations | Work with contacts, conversations, opportunities, calendars, and payments. | | `finary` | [Finary](third_party/finary/) | Cursor | Integrations | Read your net worth, accounts, holdings, spending, and budgets. | | `tiktok-for-business` | [TikTok for Business](third_party/tiktok-for-business/) | Cursor | Integrations | Manage TikTok ad campaigns, ad groups, ads, audiences, creatives, and reports. | +| `gusto` | [Gusto](third_party/gusto/) | Cursor | Integrations | Work with payroll, employees, contractors, time off, and reports. | Author values match each plugin’s `plugin.json` `author.name` (Cursor lists `plugins@cursor.com` in the manifest). ## Repository structure diff --git a/third_party/gusto/.cursor-plugin/plugin.json b/third_party/gusto/.cursor-plugin/plugin.json new file mode 100644 index 000000000..28e014a8d --- /dev/null +++ b/third_party/gusto/.cursor-plugin/plugin.json @@ -0,0 +1,36 @@ +{ + "name": "gusto", + "displayName": "Gusto", + "version": "1.0.0", + "minClientVersions": { + "cursor": "3.13.0" + }, + "description": "Work with payroll, employees, contractors, time off, and reports.", + "author": { + "name": "Cursor", + "email": "plugins@cursor.com" + }, + "homepage": "https://docs.gusto.com/app-integrations/docs/mcp", + "repository": "https://github.com/cursor/plugins", + "license": "MIT", + "logo": "assets/logo.png", + "keywords": [ + "gusto", + "payroll", + "hr", + "employees", + "contractors", + "benefits", + "time off", + "timesheets", + "mcp" + ], + "category": "integrations", + "tags": [ + "gusto", + "payroll", + "hr", + "mcp" + ], + "mcpServers": "./mcp.json" +} diff --git a/third_party/gusto/CHANGELOG.md b/third_party/gusto/CHANGELOG.md new file mode 100644 index 000000000..8b7e8ddd8 --- /dev/null +++ b/third_party/gusto/CHANGELOG.md @@ -0,0 +1,9 @@ +# Changelog + +All notable changes to this plugin will be documented here. + +## 1.0.0 — initial release + +- Added the `gusto` MCP server pointing at Gusto's hosted endpoint (`https://mcp.api.gusto.com/`). +- Auth uses OAuth with Gusto account sign-in — no API key or client ID to configure. +- Logo: Gusto's official mark. diff --git a/third_party/gusto/LICENSE b/third_party/gusto/LICENSE new file mode 100644 index 000000000..ca2bba771 --- /dev/null +++ b/third_party/gusto/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2026 Cursor + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/third_party/gusto/README.md b/third_party/gusto/README.md new file mode 100644 index 000000000..52fb5c121 --- /dev/null +++ b/third_party/gusto/README.md @@ -0,0 +1,67 @@ +# Gusto + +Cursor plugin that connects agents to [Gusto](https://gusto.com) through Gusto's official remote [Model Context Protocol](https://modelcontextprotocol.io/) server. + +Work with payroll, employees, contractors, time off, and reports. + +## Install + +1. Open **Cursor Settings → Plugins**. +2. Search for **Gusto**. +3. Click **Install**, then complete the Gusto sign-in prompt. + +Or run `/add-plugin gusto` in chat. + +## MCP + +```json +{ + "mcpServers": { + "gusto": { + "type": "http", + "url": "https://mcp.api.gusto.com/" + } + } +} +``` + +Auth is OAuth with Dynamic Client Registration and PKCE. Cursor registers itself and opens Gusto's sign-in when the plugin connects: sign in, pick the company if you have more than one, choose the data categories to share, and authorize. There is no API key or client ID to configure. + +## Before you connect + +You need a Gusto account with global or full admin permissions. + +## What agents can do + +Access is limited to the data categories you grant during sign-in. The server covers: + +| Area | Examples | +| --- | --- | +| Company | Company details, locations, departments, onboarding status, bank accounts | +| Payroll | Payrolls, pay schedules, hours and earnings, payroll reports, running payroll | +| People | Employees, jobs, compensation, benefits, custom fields | +| Contractors | Contractors and contractor payments | +| Time | Time-off policies and requests, timesheets | +| Reports | Company reports | + +Call `get_token_info` to see which scopes the current connection has. The hosted runtime is the source of truth for tool names and schemas. + +## Notes + +- Some tools change data in Gusto, including running payroll. Review every tool call before you approve it, and keep auto-run off for this server. +- Gusto recommends using its server in isolation, without other MCP servers in the same chat, so payroll and employee data is not passed to another service. +- Opt out of model training in your client settings. Gusto's commitment not to train on your data does not cover the client you connect. +- To change or revoke access, disconnect the server and sign in again, or remove the plugin. + +## Docs + +- Gusto MCP docs: https://docs.gusto.com/app-integrations/docs/mcp +- Product page: https://gusto.com/product/integrations/gusto-mcp +- Server URL: https://mcp.api.gusto.com/ +- Support: mcp@gusto.com + +Logo is Gusto's official mark. + +## License + +MIT diff --git a/third_party/gusto/assets/logo.png b/third_party/gusto/assets/logo.png new file mode 100644 index 000000000..ac6bf1757 Binary files /dev/null and b/third_party/gusto/assets/logo.png differ diff --git a/third_party/gusto/mcp.json b/third_party/gusto/mcp.json new file mode 100644 index 000000000..9dc6af640 --- /dev/null +++ b/third_party/gusto/mcp.json @@ -0,0 +1,8 @@ +{ + "mcpServers": { + "gusto": { + "type": "http", + "url": "https://mcp.api.gusto.com/" + } + } +}