mirror of
https://github.com/anthropics/claude-plugins-official.git
synced 2026-08-07 11:53:29 +00:00
Compare commits
37 Commits
fix/sentry
...
bump/aws-a
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
26e5459f10 | ||
|
|
99dc284733 | ||
|
|
c167392a1d | ||
|
|
1323ae9bf9 | ||
|
|
d3c51a6fc3 | ||
|
|
fd59bad23e | ||
|
|
5e2770d03d | ||
|
|
f62088cf95 | ||
|
|
5ec22a385e | ||
|
|
247cf56f7b | ||
|
|
8f894af167 | ||
|
|
44265a615f | ||
|
|
e7fb9ad1b7 | ||
|
|
ceac34cd91 | ||
|
|
1090e12d01 | ||
|
|
922cd53169 | ||
|
|
dbe502c81e | ||
|
|
ef33a7f179 | ||
|
|
fd42ce5b84 | ||
|
|
961fbcb1ee | ||
|
|
ef7ceb1c42 | ||
|
|
fc9ea343b3 | ||
|
|
cfc269415c | ||
|
|
3ba11cdcb4 | ||
|
|
be350795e0 | ||
|
|
cf53fff2e4 | ||
|
|
c40d93aa81 | ||
|
|
d3b6143873 | ||
|
|
e7fee248ec | ||
|
|
9e66521f24 | ||
|
|
1dd1f78879 | ||
|
|
041392b2d7 | ||
|
|
04be702cfa | ||
|
|
d72880f9c8 | ||
|
|
13b21ea076 | ||
|
|
e99fbb8281 | ||
|
|
088bee4070 |
@@ -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"
|
||||
},
|
||||
|
||||
8
.github/workflows/validate-licenses.yml
vendored
8
.github/workflows/validate-licenses.yml
vendored
@@ -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)."
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
{
|
||||
"asana": {
|
||||
"type": "sse",
|
||||
"url": "https://mcp.asana.com/sse"
|
||||
}
|
||||
}
|
||||
68
external_plugins/asana/README.md
Normal file
68
external_plugins/asana/README.md
Normal 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)
|
||||
42
external_plugins/asana/commands/asana-setup.md
Normal file
42
external_plugins/asana/commands/asana-setup.md
Normal 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).
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user