Commit Graph

734 Commits

Author SHA1 Message Date
Bryan Thompson 250bdfd752 Add four plugins: desktop-commander, qodo-skills, servicenow-sdk, twilio-developer-kit (#244)
Replaces #205 (qodo-skills), #207 (desktop-commander), #208 (servicenow-sdk),
and #215 (twilio-developer-kit). Those PRs are sitting on unsigned commits
from before signing was enforced; refiling with signed commits on a fresh
branch (no prior pushers) avoids the require_last_push_approval + signed-
commit deadlock.

SHAs bumped to current upstream HEAD for desktop-commander (8c03d339 ->
9c44119a), qodo-skills (8fb6b550 -> b1eb0389), and twilio-developer-kit
(0713fb1f -> 7d15b215). servicenow-sdk SHA unchanged (upstream hasn't
moved since 2026-04-28).

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-authored-by: Tobin South <tobin@anthropic.com>
2026-05-29 13:36:41 -07:00
Bryan Thompson 827b25f0cd Add vibe-prospecting plugin (#249) 2026-05-28 15:31:11 -07:00
Bryan Thompson f9800bd9b3 Add airtable plugin (#275)
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-28 04:10:16 +01:00
Bryan Thompson 82fc5d2641 Add carta plugins (cap-table, crm, investors) (#271) 2026-05-27 17:23:41 +01:00
zenexer-ant f2c8f30b5b ci: migrate scan-plugins.yml to Workload Identity Federation auth (#248)
* ci: migrate scan-plugins.yml to Workload Identity Federation auth

Replaces the static ANTHROPIC_API_KEY repo secret with Workload
Identity Federation: the scan-plugins shared action mints a GitHub
OIDC token (id-token: write) and the claude CLI exchanges it for a
short-lived bearer. The federation rule is bound to this repository
(repository_id-pinned).

Depends on anthropics/claude-plugins-community#34 (adds the WIF
inputs to the shared action). Pinned to that PR's head SHA; will
re-pin to a main-branch SHA once #34 merges.

Drops the 'Require ANTHROPIC_API_KEY' fail-closed guard — the WIF
inputs are literal in this file, so the action's skip-if-no-auth
path can't trigger. Updates the prompt-injection security comment
to reflect the short-lived bearer model.

* scan-plugins: re-pin to cpc#34 merge commit on main

claude-plugins-community#34 merged at e85f0d65b4fc87f07862e1dcdc467950514414ec — re-pinning from
the PR head SHA to the squash-merge commit on main so the pin survives
any future branch GC.
2026-05-24 14:48:50 -07:00
Jake Marsh 3bf5929025 Merge pull request #247 from anthropics/add-plugin-display-names
Add displayName to all marketplace plugin entries
2026-05-21 12:50:17 -04:00
Jake Marsh 66e9925388 Drop displayName for cockroachdb to clear policy scan
The cockroachdb plugin has a cached failing policy verdict (its
hooks/hooks.json PostToolUse hook fires on every Write|Edit|MultiEdit
with no project-relevance gate). Adding displayName put its entry in
the scan's changed set, so the cached failure blocked this PR.

Leaving the cockroachdb entry byte-identical to main keeps it out of
the changed set so the gate passes. cockroachdb still needs its hook
fixed upstream before it can carry a displayName.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-21 12:44:15 -04:00
Jake Marsh 370deb5720 feat: add displayName to all marketplace plugin entries
Render human-readable plugin names in the plugin directory instead of the
slug-humanize fallback ("Brand voice", "Cockroachdb", "Sp global").
Adds displayName to each of the 49 entries in marketplace.json.

Partner plugins can still override via their own plugin.json — the consumer
prefers a plugin's manifest displayName and falls back to the marketplace
entry value.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-21 11:36:21 -04:00
Tobin South 09f62fb4c0 Fix dead MCP server URLs: deepsense rehosted, paypal moved to SSE (#239)
The Check MCP URLs workflow (after the connection-failure probe fix in
this PR's parent) surfaced four endpoints that fail every connection:

- mcp.deepsense.ai does not resolve in DNS at all. The biorxiv, chembl,
  and clinical_trials servers were rehosted under
  hcls.mcp.claude.com (Anthropic MCP directory entries dated
  2026-01-07). Paths are unchanged; only the host moved. All three
  return a complete MCP initialize response with no auth.

- mcp.paypal.com/mcp returns 404 at every path. PayPal's live endpoint
  is /sse (SSE transport, not streamable HTTP) and returns 401 with
  WWW-Authenticate: Bearer realm="OAuth" — alive, OAuth required.
  Their docs claim /http for streamable transport but it returns 404
  today. Type changed http -> sse to match the actual transport.

Anyone with the bio-research or small-business bundle installed gets
connect failures on every agent spawn until this lands.
2026-05-19 10:36:53 -07:00
Bryan Thompson 2ba85d9732 Add vanta-mcp-plugin to marketplace (#230)
Co-authored-by: Tobin South <tobin.south@gmail.com>
2026-05-19 12:01:39 -05:00
Bryan Thompson 938a43de7c bio-research: drop three dead deepsense.ai MCP URLs (#243)
`mcp.deepsense.ai` is NXDOMAIN — the entire subdomain has been
torn down (parent deepsense.ai still resolves; only the MCP service
is gone). The three connectors served from it (biorxiv, c-trials,
chembl) all fail the "Check MCP URLs" liveness workflow added in
#236 and block every open PR that touches marketplace.json.

Mirrors the `servicenow` removal from #238 — the only truly-dead
case in that cleanup; the rest were repointed. There is no
discoverable migration target for the deepsense MCP service.

Skills are not affected: `bio-research/CONNECTORS.md` documents
the plugin as tool-agnostic via `~~literature` / `~~chemical
database` / `~~clinical trials` placeholders. Users connect any
working MCP server in the relevant category (CONNECTORS.md already
lists alternatives: Google Scholar, Semantic Scholar, EU Clinical
Trials Register, PubChem, DrugBank).

CONNECTORS.md still references the removed server names under
"Included servers"; the plugin owner can update that copy as a
follow-up if they want to keep it strictly accurate.

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-19 09:49:55 -07:00
Bryan Thompson 9ef66501c8 small-business: repoint paypal MCP URL (/mcp -> /sse) (#242)
PayPal migrated their MCP endpoint from Streamable HTTP at `/mcp` to
SSE at `/sse`. Old URL now returns 404 ("gone"); new URL returns
401 (alive, needs auth) and advertises full OAuth discovery including
DCR at /.well-known/oauth-authorization-server.

Matches the repoint pattern from #238 (datadog, apollo, outreach
moved paths; only servicenow was truly dead) and the type:http +
/sse convention already used by `square` in this same file.

Unblocks the "Check MCP URLs" liveness workflow (#236) which has
been failing every open PR on the paypal 404.

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-19 09:49:35 -07:00
Bryan Thompson 2068029d25 Bump zoominfo SHA to 14752e45 (v1.0.1) (#234) 2026-05-19 09:39:11 -07:00
Bryan Thompson 9b761430f3 Bump zapier plugin SHA + normalize URL (#217)
* Bump zapier plugin SHA to f34a785

* Normalize zapier source.url to full HTTPS .git form
2026-05-19 09:27:45 -07:00
Tobin South 7838f2a3f6 Bump 13 plugin SHA pins to upstream HEAD; pin figma and adobe-for-creativity (#237)
figma and adobe-for-creativity had no source.sha at all -- they fetched
whatever upstream HEAD happened to be at install time. Add a pin to
their current default-branch HEAD. The remaining 13 entries had pins
that lagged upstream; update them to current HEAD.
2026-05-19 08:45:49 -05:00
Tobin South 6445c15068 Add SHA bump pipeline, policy scan, and MCP URL liveness check (#236)
* Add SHA bump pipeline, policy scan, and MCP URL liveness check

Brings this marketplace's CI in line with claude-plugins-official:

- bump-plugin-shas.yml: nightly sweep that bumps every external entry's
  pinned SHA to upstream HEAD, validates each at the new SHA, opens one
  signed PR (createCommitOnBranch satisfies required_signatures), and
  dispatches the policy scan on the bump branch.

- scan-plugins.yml: Claude policy review of changed external entries.
  Caches verdicts in Actions cache keyed (plugin, sha, policy hash) so
  the nightly force-reset doesn't re-burn scan time on already-reviewed
  SHAs. Cached pass/fail verdicts are served from disk; only uncached
  SHAs are scanned. Fails closed when ANTHROPIC_API_KEY is unset.
  Designed to be a required status check on main.

- revert-failed-bumps.yml: drops policy-failing entries from a bump PR
  via a follow-up signed commit and re-dispatches the scan, so one bad
  upstream can't block the rest. Bounded at 3 passes/night, restricted
  to SHA-only diffs and first-party-repo PRs.

- check-mcp-urls.yml: probes every http/sse MCP server URL declared by
  vendored plugins. Fails on 404/410/unreachable; passes on auth/method
  errors (expected without credentials). Deduplicates shared servers so
  cost is bounded by unique URLs, not (plugins x servers). Skips empty
  and templated URLs.

- .github/policy/: the policy prompt and structured-output schema the
  scan reviews against.

Two operator steps after merge:
1. Set the ANTHROPIC_API_KEY repo secret (the scan refuses to silently
   skip a required policy review without it).
2. Add a required_status_checks ruleset on main requiring the `scan`
   check from GitHub Actions. Adding it before this merges would block
   every PR.

* Fix MCP URL probe: connection failure was reported as PASS

curl writes "000" to -w '%{http_code}' on a connection failure AND exits
nonzero. The previous fallback put the echo inside the command
substitution — both wrote, the captured value was "000000", and the
case statement's 000) arm didn't match, so dead hosts fell through to
PASS. Move the fallback assignment outside the substitution so the
captured value is exactly "000" and connection failures fail.
2026-05-18 21:19:13 -07:00
Den Delimarsky 58da91d19d Fix dead MCP server URLs in bundled plugins (apollo, outreach, datadog; remove servicenow) (#238)
- sales: apollo api.apollo.io/mcp -> mcp.apollo.io/mcp
- sales: outreach mcp.outreach.io/mcp -> api.outreach.io/mcp/
- engineering: datadog mcp.datadoghq.com/mcp -> mcp.datadoghq.com/api/unstable/mcp-server/mcp
- operations: remove servicenow (mcp.servicenow.com does not resolve;
  ServiceNow's MCP server is per-instance, no shared hosted URL exists)

All replacement URLs verified live (401/405 on bare GET, i.e. endpoint
exists and is auth-gated / POST-only). All replaced URLs verified dead
(404 or DNS NXDOMAIN). gcal/gmail intentionally untouched; see PR body.
2026-05-19 04:57:22 +01:00
Matt Piccolella a0fda662dd Merge pull request #226 from anthropics/add-small-business-plugin
Add small-business plugin
2026-05-13 08:56:28 -07:00
Matt Piccolella c027250835 Refine smb-onboard connector tone: lead with capability, not platform
- Add 'Tone for connectors' section to SKILL.md: describe what Claude can
  do once connected, not what the platform sells
- Rework step 2 to name functions first, check what the owner uses, then
  branch on supported vs unsupported tools
- Add Branch B (unsupported tool) example to happy-path.md
- Add 'pitching the platform instead of the capability' gotcha
2026-05-13 08:54:59 -07:00
Matt Piccolella 2e47e5b11f Add remote MCP URLs for QuickBooks, PayPal, Gmail, Google Calendar, and Google Drive 2026-05-12 16:07:05 -07:00
Matt Piccolella 2c70580988 Add .mcp.json connector definitions for small-business plugin 2026-05-12 14:54:37 -07:00
Matt Piccolella 7b1d6509d3 Add small-business plugin
Pre-built small business workflows: payroll planning, month-end close,
weekly briefs, growth campaigns, contract review, CRM hygiene, and more.
31 skills (15 atomic + 15 workflow commands + 1 router/onboarding) built
around QuickBooks, PayPal, HubSpot, Canva, DocuSign, Gmail/Outlook, and
other small-business tools.

- Add small-business/ with skills, plugin.json, and README
- Register plugin in .claude-plugin/marketplace.json
2026-05-12 14:51:32 -07:00
Matt Piccolella 65f6fdbb53 Merge pull request #220 from anthropics/add-consensus-mcp
Add Consensus MCP server to bio-research plugin
2026-05-08 11:55:53 -07:00
Matt Piccolella 75dde07540 Add Consensus MCP server to bio-research plugin
Add the Consensus academic literature search connector
(https://mcp.consensus.app/mcp) under the literature category.
Update CONNECTORS.md and README.md tables, and bump the plugin
version to 1.2.0.
2026-05-08 11:35:56 -07:00
Bryan Thompson 9789ea78ad Add sp-global plugin (#206) 2026-04-30 20:26:08 +01:00
Bryan Thompson 93fefd09fa Add lseg plugin (#204) 2026-04-30 20:21:22 +01:00
abibbs-ant f30aca0e88 Update Adobe for creativity description (#203)
At the request of Adobe, this updates Adobe for creativity's description
2026-04-30 06:28:26 -05:00
Bryan Thompson 10b5d42419 Refresh SHA pins for 14 partner plugins (#201)
Bumps git-subdir/url SHAs to current upstream main HEAD:

- adspirer-ads-agent: aa70dbd -> c40623f
- sanity-plugin: 4b1fb10 -> bc09fa9
- mintlify: ce435be -> acd6d2e
- daloopa: b5641f5 -> cc0d096
- zapier: b93007e -> ecd7c72
- intercom: eeef353 -> 62773a7
- cockroachdb: a54566e -> 9e34f57
- fastly-agent-toolkit: d9ba949 -> 4f9f319
- cloudinary: 137c5d7 -> 7b443d7
- nimble: cf391e9 -> 626930f
- brightdata-plugin: e671da4 -> d0eeb1f
- atlan: acdf284 -> 790398c
- ai-firstify: 7f18e11 -> 852272e
- postiz: c5d1bf5 -> d76c99a

Plugin path verified accessible on each new SHA. JSON validates.
2026-04-29 12:31:01 -07:00
Bryan Thompson 57f5166ca7 Add miro plugin (#181) 2026-04-29 20:05:35 +01:00
Tobin South 0dcd092d0e Unpin adobe-for-creativity to track main (#200)
Remove the SHA pin so the plugin tracks ref:main like other
partner-sourced entries (e.g. figma). Upstream updates will flow
through without a re-pin.
2026-04-29 20:00:12 +01:00
Bryan Thompson bbaf07e921 Add bigdata-com plugin (#190) 2026-04-29 19:51:09 +01:00
Tobin South 16ac27f257 Add Box plugin to marketplace (#196) 2026-04-28 08:11:02 -05:00
Tobin South 902e91469a Add adobe-for-creativity plugin (#197)
Adobe's Creative Cloud skills for image editing, design automation,
background removal, vectorization, and retouching. Points at the
plugins/creative-cloud/adobe-for-creativity subdir of adobe/skills,
SHA-pinned to current main.
2026-04-28 06:44:04 -05:00
Aromal A d6c8015c2f Update LICENSE with syntax-file and code integration (#193)
Added new section for syntax-file and code integration details.
2026-04-28 05:51:32 +01:00
Bryan Thompson 8f8779a168 Normalize em-dash escapes in marketplace.json (#195)
Convert 10 description-field em-dash escapes (\u2014) back to literal
UTF-8 (—) to match the file's encoding policy enforced by the pre-commit
hook. No functional change.

Affected entries: apollo, engineering, human-resources, design,
operations, cockroachdb, nimble, searchfit-seo, product-tracking-skills,
pdf-viewer.
2026-04-28 05:50:59 +01:00
Tejas Dharani 8f9d2d9300 fix(engineering): correct GitHub MCP server URL (#172)
api.github.com/mcp returns 404 — the route does not exist.
Correct endpoint is api.githubcopilot.com/mcp/ (verified from
claude-plugins-official/external_plugins/github/.mcp.json).

Fixes #168
2026-04-26 20:00:29 +01:00
bhosmer-ant 86a8570fb3 Merge pull request #189 from anthropics/basil/slack-oauth-client-id
fix(mcp): add Slack OAuth clientId to all role plugins
2026-04-23 12:14:59 -04:00
Basil Hosmer 39a57c5c8e fix(mcp): add Slack OAuth clientId to all role plugins
Slack's auth server does not support dynamic client registration, so a
bare {type, url} config fails in Claude Code with "Incompatible auth
server: does not support DCR" before the OAuth prompt appears.

Cowork/Desktop resolve these via the claude.ai connector directory and
don't hit this, but Claude Code does raw OAuth against the URL. The
broken entry also shadows the working claude.ai Slack passthrough
(manual > plugin > claude.ai dedup), so users lose Slack entirely.

Adds the same oauth.{clientId, callbackPort} block already present in
partner-built/slack/.mcp.json to all 12 role plugins.

Refs: anthropics/claude-code#38229
2026-04-23 11:54:32 -04:00
lee-weisberger 3b505c1046 Rename google-calendar MCP key and clear gmail/gcal URLs (#184)
Across all plugin .mcp.json files:
- Rename "google-calendar" key to "google calendar"
- Replace gmail and google calendar URLs with empty string placeholders
2026-04-21 16:05:35 -04:00
Tobin South 8fd1c52243 Revert "add(plugin-json): zoom-plugin external source (#175)" (#176)
This reverts commit 3f12086a1a.
2026-04-10 00:44:08 +01:00
Bryan Thompson 3dc15bdb60 Add Zoom partner plugin (zoom-plugin) (#174)
Official Zoom plugin with 30 skills covering the Zoom Developer Platform:
REST APIs, Meeting SDK, Video SDK, webhooks, OAuth, bots, and MCP workflows.
Bundles 3 remote MCP connectors (meetings, docs, whiteboard) hosted at zoom.us.

Zoom MCP connector passed internal review (Anthony Bibbs, 2026-04-07).

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 00:28:06 +01:00
Tobin South 3f12086a1a add(plugin-json): zoom-plugin external source (#175) 2026-04-09 22:12:37 +01:00
Jason Morrison 976999efd8 Restore bio-research to marketplace.json (#165)
The bio-research entry was removed in 2d6f7e2 (PR #115) without a stated
reason, but the plugin directory was migrated and continues to be
maintained. This restores the original entry pending confirmation that
the removal was intentional.
2026-04-03 21:12:34 +01:00
Olivier Chafik f55b539c38 Merge pull request #72 from bryan-anthropic/add-pdf-research-plugin
Add pdf-viewer plugin with local MCP server
2026-03-28 02:13:30 +00:00
Bryan Thompson fc8d9b299b Merge upstream main: resolve marketplace.json conflict
Upstream added 28 plugins since February (partners, URL-source).
Keep all upstream entries, append pdf-viewer.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-26 09:38:27 -05:00
Bryan Thompson f0c53a1c2e Rescope pdf-research → pdf-viewer: annotation, form-fill, sign commands
Rescope pdf-research → pdf-viewer: expose annotation, form-filling, signing
2026-03-26 09:33:03 -05:00
Olivier Chafik 5d244b91f1 Add -y flag to npx to avoid first-install prompt hanging MCP connection
Without -y, npx prompts 'Ok to proceed? (y)' on first install of a
package, which hangs the stdio MCP connection (no TTY to answer).

Keeping version unpinned (auto-latest) — currently pulls 1.3.1 which
has the interact/annotation capabilities. Tested end-to-end via
'claude --plugin-dir pdf-viewer/'.
2026-03-25 17:17:19 +00:00
Olivier Chafik 379948a788 Rename pdf → pdf-viewer, skill → view-pdf; refine trigger description
Plugin name: pdf → pdf-viewer
- 'Viewer' makes the interactive/visual modality self-evident
- Naturally explains why NOT to use for summarization
- Matches enterprise-search precedent (capability-named, not job-function)

Skill name: pdf → view-pdf
- Verb-noun matches repo convention (review-contract, triage-nda)

Trigger description (SKILL.md frontmatter):
- Hybrid style: situation framing + verb list for keyword matching
- Includes 'open, show, view' so bare 'open this PDF' triggers the
  skill — SKILL body then disambiguates viewer vs Read
- Keeps 'Not for summarization (use Read)' guard

Marketplace/plugin.json description:
- Marketing-oriented (benefits-first) to match other plugins' style
- 'View, annotate, sign... Mark up contracts, fill forms with visual
  feedback, stamp approvals, place signatures — download annotated copy'

Updated all /pdf:* cross-references → /pdf-viewer:*
2026-03-24 15:27:07 +00:00
Olivier Chafik 9ba70e2d1b Address review: fix accuracy, conventions, emphasize visual form-filling
Accuracy:
- list_pdfs: 'remote origins' → 'local directories' (server has no
  remote allowlist, any HTTPS works)
- get_screenshot: 'PNG' → 'image' (server returns JPEG)
- Supported sources: clarify only arXiv auto-converts /abs/→PDF;
  others need direct PDF URLs

Conventions (matching legal/, productivity/ patterns):
- Add argument-hint frontmatter to all 4 commands
- Add CONNECTORS.md callout to all commands

Positioning — form filling:
- Emphasize this is VISUAL form filling (vs programmatic tools)
- Document the unnamed-field workflow: screenshot → match bounding
  boxes to visual labels → fill by name. Many real PDFs have fields
  named 'Text1', 'Field_7' with labels only on the rendered page.
- User gets live feedback and can edit directly in viewer
2026-03-24 15:15:03 +00:00
Olivier Chafik e925679b24 Rescope pdf-research → pdf: expose annotation, form-filling, signing
The underlying @modelcontextprotocol/server-pdf gained an `interact`
tool with 10 annotation types (highlight, underline, strikethrough,
note, rectangle, circle, line, freetext, stamp, image), form filling,
auto-highlight-text, page extraction, and annotated-PDF download.

This reshapes the plugin around interactive workflows:

- Rename plugin: pdf-research → pdf
- Rename skill: pdf-reading → pdf (unified, covers all capabilities)
- Commands: drop /summarize, rename /read → /open, add /annotate,
  /fill-form, /sign
- SKILL.md: document interact tool, all annotation types, coordinate
  system, interactive workflows (AI-driven annotate, form filling,
  visual signing)
- Positioning: explicitly steer AWAY from viewer for pure ingestion
  (use native Read instead) — the viewer's value is user interactivity
- /sign disclaimer: visual signature image, not certified digital sig

Out of scope (documented): summarization, cert signing, PDF generation.
2026-03-24 15:12:30 +00:00