Docusign MCP requires a confidential OAuth Integration Key and Secret,
plus a demo or production Streamable HTTP URL, so the plugin declares
DOCUSIGN_MCP_URL, CLIENT_ID, and CLIENT_SECRET variables.
Co-authored-by: Cursor <cursoragent@cursor.com>
Circleback ships an official remote MCP server over Streamable HTTP with
OAuth and Dynamic Client Registration, so the plugin is a URL-only
mcp.json with no variables block.
Co-authored-by: Cursor <cursoragent@cursor.com>
Intercom ships an official remote MCP server over Streamable HTTP with
OAuth and Dynamic Client Registration, so the plugin is a URL-only
mcp.json with no variables block.
Co-authored-by: Cursor <cursoragent@cursor.com>
HubSpot's remote CRM MCP requires a dedicated MCP auth app with OAuth
(PKCE), so the plugin declares CLIENT_ID and CLIENT_SECRET variables
and points at https://mcp.hubspot.com.
Co-authored-by: Cursor <cursoragent@cursor.com>
Ashby ships an official remote MCP server over Streamable HTTP with
per-user OAuth and dynamic client registration, so the plugin is a
URL-only mcp.json with no variables block.
Co-authored-by: Cursor <cursoragent@cursor.com>
Connects Cursor to X's hosted MCP server at https://api.x.com/mcp using the
app-only Bearer route, which is read-only and needs no local xurl bridge or
browser OAuth login.
Logo is X's official mark from the X brand toolkit (about.x.com), placed on a
black tile matching X's own app icon.
Co-authored-by: Alex Vandak Maloney <maloney.a12@gmail.com>
Both vendors ship official first-party remote MCP servers over Streamable
HTTP with OAuth 2.0 and no API key, so each plugin is a URL-only mcp.json
with no variables block.
Named the Apollo plugin apollo-io to avoid colliding with Apollo GraphOS,
which ships an unrelated self-hosted MCP server. Both vendors prohibit AI
model training on data pulled through MCP, so both READMEs call that out.
Co-authored-by: Sam Sokolin <SamSokolin@users.noreply.github.com>
* Add Playwright and GitHub third-party MCP plugins
Wire Microsoft's local Playwright MCP (npx stdio) and GitHub's remote
MCP server (PAT auth) into the marketplace, matching existing third_party
plugin layout and manifests.
Co-authored-by: Sam Sokolin <SamSokolin@users.noreply.github.com>
* Pass -y to npx for Playwright MCP
Avoid first-launch hangs when npx would otherwise prompt for
install confirmation over non-interactive MCP stdio.
Co-authored-by: Sam Sokolin <SamSokolin@users.noreply.github.com>
---------
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Sam Sokolin <SamSokolin@users.noreply.github.com>
Zoom's remote MCP servers only support manual OAuth client registration
(no DCR/CIMD), so this follows the Gong pattern: admin-registered
CLIENT_ID/CLIENT_SECRET forwarded through MCP auth, plus a per-user
OAuth login.
Points at the main zoom server, which covers meeting search, cross-Zoom
search, recordings, summaries, meeting assets, and main-server Zoom Docs
tools. Docs, Whiteboard, and Team Chat servers are documented in the
README rather than bundled.
Co-authored-by: Cursor <cursoragent@cursor.com>
Both mcp.json files declared $schema: https://cursor.com/schemas/mcp.json.
parsePluginMcpConfig treats any $schema outside SUPPORTED_SCHEMA_IDS (the two
agent-plugins.org 1.0.0 ids) as unsupported and returns null, so indexing found
zero MCP servers and both plugins registered with no components.
The Google plugins omit $schema entirely, which is why they were unaffected.
Removing the key restores discovery.
Co-authored-by: Cursor <cursoragent@cursor.com>
The cloud mark is opaque, so a transparent canvas reads correctly on both
light and dark backgrounds. Geometry is unchanged.
Co-authored-by: Cursor <cursoragent@cursor.com>
Gong uses its official 180x180 apple-touch icon as-is; it already ships a
purple ground and rounded corners.
Salesforce publishes no square icon larger than a 32px favicon, so the logo
is built from their official cloud mark (vector, 262x184) centered on a
192x192 white tile with padding — same treatment as the Google plugins.
Co-authored-by: Cursor <cursoragent@cursor.com>
Completes the third_party grouping so all vendor MCP integrations live in
one place. Updates marketplace source paths, root README links, and the
tree/main homepage URLs in each manifest.
Safe for already-published plugins: the indexer keys plugin identity on
(marketplaceId, name), so a re-index updates gitPath in place rather than
creating a new row, and deprecation is name-based too. Logos stay relative
to the plugin root and re-resolve against the new basePath.
Co-authored-by: Cursor <cursoragent@cursor.com>
Moves gong/ and salesforce/ to third_party/ and points their marketplace
`source` paths at the new location. Nested source paths resolve fine:
resolvePluginSourcePath treats source as a relative path and only strips a
leading ./
Co-authored-by: Cursor <cursoragent@cursor.com>
Adds two MCP integration plugins to the public marketplace and extends the
plugin schema with a `variables` block so manifests can declare
user-configured values.
Gong forwards CLIENT_ID/CLIENT_SECRET into MCP auth. Salesforce Hosted MCP
is a PKCE public client, so it takes a consumer key with no secret, pins the
mcp_api and refresh_token scopes, and templates the whole server URL because
it varies by org type (production vs sandbox) and server kind
(platform vs custom).
Co-authored-by: Cursor <cursoragent@cursor.com>
Drop the three Workspace MCP plugins from the marketplace and delete their plugin directories. Gmail, Drive, and Calendar stay.
Co-authored-by: Alex Vandak Maloney <maloney.a12@gmail.com>
<!-- CURSOR_AGENT_PR_BODY_BEGIN -->
All six Google plugin logos (Gmail, Calendar, Docs, Drive, Sheets, Slides) were transparent-background SVGs whose artwork ran to within 8px of the 192px canvas edge. Against Cursor's dark UI chrome that reads as loose colored marks with no tile, and the glyphs crowd whatever container the client draws around them.
Each logo now gets:
- a full-bleed white `<rect>` behind the artwork, so the icon reads as an app tile in both light and dark themes;
- the original Google artwork inset by 12px — a `translate(12 12) scale(0.875)` group around the existing content — which leaves roughly 19px (10%) of white between the glyph and the tile edge;
- a `viewBox="0 0 192 192"` on the four logos that previously declared only `width`/`height`, so they scale cleanly at any render size.
The artwork itself is untouched: same paths, gradients, masks, and filters from the official 2026 product logos, just uniformly scaled. Applying one scale factor to all six preserves the relative optical sizing Google designed into the family rather than normalizing each glyph's bounding box independently.
READMEs and changelog entries note that the shipped asset is the official icon on a padded white tile.
Rendered with headless Chrome at 24/32/48/96px on a dark background, with rounded-corner masking to approximate how the client is likely to clip them:

