Skip to content

Add WhatSetter third-party MCP plugin - #389

Open
devlikemasta wants to merge 1 commit into
cursor:mainfrom
whatsetter:add-whatsetter
Open

devlikemasta wants to merge 1 commit into
cursor:mainfrom
whatsetter:add-whatsetter

Conversation

@devlikemasta

@devlikemasta devlikemasta commented Sep 17, 2026

Copy link
Copy Markdown

Summary

  • Add the whatsetter plugin under third_party/whatsetter/, pointing at WhatSetter's hosted MCP server (https://mcp.whatsetter.com/mcp) over Streamable HTTP. WhatSetter is an AI appointment setter on WhatsApp; the plugin lets agents work the inbox and the leads it handles, review booked meetings, import contacts, pause or resume campaigns, and, with explicit approval, send a WhatsApp message from a connected number.
  • Auth is OAuth 2.1 with Dynamic Client Registration and PKCE, discovered from the server (WWW-Authenticate + /.well-known/oauth-protected-resource), the same model as the Intercom plugin: no API key, no client ID, no template variable. On the consent page the user pastes a WhatSetter API key whose scopes they chose; Cursor only holds a revocable token.
  • Bundles the whatsetter skill (skills/whatsetter/SKILL.md): operating rules, playbooks (briefing, inbox triage, import, bookings, campaigns, CRM sync, groups) and the API's real error table, so the agent reads tool results correctly and asks before anything is sent. Markdown only: no hooks, no scripts, no commands.
  • Register the plugin in .cursor-plugin/marketplace.json and the root README table (Integrations, author WhatSetter).

Notes for reviewers

  • Source of truth for the plugin is the WhatSetter organization's repository, https://github.com/whatsetter/whatsetter-plugin (MIT, verified domain whatsetter.com); this directory is its Cursor packaging. The same repo is submitted to the xAI plugin marketplace (Add WhatSetter plugin xai-org/plugin-marketplace#759).
  • Protected-resource metadata: https://mcp.whatsetter.com/.well-known/oauth-protected-resource (authorization server on the same host, S256 PKCE, authorization_code + refresh_token). An unauthenticated POST /mcp answers 401 with resource_metadata in WWW-Authenticate.
  • Every tool carries readOnlyHint / destructiveHint annotations. send_whatsapp_message is the only tool that reaches a person; anti-ban limits (lead_not_contacted, quota_exceeded, idempotency keys) are enforced by the API, not by the prompt.
  • The same plugin was submitted through cursor.com/marketplace/publish last week (no acknowledgement so far); this PR carries the packaging so it can be reviewed here.
  • Logo is WhatSetter's brand mark on a white tile (512×512 PNG, 40 KB).

Test plan

  • node scripts/validate-plugins.mjs passes (after npm install --no-save ajv ajv-formats)
  • Local install in Cursor 3.13 (~/.cursor/plugins/local/whatsetter): the plugin, its MCP server and the whatsetter skill are listed under Customize; the first tool call opens the Connect to WhatSetter page; after approval whoami returns the workspace and 23 tools load
  • Install from Cursor Settings → Plugins or /add-plugin whatsetter, complete the Connect to WhatSetter step
  • Smoke test: "Give me my WhatSetter briefing" (read-only), then pause and resume a campaign

Note

Medium Risk
New integration exposes scoped tools that can message leads, change campaigns, and manage webhooks on a user-connected WhatSetter workspace; repo impact is additive packaging only.

Overview
Adds the WhatSetter third-party Cursor plugin under third_party/whatsetter/ and registers it in .cursor-plugin/marketplace.json and the root README integrations table.

The package wires agents to WhatSetter’s hosted Streamable HTTP MCP at https://mcp.whatsetter.com/mcp via mcp.json and plugin.json (Cursor 3.13.0+, author WhatSetter). Auth is server-discovered OAuth 2.1 with DCR/PKCE—no API key or client ID in the repo manifest.

It also ships the whatsetter skill (skills/whatsetter/SKILL.md): operating rules (explicit approval before send_whatsapp_message, no cold outreach, quota handling), playbooks (briefing, inbox, imports, campaigns, bookings, CRM/webhooks, groups), and API error handling. Supporting files are README, CHANGELOG, and MIT LICENSE.

Reviewed by Cursor Bugbot for commit 1c32d3b. Bugbot is set up for automated code reviews on this repo. Configure here.

WhatSetter is an AI appointment setter on WhatsApp. The plugin points at
WhatSetter's hosted Streamable HTTP MCP server (https://mcp.whatsetter.com/mcp,
OAuth 2.1 with DCR and PKCE, nothing to configure) and bundles the whatsetter
skill: operating rules, playbooks, and the API's error table.

Registers the plugin in .cursor-plugin/marketplace.json and the README table.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant