@openhands/extensions 0.0.1-alpha

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/LICENSE +21 -0
  2. package/MIGRATION.md +62 -0
  3. package/README.md +160 -0
  4. package/automations/README.md +15 -0
  5. package/automations/catalog/github-pr-reviewer.json +13 -0
  6. package/automations/catalog/github-repo-monitor.json +11 -0
  7. package/automations/catalog/incident-retrospective-drafter.json +15 -0
  8. package/automations/catalog/linear-triage-assistant.json +13 -0
  9. package/automations/catalog/research-brief-writer.json +14 -0
  10. package/automations/catalog/slack-channel-monitor.json +11 -0
  11. package/automations/catalog/slack-standup-digest.json +13 -0
  12. package/automations/index.d.ts +14 -0
  13. package/automations/index.js +18 -0
  14. package/index.d.ts +17 -0
  15. package/index.js +2 -0
  16. package/integrations/README.md +39 -0
  17. package/integrations/catalog/airtable.json +44 -0
  18. package/integrations/catalog/apify.json +43 -0
  19. package/integrations/catalog/atlassian.json +31 -0
  20. package/integrations/catalog/brave-search.json +43 -0
  21. package/integrations/catalog/browser-mcp.json +34 -0
  22. package/integrations/catalog/clickhouse.json +56 -0
  23. package/integrations/catalog/cloudflare-bindings.json +32 -0
  24. package/integrations/catalog/cloudflare-browser-rendering.json +30 -0
  25. package/integrations/catalog/cloudflare-builds.json +31 -0
  26. package/integrations/catalog/cloudflare-docs.json +30 -0
  27. package/integrations/catalog/cloudflare-observability.json +31 -0
  28. package/integrations/catalog/deepwiki.json +32 -0
  29. package/integrations/catalog/elevenlabs.json +42 -0
  30. package/integrations/catalog/everything.json +32 -0
  31. package/integrations/catalog/exa.json +43 -0
  32. package/integrations/catalog/fetch.json +32 -0
  33. package/integrations/catalog/figma.json +44 -0
  34. package/integrations/catalog/filesystem.json +44 -0
  35. package/integrations/catalog/firecrawl.json +43 -0
  36. package/integrations/catalog/git.json +45 -0
  37. package/integrations/catalog/github.json +51 -0
  38. package/integrations/catalog/huggingface.json +32 -0
  39. package/integrations/catalog/kagi.json +42 -0
  40. package/integrations/catalog/linear.json +32 -0
  41. package/integrations/catalog/memory.json +33 -0
  42. package/integrations/catalog/mongodb.json +43 -0
  43. package/integrations/catalog/neon.json +44 -0
  44. package/integrations/catalog/notion.json +46 -0
  45. package/integrations/catalog/obsidian.json +43 -0
  46. package/integrations/catalog/paypal.json +29 -0
  47. package/integrations/catalog/playwright.json +34 -0
  48. package/integrations/catalog/redis.json +46 -0
  49. package/integrations/catalog/resend.json +49 -0
  50. package/integrations/catalog/sentry.json +30 -0
  51. package/integrations/catalog/sequential-thinking.json +32 -0
  52. package/integrations/catalog/slack.json +52 -0
  53. package/integrations/catalog/stripe.json +30 -0
  54. package/integrations/catalog/supabase.json +43 -0
  55. package/integrations/catalog/tavily.json +46 -0
  56. package/integrations/catalog/time.json +31 -0
  57. package/integrations/index.d.ts +167 -0
  58. package/integrations/index.js +212 -0
  59. package/integrations/logos.d.ts +5 -0
  60. package/integrations/logos.js +94 -0
  61. package/integrations/oauth-provider-catalog.js +553 -0
  62. package/integrations/oauth-provider-registration-defaults.js +610 -0
  63. package/package.json +56 -0
