Compare commits

..

37 Commits

Author SHA1 Message Date
github-actions[bot]
26e5459f10 bump(aws-agents): b33847dd → a91d07d7 2026-08-07 07:52:45 +00:00
github-actions[bot]
99dc284733 bump(chrome-devtools-mcp): 6b6e1f24 → 04c2673f (#4978)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-06 19:32:21 -05:00
github-actions[bot]
c167392a1d bump(clickhouse-best-practices): 6e5458d5 → 5aec3114 (#4979)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-06 19:31:35 -05:00
github-actions[bot]
1323ae9bf9 bump(aws-data-analytics): b4416ddd → b33847dd (#4989)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-06 19:31:12 -05:00
github-actions[bot]
d3c51a6fc3 bump(fastly-agent-toolkit): ea3623d5 → 172b2fd5 (#4993)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-06 19:30:28 -05:00
github-actions[bot]
fd59bad23e bump(huggingface-skills): 32f8bb09 → 7cb53d7a (#4974)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-06 19:30:10 -05:00
github-actions[bot]
5e2770d03d bump(carta-investors): 874158e8 → 7a9428c8 (#4977)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-06 19:26:34 -05:00
github-actions[bot]
f62088cf95 bump(mattpocock-skills): 8b36d4fb → 84fdeffd (#4982)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-06 19:26:21 -05:00
github-actions[bot]
5ec22a385e bump(aws-agents): 5bf16f7b → b33847dd (#4986)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-06 19:25:51 -05:00
github-actions[bot]
247cf56f7b bump(hyperframes): 88853f17 → 9769ba2c (#4994)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-06 19:25:18 -05:00
github-actions[bot]
8f894af167 bump(logfire): 07952dc4 → f073557d (#4995)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-06 19:24:48 -05:00
github-actions[bot]
44265a615f bump(lumen): d0dee0ef → cce63058 (#4996)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-06 19:24:17 -05:00
github-actions[bot]
e7fb9ad1b7 bump(mergify): bd4f81e5 → c8624652 (#4997)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-06 19:23:43 -05:00
github-actions[bot]
ceac34cd91 bump(neon): 73bebcea → 5f198622 (#4998)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-06 19:23:08 -05:00
github-actions[bot]
1090e12d01 bump(nimble): 6b0cacad → dc6ee17b (#5001)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-06 19:22:33 -05:00
github-actions[bot]
922cd53169 bump(resend): 044372f0 → 3eb5ec23 (#5004)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-06 19:21:58 -05:00
github-actions[bot]
dbe502c81e bump(data-agent-kit-starter-pack): aa5404e8 → bd1ff5b5 (#4992)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-06 19:21:09 -05:00
github-actions[bot]
ef33a7f179 bump(aws-agents-for-devsecops): 08025af3 → b33847dd (#4987)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-06 19:20:35 -05:00
github-actions[bot]
fd42ce5b84 bump(sap-fiori-mcp-server): 4a42f977 → 6e6aeb18 (#5005)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-06 19:20:01 -05:00
github-actions[bot]
961fbcb1ee bump(carta-cap-table): 874158e8 → 7a9428c8 (#4976)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-06 19:19:24 -05:00
github-actions[bot]
ef7ceb1c42 bump(aws-core): fa924973 → b33847dd (#4988)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-06 19:19:10 -05:00
github-actions[bot]
fc9ea343b3 bump(netlify-skills): 4f19ca23 → 132eadc5 (#4999)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-06 19:18:33 -05:00
github-actions[bot]
cfc269415c bump(netsuite-suitecloud): 47a3d49a → d0069dde (#5000)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-06 19:17:56 -05:00
github-actions[bot]
3ba11cdcb4 bump(qdrant-skills): 67d7db52 → 15b556ae (#5002)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-06 19:17:17 -05:00
github-actions[bot]
be350795e0 bump(teamcity-cli): e9bbb01f → 20b57002 (#5007)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-06 19:16:38 -05:00
github-actions[bot]
cf53fff2e4 bump(sentry-cli): 94a4ca58 → 0348cdac (#5006)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-06 19:16:12 -05:00
github-actions[bot]
c40d93aa81 bump(lusha): f42bb8f6 → ed34947a (#4981)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-06 19:16:00 -05:00
github-actions[bot]
d3b6143873 bump(mercadopago): d1cb002a → 82bf0b0b (#4983)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-06 19:15:48 -05:00
github-actions[bot]
e7fee248ec bump(codspeed): 17d30982 → 60d8e487 (#4990)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-06 19:15:35 -05:00
github-actions[bot]
9e66521f24 bump(confidence): b8bdd156 → 9bb21eae (#4991)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-06 19:15:20 -05:00
github-actions[bot]
1dd1f78879 bump(remember): 0a095043 → 4f33f21c (#5003)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-06 19:15:17 -05:00
github-actions[bot]
041392b2d7 bump(wix): 9193b6e2 → ecb8b4aa (#5008)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-06 19:15:07 -05:00
Bryan Thompson
04be702cfa fix(sentry-cli): re-path source to packages/cli/plugins/sentry-cli + bump ae9a84c5 → 94a4ca58 (#4825)
Upstream getsentry/cli restructured to a pnpm-workspace monorepo
(getsentry/cli@96390e5, 2026-07-31); the pinned subdir plugins/sentry-cli
no longer exists at HEAD. The plugin moved intact to
packages/cli/plugins/sentry-cli (Sentry's own .claude-plugin/marketplace.json
declares it there; plugin version 0.40.0 -> 0.41.0). Validated at the new
path+SHA with claude plugin validate.

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-08-06 23:37:27 +00:00
Bryan Thompson
d72880f9c8 ci(validate-licenses): exempt intentionally-proprietary claude-security from the Apache-2.0 content check (#4942) 2026-08-06 18:35:01 -05:00
Bryan Thompson
13b21ea076 Add aiven plugin (#4821)
Driver: dir-plugin-add-official
2026-08-06 23:33:54 +00:00
Bryan Thompson
e99fbb8281 Add crowdstrike-falcon-fusion plugin (#4823)
Driver: dir-plugin-add-official
2026-08-06 13:50:55 -07:00
Bryan Thompson
088bee4070 Migrate Asana plugin to V2 MCP server (#4895)
* Migrate Asana plugin to V2 MCP server

The V1 beta server (https://mcp.asana.com/sse) is deprecated and shuts down
on 2026-08-05. Asana's V2 server (https://mcp.asana.com/v2/mcp) requires each
user to register their own Asana OAuth app and does not support Dynamic Client
Registration. A plugin manifest cannot carry per-user OAuth credentials, so the
bundled MCP server entry is removed in favor of a documented one-time
`claude mcp add` setup (per Asana's official Claude Code instructions).

- Remove dead V1 sse .mcp.json
- Add README with V2 OAuth setup + troubleshooting
- Add /asana-setup slash command to guide the one-time setup
- Update plugin + marketplace descriptions to reference V2

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* plugin-dev: stop using deprecated Asana V1 SSE endpoint in examples

The Asana V1 SSE server (https://mcp.asana.com/sse) is deprecated and shuts
down on 2026-08-05, and Asana V2 is streamable HTTP with manual OAuth — not
SSE with automatic (DCR) OAuth. Replace the Asana SSE examples in the
mcp-integration skill with neutral placeholders so the tutorial no longer
teaches a dead endpoint or implies Asana is a zero-config SSE/OAuth server.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

---------

Co-authored-by: Greg Dardis <86272347+greg-dardis@users.noreply.github.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-06 13:50:27 -07:00
10 changed files with 182 additions and 50 deletions

View File

@@ -121,6 +121,20 @@
},
"homepage": "https://www.airwallex.com/docs"
},
{
"name": "aiven",
"description": "Easily deploy managed PostgreSQL (pg), Kafka, OpenSearch, Clickhouse and other databases, streaming and apps. Free tier available, up and running in minutes.",
"author": {
"name": "Aiven"
},
"category": "database",
"source": {
"source": "url",
"url": "https://github.com/aiven/aiven-ai-plugins.git",
"sha": "634f41d6852957cb9280e9245f2ea6f74645b4f1"
},
"homepage": "https://aiven.io"
},
{
"name": "alloydb",
"description": "Create, connect, and interact with an AlloyDB for PostgreSQL database and data.",
@@ -258,7 +272,7 @@
},
{
"name": "asana",
"description": "Asana project management integration. Create and manage tasks, search projects, update assignments, track progress, and integrate your development workflow with Asana's work management platform.",
"description": "Asana project management integration. Connects Claude Code to Asana's V2 MCP server to create and manage tasks, search projects, update assignments, and track progress. Requires a one-time Asana OAuth app setup — run /asana-setup after installing.",
"category": "productivity",
"source": "./external_plugins/asana",
"homepage": "https://github.com/anthropics/claude-plugins-public/tree/main/external_plugins/asana"
@@ -353,7 +367,7 @@
"url": "https://github.com/aws/agent-toolkit-for-aws.git",
"path": "plugins/aws-agents",
"ref": "main",
"sha": "5bf16f7b56b4723f5fdc0f90c1901ffaba8d693a"
"sha": "a91d07d7402c518b1cf29214315eaa5ec2de778c"
},
"homepage": "https://github.com/aws/agent-toolkit-for-aws"
},
@@ -369,7 +383,7 @@
"url": "https://github.com/aws/agent-toolkit-for-aws.git",
"path": "plugins/aws-agents-for-devsecops",
"ref": "main",
"sha": "08025af3d27a1eb7c18fe06bf451df8b110e9e0e"
"sha": "b33847dd218c6ceef176cd5efdcfff50560faf7d"
},
"homepage": "https://github.com/aws/agent-toolkit-for-aws"
},
@@ -398,7 +412,7 @@
"url": "https://github.com/aws/agent-toolkit-for-aws.git",
"path": "plugins/aws-core",
"ref": "main",
"sha": "fa92497351cca80bdd90f42845cbef6bd8c5175c"
"sha": "b33847dd218c6ceef176cd5efdcfff50560faf7d"
},
"homepage": "https://github.com/aws/agent-toolkit-for-aws"
},
@@ -414,7 +428,7 @@
"url": "https://github.com/aws/agent-toolkit-for-aws.git",
"path": "plugins/aws-data-analytics",
"ref": "main",
"sha": "b4416dddac9b6a0cc5412136e6dbf8f07ffdb31c"
"sha": "b33847dd218c6ceef176cd5efdcfff50560faf7d"
},
"homepage": "https://github.com/aws/agent-toolkit-for-aws"
},
@@ -672,7 +686,7 @@
"url": "https://github.com/carta/plugins.git",
"path": "plugins/carta-cap-table",
"ref": "main",
"sha": "874158e8f1b2c58378ec150faa7773a0d24f5187"
"sha": "7a9428c864c0c78be504eae39b81053b730a11bb"
},
"homepage": "https://carta.com"
},
@@ -704,7 +718,7 @@
"url": "https://github.com/carta/plugins.git",
"path": "plugins/carta-investors",
"ref": "main",
"sha": "874158e8f1b2c58378ec150faa7773a0d24f5187"
"sha": "7a9428c864c0c78be504eae39b81053b730a11bb"
},
"homepage": "https://carta.com"
},
@@ -745,7 +759,7 @@
"source": {
"source": "url",
"url": "https://github.com/ChromeDevTools/chrome-devtools-mcp.git",
"sha": "6b6e1f241b8d3ee2d73b3f1774106ce319dd2d51"
"sha": "04c2673fa1f0408ad053e07e32ec8c0b83c428f7"
},
"homepage": "https://github.com/ChromeDevTools/chrome-devtools-mcp"
},
@@ -878,7 +892,7 @@
"source": {
"source": "url",
"url": "https://github.com/ClickHouse/agent-skills.git",
"sha": "6e5458d59b82f6f027bccb258a7be3c6cefe5e08"
"sha": "5aec3114379671f33b1c502a51d420a0729c8172"
},
"homepage": "https://clickhouse.com"
},
@@ -1013,7 +1027,7 @@
"source": {
"source": "url",
"url": "https://github.com/CodSpeedHQ/codspeed.git",
"sha": "17d3098236375c083755cc75fc5f1c2fddb124b2"
"sha": "60d8e487fe86cdfa5c5a0f4d2e6aadcc0803b239"
},
"homepage": "https://codspeed.io"
},
@@ -1038,7 +1052,7 @@
"source": {
"source": "url",
"url": "https://github.com/spotify/confidence-ai-plugins.git",
"sha": "b8bdd156bcb386a02f8566e2775541ac3c52e3c0"
"sha": "9bb21eaefdf6fd1dae5795275b4a54dcf1c253d3"
},
"homepage": "https://confidence.spotify.com"
},
@@ -1113,6 +1127,20 @@
},
"homepage": "https://github.com/CrowdStrike/foundry-skills"
},
{
"name": "crowdstrike-falcon-fusion",
"description": "CrowdStrike Falcon Fusion skills for authoring, deploying, and executing Fusion workflows. Includes live action discovery, YAML authoring with schema validation, workflow import and release, execution monitoring, and Falcon Next-Gen SIEM lookup files.",
"author": {
"name": "CrowdStrike"
},
"category": "security",
"source": {
"source": "url",
"url": "https://github.com/CrowdStrike/fusion-skills.git",
"sha": "c354974ebe39c1412ba438a1dfa84281e24cf1e8"
},
"homepage": "https://github.com/CrowdStrike/fusion-skills"
},
{
"name": "csharp-lsp",
"description": "C# language server for code intelligence",
@@ -1180,7 +1208,7 @@
"source": {
"source": "url",
"url": "https://github.com/gemini-cli-extensions/data-agent-kit-starter-pack.git",
"sha": "aa5404e80ec7e22dfb278e9ab0131d35d938f9af"
"sha": "bd1ff5b5f5db78aceb7a38e3315fc783a72fd8c8"
},
"homepage": "https://github.com/gemini-cli-extensions/data-agent-kit-starter-pack"
},
@@ -1450,7 +1478,7 @@
"source": {
"source": "url",
"url": "https://github.com/fastly/fastly-agent-toolkit.git",
"sha": "ea3623d5facc7053eaa802f5fc483dd7121a39aa"
"sha": "172b2fd572f08fb4957bbe6d74cab3aba1e43fcf"
},
"homepage": "https://github.com/fastly/fastly-agent-toolkit/blob/main/README.md"
},
@@ -1724,7 +1752,7 @@
"source": {
"source": "url",
"url": "https://github.com/huggingface/skills.git",
"sha": "32f8bb0928e95fc9d47ca9fbf69cbfbaf2bc2bda"
"sha": "7cb53d7a4746289db435c14fd7d7096965266b10"
},
"homepage": "https://github.com/huggingface/skills.git"
},
@@ -1752,7 +1780,7 @@
"source": {
"source": "url",
"url": "https://github.com/heygen-com/hyperframes.git",
"sha": "88853f170f9ab6c7bfa515d59694d1f995ac0e7d"
"sha": "9769ba2c7bcd75e938ca5267b6568b457cb98fae"
},
"homepage": "https://hyperframes.heygen.com"
},
@@ -1982,7 +2010,7 @@
"url": "https://github.com/pydantic/skills.git",
"path": "plugins/logfire",
"ref": "main",
"sha": "07952dc4bcdfed05b63be8abab6ac277151ca18d"
"sha": "f073557daca5ea8fa500d843f089b4e9e80b4945"
},
"homepage": "https://github.com/pydantic/skills/tree/main/plugins/logfire"
},
@@ -2060,7 +2088,7 @@
"source": {
"source": "url",
"url": "https://github.com/ory/lumen.git",
"sha": "d0dee0efcc8235bf514217ecb12cdac2ed5213fa"
"sha": "cce6305835a9b69ee6cabb2cac6846bed1672890"
},
"homepage": "https://www.ory.sh"
},
@@ -2074,7 +2102,7 @@
"source": {
"source": "url",
"url": "https://github.com/lusha-oss/lusha-mcp-plugin.git",
"sha": "f42bb8f65b3a62fd59711578b8e0446bca644e4b"
"sha": "ed34947a36754411f03cdeaba91c8cdaa153ef2e"
},
"homepage": "https://www.lusha.com"
},
@@ -2113,7 +2141,7 @@
"source": {
"source": "url",
"url": "https://github.com/mattpocock/skills.git",
"sha": "8b36d4fb2635b3c21998dcd8144439c9e5ba7302"
"sha": "84fdeffd12f2ee307994d1eb6feb48173b6e0502"
},
"homepage": "https://github.com/mattpocock/skills"
},
@@ -2167,7 +2195,7 @@
"url": "https://github.com/mercadopago/mercadopago-claude-marketplace.git",
"path": "plugins/mercadopago",
"ref": "main",
"sha": "d1cb002ac916343cbdcccd6ecc0fac344ff19795"
"sha": "82bf0b0bb66be483c5d89fefd9891c28b8282b03"
},
"homepage": "https://github.com/mercadopago/mercadopago-claude-marketplace/tree/main/plugins/mercadopago"
},
@@ -2181,7 +2209,7 @@
"source": {
"source": "url",
"url": "https://github.com/mergifyio/mergify-cli.git",
"sha": "bd4f81e5a99e2428b074b18c24852b3fbb288a83"
"sha": "c86246521e8fff8b76f88f35ea789279579af328"
},
"homepage": "https://mergify.com"
},
@@ -2305,7 +2333,7 @@
"url": "https://github.com/neondatabase/agent-skills.git",
"path": "plugins/neon-postgres",
"ref": "main",
"sha": "73bebcea5d08cab830bce91c07990f17781c53c9"
"sha": "5f198622c5a63b2f769762792a40e001069ecd4b"
},
"homepage": "https://github.com/neondatabase/agent-skills/tree/main/plugins/neon-postgres"
},
@@ -2316,7 +2344,7 @@
"source": {
"source": "url",
"url": "https://github.com/netlify/context-and-tools.git",
"sha": "4f19ca23b9ef2ff5c167890036d38140bb42e1d8"
"sha": "132eadc5655f2043620ca2b8c294aa23e9d375b0"
},
"homepage": "https://github.com/netlify/context-and-tools"
},
@@ -2332,7 +2360,7 @@
"url": "https://github.com/oracle/netsuite-suitecloud-sdk.git",
"path": "packages/agent-skills",
"ref": "master",
"sha": "47a3d49ae55c795d115dfdf8fd2db62a027ed4c6"
"sha": "d0069ddee009765d04e1afbe6ac5dde8b6b263cf"
},
"strict": false,
"skills": [
@@ -2376,7 +2404,7 @@
"source": {
"source": "url",
"url": "https://github.com/Nimbleway/agent-skills.git",
"sha": "6b0cacada17dad0f21490dae07009e401939b044"
"sha": "dc6ee17b12f74ff0f5d892dbec43a6b0bfdd9337"
},
"homepage": "https://docs.nimbleway.com/integrations/agent-skills/plugin-installation"
},
@@ -2755,7 +2783,7 @@
"source": {
"source": "url",
"url": "https://github.com/qdrant/skills.git",
"sha": "67d7db5290178bd450a459102c381dcb79da776f"
"sha": "15b556ae9b7dc3aa960d14a69ed82ec427305487"
},
"homepage": "https://skills.qdrant.tech"
},
@@ -2868,7 +2896,7 @@
"source": {
"source": "url",
"url": "https://github.com/Digital-Process-Tools/claude-remember.git",
"sha": "0a09504333ee54c269471da48168747ee5fefee1"
"sha": "4f33f21c761f2ca508cd97381a2e4b76a68fb9c9"
},
"homepage": "https://github.com/Digital-Process-Tools/claude-remember"
},
@@ -2896,7 +2924,7 @@
"source": {
"source": "url",
"url": "https://github.com/resend/resend-skills.git",
"sha": "044372f031ef4a6d2df60354504c757e8018466d"
"sha": "3eb5ec237002d6ca30b7619191ee3a6d97f3a2c5"
},
"homepage": "https://resend.com"
},
@@ -3055,7 +3083,7 @@
"url": "https://github.com/SAP/open-ux-tools.git",
"path": "packages/fiori-mcp-server",
"ref": "main",
"sha": "4a42f977c1470a663f169242ed829e99f9732b9c"
"sha": "6e6aeb18fff2d16a2dc5aabcd5084d13d1b0fca0"
},
"homepage": "https://github.com/SAP/open-ux-tools/tree/main/packages/fiori-mcp-server"
},
@@ -3154,7 +3182,7 @@
"url": "https://github.com/getsentry/cli.git",
"path": "packages/cli/plugins/sentry-cli",
"ref": "main",
"sha": "94a4ca5801784ee4fe55bcdf4a19258835fa5e8f"
"sha": "0348cdacc043170b1c4b21628d2ad97e9574a7bc"
},
"homepage": "https://sentry.io"
},
@@ -3447,7 +3475,7 @@
"source": {
"source": "url",
"url": "https://github.com/JetBrains/teamcity-cli.git",
"sha": "e9bbb01fe7c5b96790f7a60de9c2ee60138a9a6c"
"sha": "20b570029992f9b9239c6e2333f113d1bb4341b7"
},
"homepage": "https://www.jetbrains.com/teamcity/"
},
@@ -3714,7 +3742,7 @@
"source": {
"source": "url",
"url": "https://github.com/wix/skills.git",
"sha": "9193b6e2beb79ef58b8f0bda4d7b14ffaaa3b0d6"
"sha": "ecb8b4aa11b0bc6cfa7ab6dad3b386a3f92f867a"
},
"homepage": "https://dev.wix.com/docs/wix-cli/guides/development/about-wix-skills"
},