`node scripts/validate-plugins.mjs` passes.
<!-- CURSOR_AGENT_PR_BODY_END -->
<div><a href="https://cursor.com/agents/bc-cc691b8a-1190-47ae-a8e4-58fa8e2fcb7b?cursor_ref=pr_footer&cursor_cta=open_in_web"><picture><source media="(prefers-color-scheme: dark)" srcset="https://cursor.com/assets/images/open-in-web-dark.png"><source media="(prefers-color-scheme: light)" srcset="https://cursor.com/assets/images/open-in-web-light.png"><img alt="Open in Web" width="114" height="28" src="https://cursor.com/assets/images/open-in-web-dark.png"></picture></a> <a href="https://cursor.com/background-agent?bcId=bc-cc691b8a-1190-47ae-a8e4-58fa8e2fcb7b&cursor_ref=pr_footer&cursor_cta=open_in_cursor"><picture><source media="(prefers-color-scheme: dark)" srcset="https://cursor.com/assets/images/open-in-cursor-dark.png"><source media="(prefers-color-scheme: light)" srcset="https://cursor.com/assets/images/open-in-cursor-light.png"><img alt="Open in Cursor" width="131" height="28" src="https://cursor.com/assets/images/open-in-cursor-dark.png"></picture></a> </div>
Each of the six Google plugin logos was a transparent-background SVG whose
artwork ran to within 8px of the 192px canvas, which reads poorly against
Cursor's dark UI chrome. Add a full-bleed white backdrop, inset the artwork
by 12px (0.875 scale about center), and add the missing viewBox to the four
logos that only declared width/height.
Co-authored-by: Alex Vandak Maloney <maloney.a12@gmail.com>
* docs(pstack): complete the poteto-mode route map
The guide's route paragraph predates the autopilot playbooks, so a
reader browsing routes never learns a PR queue can run on autopilot.
Add that route, and give worktree cleanup a prompt in the section
that tells readers to fan out worktrees in the first place.
Co-authored-by: lauren <poteto@users.noreply.github.com>
* docs(pstack): teach /no-comments and Comment Sicko in the cleanup chapter
The cleanup habit covered /deslop and /unslop but not the comment
pass, so readers never met Comment Sicko or the constraint-encoding
offer. Add the before-review step and state the deslop / unslop /
no-comments division of labor.
Co-authored-by: lauren <poteto@users.noreply.github.com>
* docs(pstack): cover Babysit and Shipping after the PR opens
The chapter ended at opening the PR and a note claiming pstack
bundles no PR monitoring. That note is stale: Babysit ships with the
watch-pr watcher and Shipping lands verified stacks through Graphite
merge-when-ready. Replace it with the two playbooks, their prompts,
and the merge-ready versus land distinction.
Co-authored-by: lauren <poteto@users.noreply.github.com>
* docs(pstack): teach the autopilots and orchestrate in the overnight chapter
The chapter covered one task per night and nothing bigger, so the
queue and program playbooks had no home in the guide. Add
autopilot-full, autopilot-stack, and orchestrate with prompts and
the rule for choosing between them.
Co-authored-by: lauren <poteto@users.noreply.github.com>
* docs(pstack): introduce /technical-writing and /bro in the later chapters
Both skills shipped without a guide mention. /technical-writing sits
with skill authoring, where readers already write prose that agents
and humans consume. /bro joins the recipes as the one-word prompt for
a jargon-free restatement.
Co-authored-by: lauren <poteto@users.noreply.github.com>
* docs(pstack): technical-writing pass over the new guide prose
Fixes traced to the skill's rules. Split sentences carrying two or
three thoughts (STE). Moved 'only' next to what it changes and gave
the merge-ready heading a real subject instead of 'it' (Global
English). One name per thing: uncommitted work, Autopilot-full,
verdict instead of say-so. Replaced unglossed jargon with plain
words: 'drains completions' and 'merge frontier' now say what the
coordinator does, 'the real surface' is now 'proves the behavior
live'.
Co-authored-by: lauren <poteto@users.noreply.github.com>
---------
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
* pstack: add /bro, restate the last message in plain language
* poteto-mode: add babysit, shipping, orchestrate, and worktree-cleanup playbooks
Ships the watch-pr status watcher, the orch coordinator CLI, and
worktree-audit.sh under scripts/, plus a Bugbot triage rubric under
references/. Wires the new playbooks into the mode's triggers and
catalog, and repoints autopilot babysit references at the bundled
playbooks.
* pstack: catch-up edits to unslop, automate-me, type-system-discipline, poteto-agent
unslop gains the cross-project swap test, more banned metaphor nouns,
and plainer rule titles. automate-me learns nested personal-category
mode skills. principle-type-system-discipline states the define-errors-
out-of-existence rule. poteto-agent defaults to background execution.
* pstack 0.14.0: README and guide updates for the new skill and playbooks
* fix(pstack): queued babysit stops on WAITING/merge-queue, not READY
Queued watch-pr never emits READY; a green frontier is non-terminal
WAITING with reason merge-queue. The playbook wrongly told agents to
wait for READY, which hangs drive with the default timeout.
* Port Comment Sicko foreign-gotcha tip and no-comments step 5
Catch up to the merged tip: our-code surprises die with MUST KILL
reshape, foreign/unowned keeps survive, step 5 simplified. Sanitize
how/why and principle paths for the public plugin.
* Fix capitalization after principle path sanitize
---------
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
* pstack: add autopilot and writing workflows
Co-authored-by: lauren <poteto@users.noreply.github.com>
* pstack: tighten autopilot handoff rules
Co-authored-by: lauren <poteto@users.noreply.github.com>
* pstack: restore tip-faithful Sicko/no-comments and full autopilot ports
Prior commit reconstructed these from secondary metadata. Restore from
the real tip/main sources with only public-path edits.
* pstack: fix Comment Sicko spawn path and add /no-comments to Opening a PR
Spawn Comment Sicko by subagent_type alone; the hardcoded
.cursor/agents/ path does not exist on plugin installs. Add the
/no-comments pass to the Opening a PR playbook so the Before review
trigger holds outside the autopilot playbooks.
---------
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Set displayName to Gmail / Google Drive / Calendar / Docs / Sheets /
Slides and replace placeholder icons with Google's productlogos SVGs
from gstatic.
Co-authored-by: Cursor <cursoragent@cursor.com>