@@ -0,0 +1,32 @@
1
+ {
2
+ "id": "huggingface",
3
+ "name": "Hugging Face",
4
+ "description": "Search models, datasets, and Spaces on the Hugging Face Hub from your agent.",
5
+ "docsUrl": "https://huggingface.co/docs/huggingface_hub/en/guides/mcp",
6
+ "iconBg": "#FFD21E",
7
+ "iconColor": "#000000",
8
+ "keywords": [
9
+ "ml",
10
+ "models",
11
+ "datasets",
12
+ "ai",
13
+ "hub"
14
+ ],
15
+ "kind": "mcp",
16
+ "defaultConnectionOptionId": "none",
17
+ "connectionOptions": [
18
+ {
19
+ "id": "none",
20
+ "provider": "mcp",
21
+ "transport": {
22
+ "kind": "shttp",
23
+ "url": "https://huggingface.co/mcp",
24
+ "apiKeyOptional": true
25
+ },
26
+ "auth": {
27
+ "strategy": "none",
28
+ "apiKeyOptional": true
29
+ }
30
+ }
31
+ ]
32
+ }
@@ -0,0 +1,42 @@
1
+ {
2
+ "id": "kagi",
3
+ "name": "Kagi Search",
4
+ "description": "Paid, privacy-first search with high signal-to-noise — great for research.",
5
+ "docsUrl": "https://github.com/kagisearch/kagimcp",
6
+ "iconBg": "#FFB319",
7
+ "iconColor": "var(--oh-surface-deep)",
8
+ "keywords": [
9
+ "search",
10
+ "web",
11
+ "privacy"
12
+ ],
13
+ "kind": "mcp",
14
+ "defaultConnectionOptionId": "api",
15
+ "connectionOptions": [
16
+ {
17
+ "id": "api",
18
+ "provider": "mcp",
19
+ "transport": {
20
+ "kind": "stdio",
21
+ "serverName": "kagi",
22
+ "command": "uvx",
23
+ "args": [
24
+ "kagimcp"
25
+ ],
26
+ "envFields": [
27
+ {
28
+ "key": "KAGI_API_KEY",
29
+ "label": "Kagi API key",
30
+ "type": "password",
31
+ "required": true,
32
+ "helperText": "API key from your Kagi account settings.",
33
+ "helperLink": "https://kagi.com/settings?p=api"
34
+ }
35
+ ]
36
+ },
37
+ "auth": {
38
+ "strategy": "api_key"
39
+ }
40
+ }
41
+ ]
42
+ }
@@ -0,0 +1,32 @@
1
+ {
2
+ "id": "linear",
3
+ "name": "Linear",
4
+ "description": "Browse and update Linear issues, cycles, and projects from the agent.",
5
+ "docsUrl": "https://linear.app/changelog/2025-05-01-mcp",
6
+ "iconBg": "#5E6AD2",
7
+ "keywords": [
8
+ "issues",
9
+ "project management",
10
+ "tasks",
11
+ "tickets"
12
+ ],
13
+ "popularityRank": 86,
14
+ "installHint": "Linear's hosted MCP server uses your Linear OAuth login — no key required.",
15
+ "kind": "mcp",
16
+ "defaultConnectionOptionId": "none",
17
+ "connectionOptions": [
18
+ {
19
+ "id": "none",
20
+ "provider": "mcp",
21
+ "transport": {
22
+ "kind": "sse",
23
+ "url": "https://mcp.linear.app/sse",
24
+ "apiKeyOptional": true
25
+ },
26
+ "auth": {
27
+ "strategy": "none",
28
+ "apiKeyOptional": true
29
+ }
30
+ }
31
+ ]
32
+ }
@@ -0,0 +1,33 @@
1
+ {
2
+ "id": "memory",
3
+ "name": "Memory",
4
+ "description": "Persistent key-value memory for the agent across conversations.",
5
+ "docsUrl": "https://github.com/modelcontextprotocol/servers/tree/main/src/memory",
6
+ "iconBg": "#7C3AED",
7
+ "keywords": [
8
+ "memory",
9
+ "kv",
10
+ "state",
11
+ "persistence"
12
+ ],
13
+ "kind": "mcp",
14
+ "defaultConnectionOptionId": "none",
15
+ "connectionOptions": [
16
+ {
17
+ "id": "none",
18
+ "provider": "mcp",
19
+ "transport": {
20
+ "kind": "stdio",
21
+ "serverName": "memory",
22
+ "command": "npx",
23
+ "args": [
24
+ "-y",
25
+ "@modelcontextprotocol/server-memory"
26
+ ]
27
+ },
28
+ "auth": {
29
+ "strategy": "none"
30
+ }
31
+ }
32
+ ]
33
+ }
@@ -0,0 +1,43 @@
1
+ {
2
+ "id": "mongodb",
3
+ "name": "MongoDB",
4
+ "description": "Query MongoDB collections, inspect schemas, and run aggregation pipelines.",
5
+ "docsUrl": "https://www.mongodb.com/docs/mcp-server/",
6
+ "iconBg": "#00684A",
7
+ "keywords": [
8
+ "database",
9
+ "nosql",
10
+ "atlas"
11
+ ],
12
+ "kind": "mcp",
13
+ "defaultConnectionOptionId": "api",
14
+ "connectionOptions": [
15
+ {
16
+ "id": "api",
17
+ "provider": "mcp",
18
+ "transport": {
19
+ "kind": "stdio",
20
+ "serverName": "mongodb",
21
+ "command": "npx",
22
+ "args": [
23
+ "-y",
24
+ "mongodb-mcp-server"
25
+ ],
26
+ "envFields": [
27
+ {
28
+ "key": "MDB_MCP_CONNECTION_STRING",
29
+ "label": "MongoDB connection string",
30
+ "type": "password",
31
+ "placeholder": "mongodb+srv://user:pass@cluster.mongodb.net",
32
+ "required": true,
33
+ "helperText": "Connection string from your MongoDB Atlas cluster.",
34
+ "helperLink": "https://www.mongodb.com/docs/atlas/connect-to-database-deployment/#connect-with-a-connection-string"
35
+ }
36
+ ]
37
+ },
38
+ "auth": {
39
+ "strategy": "api_key"
40
+ }
41
+ }
42
+ ]
43
+ }
@@ -0,0 +1,44 @@
1
+ {
2
+ "id": "neon",
3
+ "name": "Neon",
4
+ "description": "Serverless Postgres: list projects, run queries, manage branches.",
5
+ "docsUrl": "https://neon.com/docs/ai/neon-mcp-server",
6
+ "iconBg": "#00E599",
7
+ "iconColor": "var(--oh-surface-deep)",
8
+ "keywords": [
9
+ "database",
10
+ "postgres",
11
+ "serverless"
12
+ ],
13
+ "kind": "mcp",
14
+ "defaultConnectionOptionId": "api",
15
+ "connectionOptions": [
16
+ {
17
+ "id": "api",
18
+ "provider": "mcp",
19
+ "transport": {
20
+ "kind": "stdio",
21
+ "serverName": "neon",
22
+ "command": "npx",
23
+ "args": [
24
+ "-y",
25
+ "@neondatabase/mcp-server-neon",
26
+ "start"
27
+ ],
28
+ "envFields": [
29
+ {
30
+ "key": "NEON_API_KEY",
31
+ "label": "Neon API key",
32
+ "type": "password",
33
+ "required": true,
34
+ "helperText": "API key from your Neon account settings.",
35
+ "helperLink": "https://neon.tech/docs/manage/api-keys"
36
+ }
37
+ ]
38
+ },
39
+ "auth": {
40
+ "strategy": "api_key"
41
+ }
42
+ }
43
+ ]
44
+ }
@@ -0,0 +1,46 @@
1
+ {
2
+ "id": "notion",
3
+ "name": "Notion",
4
+ "description": "Read and edit Notion pages, databases, and blocks via Notion's MCP server.",
5
+ "docsUrl": "https://developers.notion.com/docs/mcp",
6
+ "iconBg": "#FFFFFF",
7
+ "iconColor": "#000000",
8
+ "keywords": [
9
+ "docs",
10
+ "notes",
11
+ "wiki",
12
+ "knowledge base"
13
+ ],
14
+ "popularityRank": 82,
15
+ "kind": "mcp",
16
+ "defaultConnectionOptionId": "api",
17
+ "connectionOptions": [
18
+ {
19
+ "id": "api",
20
+ "provider": "mcp",
21
+ "transport": {
22
+ "kind": "stdio",
23
+ "serverName": "notion",
24
+ "command": "npx",
25
+ "args": [
26
+ "-y",
27
+ "@notionhq/notion-mcp-server"
28
+ ],
29
+ "envFields": [
30
+ {
31
+ "key": "NOTION_API_KEY",
32
+ "label": "Internal integration token",
33
+ "type": "password",
34
+ "placeholder": "ntn_...",
35
+ "required": true,
36
+ "helperText": "Internal integration token from your Notion integrations page.",
37
+ "helperLink": "https://www.notion.so/profile/integrations"
38
+ }
39
+ ]
40
+ },
41
+ "auth": {
42
+ "strategy": "api_key"
43
+ }
44
+ }
45
+ ]
46
+ }
@@ -0,0 +1,43 @@
1
+ {
2
+ "id": "obsidian",
3
+ "name": "Obsidian",
4
+ "description": "Read and edit Markdown notes inside an Obsidian vault on the local disk.",
5
+ "docsUrl": "https://github.com/MarkusPfundstein/mcp-obsidian",
6
+ "iconBg": "#7C3AED",
7
+ "keywords": [
8
+ "notes",
9
+ "knowledge",
10
+ "markdown",
11
+ "vault"
12
+ ],
13
+ "kind": "mcp",
14
+ "runtimeAvailability": "local",
15
+ "defaultConnectionOptionId": "api",
16
+ "connectionOptions": [
17
+ {
18
+ "id": "api",
19
+ "provider": "mcp",
20
+ "transport": {
21
+ "kind": "stdio",
22
+ "serverName": "obsidian",
23
+ "command": "uvx",
24
+ "args": [
25
+ "mcp-obsidian"
26
+ ],
27
+ "envFields": [
28
+ {
29
+ "key": "OBSIDIAN_API_KEY",
30
+ "label": "Local REST API key",
31
+ "type": "password",
32
+ "required": true,
33
+ "helperText": "From the Obsidian 'Local REST API' community plugin.",
34
+ "helperLink": "https://github.com/coddingtonbear/obsidian-local-rest-api"
35
+ }
36
+ ]
37
+ },
38
+ "auth": {
39
+ "strategy": "api_key"
40
+ }
41
+ }
42
+ ]
43
+ }
@@ -0,0 +1,29 @@
1
+ {
2
+ "id": "paypal",
3
+ "name": "PayPal",
4
+ "description": "Manage transactions and merchant data via PayPal's MCP server.",
5
+ "docsUrl": "https://developer.paypal.com/tools/mcp-server/",
6
+ "iconBg": "#003087",
7
+ "keywords": [
8
+ "payments",
9
+ "billing",
10
+ "finance"
11
+ ],
12
+ "kind": "mcp",
13
+ "defaultConnectionOptionId": "none",
14
+ "connectionOptions": [
15
+ {
16
+ "id": "none",
17
+ "provider": "mcp",
18
+ "transport": {
19
+ "kind": "sse",
20
+ "url": "https://mcp.paypal.com/sse",
21
+ "apiKeyOptional": true
22
+ },
23
+ "auth": {
24
+ "strategy": "none",
25
+ "apiKeyOptional": true
26
+ }
27
+ }
28
+ ]
29
+ }
@@ -0,0 +1,34 @@
1
+ {
2
+ "id": "playwright",
3
+ "name": "Playwright",
4
+ "description": "Headless-browser automation backed by Microsoft Playwright.",
5
+ "docsUrl": "https://github.com/microsoft/playwright-mcp",
6
+ "iconBg": "#2EAD33",
7
+ "keywords": [
8
+ "browser",
9
+ "automation",
10
+ "e2e",
11
+ "testing",
12
+ "scrape"
13
+ ],
14
+ "kind": "mcp",
15
+ "defaultConnectionOptionId": "none",
16
+ "connectionOptions": [
17
+ {
18
+ "id": "none",
19
+ "provider": "mcp",
20
+ "transport": {
21
+ "kind": "stdio",
22
+ "serverName": "playwright",
23
+ "command": "npx",
24
+ "args": [
25
+ "-y",
26
+ "@playwright/mcp"
27
+ ]
28
+ },
29
+ "auth": {
30
+ "strategy": "none"
31
+ }
32
+ }
33
+ ]
34
+ }
@@ -0,0 +1,46 @@
1
+ {
2
+ "id": "redis",
3
+ "name": "Redis",
4
+ "description": "Get, set, scan, and inspect data on a Redis or Redis-compatible instance.",
5
+ "docsUrl": "https://github.com/redis/mcp-redis",
6
+ "iconBg": "#DC382D",
7
+ "keywords": [
8
+ "cache",
9
+ "kv",
10
+ "database"
11
+ ],
12
+ "kind": "mcp",
13
+ "runtimeAvailability": "local",
14
+ "defaultConnectionOptionId": "api",
15
+ "connectionOptions": [
16
+ {
17
+ "id": "api",
18
+ "provider": "mcp",
19
+ "transport": {
20
+ "kind": "stdio",
21
+ "serverName": "redis",
22
+ "command": "uvx",
23
+ "args": [
24
+ "--from",
25
+ "redis-mcp-server@latest",
26
+ "redis-mcp-server",
27
+ "--url"
28
+ ],
29
+ "argFields": [
30
+ {
31
+ "key": "redis_url",
32
+ "label": "Redis URL",
33
+ "type": "password",
34
+ "placeholder": "redis://localhost:6379",
35
+ "required": true,
36
+ "helperText": "Connection URL for your Redis instance. Appended as --url <redis_url>.",
37
+ "helperLink": "https://redis.io/docs/latest/operate/rc/databases/connect/"
38
+ }
39
+ ]
40
+ },
41
+ "auth": {
42
+ "strategy": "api_key"
43
+ }
44
+ }
45
+ ]
46
+ }
@@ -0,0 +1,49 @@
1
+ {
2
+ "id": "resend",
3
+ "name": "Resend",
4
+ "description": "Send transactional and marketing emails via the Resend API.",
5
+ "docsUrl": "https://resend.com/docs/mcp",
6
+ "iconBg": "var(--oh-surface-deep)",
7
+ "keywords": [
8
+ "email",
9
+ "transactional",
10
+ "smtp"
11
+ ],
12
+ "kind": "mcp",
13
+ "defaultConnectionOptionId": "api",
14
+ "connectionOptions": [
15
+ {
16
+ "id": "api",
17
+ "provider": "mcp",
18
+ "transport": {
19
+ "kind": "stdio",
20
+ "serverName": "resend",
21
+ "command": "npx",
22
+ "args": [
23
+ "-y",
24
+ "mcp-send-email"
25
+ ],
26
+ "envFields": [
27
+ {
28
+ "key": "RESEND_API_KEY",
29
+ "label": "Resend API key",
30
+ "type": "password",
31
+ "required": true,
32
+ "helperText": "API key from your Resend dashboard.",
33
+ "helperLink": "https://resend.com/api-keys"
34
+ },
35
+ {
36
+ "key": "SENDER_EMAIL_ADDRESS",
37
+ "label": "From address",
38
+ "type": "text",
39
+ "placeholder": "you@example.com",
40
+ "required": true
41
+ }
42
+ ]
43
+ },
44
+ "auth": {
45
+ "strategy": "api_key"
46
+ }
47
+ }
48
+ ]
49
+ }
@@ -0,0 +1,30 @@
1
+ {
2
+ "id": "sentry",
3
+ "name": "Sentry",
4
+ "description": "Triage issues, inspect events, and run Seer fixes against your Sentry org.",
5
+ "docsUrl": "https://docs.sentry.io/product/sentry-mcp/",
6
+ "iconBg": "#362D59",
7
+ "keywords": [
8
+ "errors",
9
+ "observability",
10
+ "monitoring",
11
+ "crash"
12
+ ],
13
+ "kind": "mcp",
14
+ "defaultConnectionOptionId": "none",
15
+ "connectionOptions": [
16
+ {
17
+ "id": "none",
18
+ "provider": "mcp",
19
+ "transport": {
20
+ "kind": "shttp",
21
+ "url": "https://mcp.sentry.dev/mcp",
22
+ "apiKeyOptional": true
23
+ },
24
+ "auth": {
25
+ "strategy": "none",
26
+ "apiKeyOptional": true
27
+ }
28
+ }
29
+ ]
30
+ }
@@ -0,0 +1,32 @@
1
+ {
2
+ "id": "sequential-thinking",
3
+ "name": "Sequential Thinking",
4
+ "description": "Lets the agent emit and revise a chain of structured thoughts.",
5
+ "docsUrl": "https://github.com/modelcontextprotocol/servers/tree/main/src/sequentialthinking",
6
+ "iconBg": "var(--oh-color-base)",
7
+ "keywords": [
8
+ "reasoning",
9
+ "planning",
10
+ "thoughts"
11
+ ],
12
+ "kind": "mcp",
13
+ "defaultConnectionOptionId": "none",
14
+ "connectionOptions": [
15
+ {
16
+ "id": "none",
17
+ "provider": "mcp",
18
+ "transport": {
19
+ "kind": "stdio",
20
+ "serverName": "sequential_thinking",
21
+ "command": "npx",
22
+ "args": [
23
+ "-y",
24
+ "@modelcontextprotocol/server-sequential-thinking"
25
+ ]
26
+ },
27
+ "auth": {
28
+ "strategy": "none"
29
+ }
30
+ }
31
+ ]
32
+ }
@@ -0,0 +1,52 @@
1
+ {
2
+ "id": "slack",
3
+ "name": "Slack",
4
+ "description": "Read channels, post messages, and search workspace history from your agent.",
5
+ "docsUrl": "https://github.com/zencoderai/slack-mcp-server",
6
+ "iconBg": "#4A154B",
7
+ "keywords": [
8
+ "chat",
9
+ "messaging",
10
+ "team"
11
+ ],
12
+ "popularityRank": 95,
13
+ "installHint": "Create a Slack app with the required scopes, then paste its bot token below.",
14
+ "kind": "mcp",
15
+ "defaultConnectionOptionId": "api",
16
+ "connectionOptions": [
17
+ {
18
+ "id": "api",
19
+ "provider": "mcp",
20
+ "transport": {
21
+ "kind": "stdio",
22
+ "serverName": "slack",
23
+ "command": "npx",
24
+ "args": [
25
+ "-y",
26
+ "@zencoderai/slack-mcp-server"
27
+ ],
28
+ "envFields": [
29
+ {
30
+ "key": "SLACK_TEAM_ID",
31
+ "label": "Team / Workspace ID",
32
+ "type": "text",
33
+ "placeholder": "T01234567",
34
+ "helperText": "First get your [Slack URL](https://slack.com/help/articles/221769328-Locate-your-Slack-URL-or-ID#find-your-url). Then use that to get your [Workspace ID](https://slack.com/help/articles/221769328-Locate-your-Slack-URL-or-ID#find-your-workspace-or-org-id).",
35
+ "required": true
36
+ },
37
+ {
38
+ "key": "SLACK_BOT_TOKEN",
39
+ "label": "Bot token",
40
+ "type": "password",
41
+ "placeholder": "xoxb-...",
42
+ "required": true,
43
+ "helperText": "You'll need to create or have access to a [Slack App](https://github.com/zencoderai/slack-mcp-server#slack-bot-setup) to get a Bot token."
44
+ }
45
+ ]
46
+ },
47
+ "auth": {
48
+ "strategy": "api_key"
49
+ }
50
+ }
51
+ ]
52
+ }
@@ -0,0 +1,30 @@
1
+ {
2
+ "id": "stripe",
3
+ "name": "Stripe",
4
+ "description": "Query customers, payments, subscriptions, and invoices via Stripe's hosted MCP server.",
5
+ "docsUrl": "https://stripe.com/docs/mcp",
6
+ "iconBg": "#635BFF",
7
+ "keywords": [
8
+ "payments",
9
+ "billing",
10
+ "subscriptions",
11
+ "finance"
12
+ ],
13
+ "kind": "mcp",
14
+ "defaultConnectionOptionId": "none",
15
+ "connectionOptions": [
16
+ {
17
+ "id": "none",
18
+ "provider": "mcp",
19
+ "transport": {
20
+ "kind": "shttp",
21
+ "url": "https://mcp.stripe.com/",
22
+ "apiKeyOptional": true
23
+ },
24
+ "auth": {
25
+ "strategy": "none",
26
+ "apiKeyOptional": true
27
+ }
28
+ }
29
+ ]
30
+ }
@@ -0,0 +1,43 @@
1
+ {
2
+ "id": "supabase",
3
+ "name": "Supabase",
4
+ "description": "Query and manage your Supabase project, including database, auth, and storage.",
5
+ "docsUrl": "https://supabase.com/docs/guides/getting-started/mcp",
6
+ "iconBg": "#3ECF8E",
7
+ "keywords": [
8
+ "database",
9
+ "auth",
10
+ "storage",
11
+ "postgres"
12
+ ],
13
+ "kind": "mcp",
14
+ "defaultConnectionOptionId": "api",
15
+ "connectionOptions": [
16
+ {
17
+ "id": "api",
18
+ "provider": "mcp",
19
+ "transport": {
20
+ "kind": "stdio",
21
+ "serverName": "supabase",
22
+ "command": "npx",
23
+ "args": [
24
+ "-y",
25
+ "@supabase/mcp-server-supabase@latest"
26
+ ],
27
+ "envFields": [
28
+ {
29
+ "key": "SUPABASE_ACCESS_TOKEN",
30
+ "label": "Supabase access token",
31
+ "type": "password",
32
+ "required": true,
33
+ "helperText": "Personal access token from your Supabase dashboard.",
34
+ "helperLink": "https://supabase.com/dashboard/account/tokens"
35
+ }
36
+ ]
37
+ },
38
+ "auth": {
39
+ "strategy": "api_key"
40
+ }
41
+ }
42
+ ]
43
+ }