View File

@@ -21,12 +21,18 @@ jobs:
- name: Check every plugin has an Apache 2.0 LICENSE file
run: |
set -euo pipefail
# Plugins that intentionally ship a non-Apache LICENSE. claude-security
# is deliberately proprietary (see #4427 — replacement rejected); it is
# exempt from the Apache 2.0 content check but must still ship a LICENSE.
exempt=("plugins/claude-security")
missing=()
wrong_content=()
for plugin_dir in plugins/*/; do
plugin="${plugin_dir%/}"
if [[ ! -f "$plugin/LICENSE" ]]; then
missing+=("$plugin")
elif [[ " ${exempt[*]} " == *" $plugin "* ]]; then
: # intentionally non-Apache — LICENSE presence already verified
elif ! grep -q "Apache License" "$plugin/LICENSE" || \
! grep -q "Version 2.0" "$plugin/LICENSE"; then
wrong_content+=("$plugin")
@@ -46,4 +52,4 @@ jobs:
done
exit 1
fi
echo "All $(ls -d plugins/*/ | wc -l) plugins have an Apache 2.0 LICENSE file."
echo "All $(ls -d plugins/*/ | wc -l) plugins have a LICENSE file (Apache 2.0 except documented exemptions)."

View File

@@ -1,6 +1,6 @@
{
"name": "asana",
"description": "Asana project management integration. Create and manage tasks, search projects, update assignments, track progress, and integrate your development workflow with Asana's work management platform.",
"description": "Asana project management integration. Connects Claude Code to Asana's V2 MCP server (https://mcp.asana.com/v2/mcp) to create and manage tasks, search projects, update assignments, and track progress. Requires a one-time setup of your own Asana OAuth app — run /asana-setup after installing.",
"author": {
"name": "Asana"
}

View File

@@ -1,6 +0,0 @@
{
"asana": {
"type": "sse",
"url": "https://mcp.asana.com/sse"
}
}

View File

@@ -0,0 +1,68 @@
# Asana
[Asana](https://asana.com) is a work management platform for tasks, projects, and goals. This plugin connects Claude Code to Asana's **V2 MCP server** so you can create and manage tasks, search projects, update assignments, and track progress directly from your terminal.
> **Migrating from V1?** The V1 beta server (`https://mcp.asana.com/sse`) is deprecated and shuts down on **Wed 5 Aug 2026**. The V2 server requires each user to bring their own Asana OAuth app — Dynamic Client Registration is **not** supported on V2, so there is no zero-config connect. Follow the setup below (or run `/asana-setup`).
## Setup
You only need to do this once. The fastest path is to run **`/asana-setup`** inside Claude Code and follow the printed steps, or do it manually:
### 1. Create an Asana OAuth app
1. Go to the [Asana developer console](https://app.asana.com/0/my-apps).
2. Create a new app.
3. Under **OAuth**, add this exact **Redirect URL**:
```
http://localhost:8080/callback
```
(This is Claude Code's local OAuth callback. It is `localhost` by design — Claude Code runs on your machine and catches the authorization code on a local listener. It must match the `--callback-port` you use below.)
4. Copy your **Client ID** and **Client Secret**.
### 2. Add the Asana V2 server to Claude Code
Run this in your terminal (not inside a Claude prompt — the secret is entered at a hidden prompt):
```bash
claude mcp add --transport http \
--client-id YOUR_CLIENT_ID --client-secret \
--callback-port 8080 \
asana https://mcp.asana.com/v2/mcp
```
- Replace `YOUR_CLIENT_ID` with the Client ID from step 1.
- `--client-secret` with no value makes Claude Code prompt for the secret and store it securely in your OS keychain (never on disk).
- `--callback-port 8080` must match the port in the redirect URL you registered.
### 3. Authenticate and verify
1. The next time the `asana` server is used, Claude Code opens your browser for Asana consent. Approve it.
2. Confirm the connection:
```
/mcp
```
You should see `asana` listed as **connected**.
3. Try it: ask Claude Code to "list my Asana workspaces" or "show my assigned tasks."
## Example usage
Ask Claude Code to:
- "Create an Asana task in the Backend project titled 'Fix login bug' assigned to me."
- "What are my Asana tasks due this week?"
- "Search Asana for projects about onboarding."
## Troubleshooting
- **`invalid_redirect_uri`** — the redirect URL in your Asana app must be exactly `http://localhost:8080/callback`, and the `--callback-port` must be `8080`. If you use a different port, register `http://localhost:<PORT>/callback` to match.
- **`invalid_client`** — double-check the Client ID and re-enter the Client Secret (`claude mcp remove asana`, then re-run the add command).
- **Auth server / DCR errors** — V2 does not support Dynamic Client Registration; you must supply a pre-registered `--client-id` and `--client-secret` as shown above.
## Documentation
- [Integrating with Asana's MCP server](https://developers.asana.com/docs/integrating-with-asanas-mcp-server)
- [Connecting MCP clients to Asana's V2 server (Claude Code)](https://developers.asana.com/docs/connecting-mcp-clients-to-asanas-v2-server)

View File

@@ -0,0 +1,42 @@
---
description: Set up the Asana V2 MCP server connection (one-time OAuth app + claude mcp add)
argument-hint: "[client_id]"
---
The user wants to connect Claude Code to Asana's V2 MCP server. Guide them through the one-time setup below. Do NOT run `claude mcp add` yourself — the `--client-secret` prompt needs a real terminal (a hidden TTY prompt), so the user must run it in their own terminal.
Their Asana OAuth Client ID (if provided): `$1`
Print these steps clearly, substituting the Client ID into the command if `$1` is non-empty (otherwise leave the `YOUR_CLIENT_ID` placeholder):
## Step 1 — Create an Asana OAuth app (one time)
1. Open the Asana developer console: https://app.asana.com/0/my-apps
2. Create a new app.
3. Under **OAuth**, add this exact **Redirect URL**:
```
http://localhost:8080/callback
```
4. Copy the **Client ID** and **Client Secret**.
Note: `localhost` is correct — Claude Code is a local client and catches the OAuth callback on your own machine. Asana's V2 server does not support Dynamic Client Registration, so you must bring your own client_id + client_secret.
## Step 2 — Add the server (run this in YOUR terminal)
```bash
claude mcp add --transport http \
--client-id YOUR_CLIENT_ID --client-secret \
--callback-port 8080 \
asana https://mcp.asana.com/v2/mcp
```
- `--client-secret` (no value) triggers a hidden prompt; paste the Client Secret there. It is stored in your OS keychain.
- The port in `--callback-port` must match the `http://localhost:8080/callback` redirect you registered.
## Step 3 — Authenticate & verify
1. On first use, Claude Code opens your browser for Asana consent — approve it.
2. Run `/mcp` and confirm `asana` shows as **connected**.
3. Test it: ask "list my Asana workspaces".
After printing the steps, offer to help troubleshoot if they hit `invalid_redirect_uri` (redirect/port mismatch) or `invalid_client` (wrong id/secret).

View File

@@ -99,9 +99,9 @@ Connect to hosted MCP servers with OAuth support. Best for cloud services.
**Configuration:**
```json
{
"asana": {
"hosted-service": {
"type": "sse",
"url": "https://mcp.asana.com/sse"
"url": "https://mcp.example.com/sse"
}
}
```

View File

@@ -1,9 +1,5 @@
{
"_comment": "Example SSE MCP server configuration for hosted cloud services",
"asana": {
"type": "sse",
"url": "https://mcp.asana.com/sse"
},
"github": {
"type": "sse",
"url": "https://mcp.github.com/sse"

View File

@@ -35,7 +35,6 @@ No additional auth configuration needed! Claude Code handles everything.
### Supported Services
**Known OAuth-enabled MCP servers:**
- Asana: `https://mcp.asana.com/sse`
- GitHub (when available)
- Google services (when available)
- Custom OAuth servers

View File

@@ -143,9 +143,9 @@ Connect to hosted MCP servers via HTTP with server-sent events for streaming. Be
**OAuth (Automatic):**
```json
{
"asana": {
"hosted-service": {
"type": "sse",
"url": "https://mcp.asana.com/sse"
"url": "https://mcp.example.com/sse"
}
}
```
@@ -172,7 +172,6 @@ Claude Code handles OAuth flow:
### Use Cases
**Official Services:**
- Asana: `https://mcp.asana.com/sse`
- GitHub: `https://mcp.github.com/sse`
- Other hosted MCP servers