@openhands/extensions 0.5.0 → 0.6.0

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 (132) hide show
  1. package/.github/workflows/pypi-publish.yml +104 -0
  2. package/.github/workflows/tests.yml +6 -0
  3. package/.release-please-manifest.json +1 -1
  4. package/AGENTS.md +1 -1
  5. package/README.md +31 -3
  6. package/integrations/README.md +17 -7
  7. package/integrations/catalog/airtable.json +40 -10
  8. package/integrations/catalog/apify.json +0 -2
  9. package/integrations/catalog/asana.json +38 -0
  10. package/integrations/catalog/atlassian.json +5 -8
  11. package/integrations/catalog/bitbucket.json +39 -0
  12. package/integrations/catalog/box.json +39 -0
  13. package/integrations/catalog/brave-search.json +1 -2
  14. package/integrations/catalog/browser-mcp.json +0 -3
  15. package/integrations/catalog/canva.json +35 -0
  16. package/integrations/catalog/clickhouse.json +1 -2
  17. package/integrations/catalog/clickup.json +36 -0
  18. package/integrations/catalog/cloudflare-bindings.json +5 -8
  19. package/integrations/catalog/cloudflare-browser-rendering.json +5 -8
  20. package/integrations/catalog/cloudflare-builds.json +6 -9
  21. package/integrations/catalog/cloudflare-docs.json +4 -7
  22. package/integrations/catalog/cloudflare-observability.json +5 -8
  23. package/integrations/catalog/confluence.json +38 -0
  24. package/integrations/catalog/datadog.json +34 -0
  25. package/integrations/catalog/deepwiki.json +3 -7
  26. package/integrations/catalog/discord.json +39 -0
  27. package/integrations/catalog/dropbox.json +38 -0
  28. package/integrations/catalog/elevenlabs.json +27 -28
  29. package/integrations/catalog/everything.json +0 -2
  30. package/integrations/catalog/exa.json +0 -2
  31. package/integrations/catalog/fetch.json +0 -2
  32. package/integrations/catalog/figma.json +41 -9
  33. package/integrations/catalog/filesystem.json +0 -3
  34. package/integrations/catalog/firecrawl.json +0 -2
  35. package/integrations/catalog/freshdesk.json +38 -0
  36. package/integrations/catalog/git.json +0 -3
  37. package/integrations/catalog/github.json +43 -10
  38. package/integrations/catalog/gitlab.json +38 -0
  39. package/integrations/catalog/gmail.json +38 -0
  40. package/integrations/catalog/google-calendar.json +38 -0
  41. package/integrations/catalog/google-docs.json +38 -0
  42. package/integrations/catalog/google-drive.json +38 -0
  43. package/integrations/catalog/google-sheets.json +38 -0
  44. package/integrations/catalog/hubspot.json +34 -0
  45. package/integrations/catalog/huggingface.json +1 -2
  46. package/integrations/catalog/intercom.json +39 -0
  47. package/integrations/catalog/jira.json +38 -0
  48. package/integrations/catalog/kagi.json +2 -3
  49. package/integrations/catalog/linear.json +47 -16
  50. package/integrations/catalog/mailchimp.json +38 -0
  51. package/integrations/catalog/memory.json +0 -2
  52. package/integrations/catalog/microsoft-outlook.json +38 -0
  53. package/integrations/catalog/microsoft-teams.json +38 -0
  54. package/integrations/catalog/miro.json +38 -0
  55. package/integrations/catalog/monday.json +38 -0
  56. package/integrations/catalog/mongodb.json +1 -2
  57. package/integrations/catalog/neon.json +0 -2
  58. package/integrations/catalog/netlify.json +38 -0
  59. package/integrations/catalog/notion.json +37 -10
  60. package/integrations/catalog/obsidian.json +1 -3
  61. package/integrations/catalog/okta.json +38 -0
  62. package/integrations/catalog/onedrive.json +38 -0
  63. package/integrations/catalog/ordinal.json +33 -0
  64. package/integrations/catalog/paypal.json +5 -8
  65. package/integrations/catalog/pipedrive.json +39 -0
  66. package/integrations/catalog/plaid.json +31 -0
  67. package/integrations/catalog/playwright.json +0 -2
  68. package/integrations/catalog/posthog.json +38 -0
  69. package/integrations/catalog/quickbooks.json +38 -0
  70. package/integrations/catalog/redis.json +1 -3
  71. package/integrations/catalog/resend.json +1 -2
  72. package/integrations/catalog/salesforce.json +38 -0
  73. package/integrations/catalog/sentry.json +52 -14
  74. package/integrations/catalog/sequential-thinking.json +0 -2
  75. package/integrations/catalog/servicenow.json +39 -0
  76. package/integrations/catalog/sharepoint.json +38 -0
  77. package/integrations/catalog/shopify.json +38 -0
  78. package/integrations/catalog/slack.json +49 -10
  79. package/integrations/catalog/stripe.json +44 -14
  80. package/integrations/catalog/supabase.json +36 -9
  81. package/integrations/catalog/tavily.json +0 -2
  82. package/integrations/catalog/time.json +0 -2
  83. package/integrations/catalog/trello.json +31 -0
  84. package/integrations/catalog/vercel.json +38 -0
  85. package/integrations/catalog/webflow.json +34 -0
  86. package/integrations/catalog/xero.json +38 -0
  87. package/integrations/catalog/zendesk.json +38 -0
  88. package/integrations/catalog/zoom.json +38 -0
  89. package/integrations/catalog-index.js +171 -0
  90. package/integrations/index.d.ts +24 -60
  91. package/integrations/index.js +29 -207
  92. package/marketplaces/openhands-extensions.json +14 -1
  93. package/package.json +4 -7
  94. package/plugins/cobol-modernization/README.md +3 -3
  95. package/plugins/cobol-modernization/skills/{cobol-modernization-overview → cobol-modernization}/SKILL.md +1 -1
  96. package/plugins/magic-test/skills/magic-word/SKILL.md +1 -0
  97. package/plugins/migration-scoring/README.md +1 -1
  98. package/pyproject.toml +17 -3
  99. package/python/openhands_extensions/__init__.py +24 -0
  100. package/python/openhands_extensions/_version.py +24 -0
  101. package/python/openhands_extensions/integrations.py +92 -0
  102. package/release-please-config.json +2 -1
  103. package/scripts/build-integration-catalog.mjs +45 -0
  104. package/skills/agent-canvas-environment/.plugin/plugin.json +19 -0
  105. package/skills/agent-canvas-environment/README.md +5 -0
  106. package/skills/agent-canvas-environment/SKILL.md +141 -0
  107. package/skills/github-pr-reviewer/references/state-schema.md +18 -4
  108. package/skills/github-pr-reviewer/scripts/main.py +66 -12
  109. package/skills/github-repo-monitor/references/state-schema.md +11 -4
  110. package/skills/github-repo-monitor/scripts/main.py +67 -19
  111. package/skills/github-repo-monitor/tests/test_main.py +67 -8
  112. package/skills/index.js +19 -5
  113. package/skills/openhands-api/README.md +5 -1
  114. package/skills/openhands-api/SKILL.md +74 -5
  115. package/skills/openhands-automation/SKILL.md +3 -1
  116. package/skills/openhands-automation/references/custom-automation.md +166 -0
  117. package/skills/openhands-sdk/SKILL.md +8 -2
  118. package/skills/slack-channel-monitor/README.md +3 -3
  119. package/skills/slack-channel-monitor/SKILL.md +3 -2
  120. package/skills/slack-channel-monitor/references/state-schema.md +11 -4
  121. package/skills/slack-channel-monitor/scripts/main.py +111 -41
  122. package/tests/test_catalogs.py +21 -3
  123. package/tests/test_integration_catalog_in_sync.py +204 -0
  124. package/tests/test_slack_channel_monitor.py +142 -0
  125. package/tests/test_version_alignment.py +64 -0
  126. package/integrations/logos.d.ts +0 -5
  127. package/integrations/logos.js +0 -94
  128. package/integrations/oauth-provider-catalog.js +0 -553
  129. package/integrations/oauth-provider-registration-defaults.js +0 -610
  130. /package/plugins/cobol-modernization/skills/{mainfraime-removal → mainframe-removal}/SKILL.md +0 -0
  131. /package/plugins/cobol-modernization/skills/{mainfraime-removal → mainframe-removal}/references/cics-transformation-examples.md +0 -0
  132. /package/plugins/migration-scoring/skills/{migration-scoring-overview → migration-scoring}/SKILL.md +0 -0
@@ -2,19 +2,37 @@
2
2
  "id": "notion",
3
3
  "name": "Notion",
4
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"
5
+ "categories": [
6
+ "Knowledge base",
7
+ "Documentation"
13
8
  ],
9
+ "appUrl": "https://www.notion.so",
10
+ "docsUrl": "https://developers.notion.com/docs/mcp",
11
+ "notes": "",
14
12
  "popularityRank": 82,
15
- "kind": "mcp",
16
- "defaultConnectionOptionId": "api",
17
13
  "connectionOptions": [
14
+ {
15
+ "id": "oauth",
16
+ "provider": "http",
17
+ "auth": {
18
+ "strategy": "oauth2",
19
+ "oauth": {
20
+ "authorizationUrl": "https://api.notion.com/v1/oauth/authorize",
21
+ "tokenUrl": "https://api.notion.com/v1/oauth/token",
22
+ "scopes": []
23
+ }
24
+ },
25
+ "http": {
26
+ "apiBaseUrl": "https://api.notion.com",
27
+ "openApiUrl": "https://developers.notion.com/openapi.json",
28
+ "defaultTool": {
29
+ "name": "post_search",
30
+ "description": "Search pages and databases in the connected Notion workspace.",
31
+ "method": "POST",
32
+ "path": "/v1/search"
33
+ }
34
+ }
35
+ },
18
36
  {
19
37
  "id": "api",
20
38
  "provider": "mcp",
@@ -42,5 +60,14 @@
42
60
  "strategy": "api_key"
43
61
  }
44
62
  }
63
+ ],
64
+ "iconBg": "#FFFFFF",
65
+ "logoUrl": "https://cdn.simpleicons.org/notion/000000",
66
+ "iconColor": "#000000",
67
+ "keywords": [
68
+ "docs",
69
+ "notes",
70
+ "wiki",
71
+ "knowledge base"
45
72
  ]
46
73
  }
@@ -4,15 +4,13 @@
4
4
  "description": "Read and edit Markdown notes inside an Obsidian vault on the local disk.",
5
5
  "docsUrl": "https://github.com/MarkusPfundstein/mcp-obsidian",
6
6
  "iconBg": "#7C3AED",
7
+ "logoUrl": "https://cdn.simpleicons.org/obsidian/FFFFFF",
7
8
  "keywords": [
8
9
  "notes",
9
10
  "knowledge",
10
11
  "markdown",
11
12
  "vault"
12
13
  ],
13
- "kind": "mcp",
14
- "runtimeAvailability": "local",
15
- "defaultConnectionOptionId": "api",
16
14
  "connectionOptions": [
17
15
  {
18
16
  "id": "api",
@@ -0,0 +1,38 @@
1
+ {
2
+ "id": "okta",
3
+ "name": "Okta",
4
+ "description": "Identity, users, applications, and access administration.",
5
+ "categories": [
6
+ "Identity",
7
+ "Enterprise"
8
+ ],
9
+ "appUrl": "https://www.okta.com",
10
+ "docsUrl": "https://developer.okta.com/docs/guides/implement-oauth-for-okta/main/",
11
+ "notes": "High-value admin and security automation surface.",
12
+ "popularityRank": 42,
13
+ "connectionOptions": [
14
+ {
15
+ "id": "oauth",
16
+ "provider": "http",
17
+ "auth": {
18
+ "strategy": "oauth2",
19
+ "oauth": {
20
+ "authorizationUrl": "https://{yourOktaDomain}/oauth2/v1/authorize",
21
+ "tokenUrl": "https://{yourOktaDomain}/oauth2/v1/token",
22
+ "scopes": [
23
+ "okta.users.read"
24
+ ]
25
+ }
26
+ },
27
+ "http": {
28
+ "apiBaseUrl": "https://{yourOktaDomain}/api/v1",
29
+ "defaultTool": {
30
+ "name": "list_users",
31
+ "description": "List Okta users for the connected org.",
32
+ "method": "GET",
33
+ "path": "/users"
34
+ }
35
+ }
36
+ }
37
+ ]
38
+ }
@@ -0,0 +1,38 @@
1
+ {
2
+ "id": "onedrive",
3
+ "name": "OneDrive",
4
+ "description": "Cloud file access and document workflows through Microsoft Graph.",
5
+ "categories": [
6
+ "Storage",
7
+ "Documents"
8
+ ],
9
+ "appUrl": "https://www.microsoft.com/microsoft-365/onedrive/online-cloud-storage",
10
+ "docsUrl": "https://learn.microsoft.com/graph/auth-v2-user",
11
+ "notes": "Useful for enterprise file automation and search.",
12
+ "popularityRank": 22,
13
+ "connectionOptions": [
14
+ {
15
+ "id": "oauth",
16
+ "provider": "http",
17
+ "auth": {
18
+ "strategy": "oauth2",
19
+ "oauth": {
20
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/v2.0/authorize",
21
+ "tokenUrl": "https://login.microsoftonline.com/common/oauth2/v2.0/token",
22
+ "scopes": [
23
+ "Files.Read"
24
+ ]
25
+ }
26
+ },
27
+ "http": {
28
+ "apiBaseUrl": "https://graph.microsoft.com/v1.0",
29
+ "defaultTool": {
30
+ "name": "list_drive_items",
31
+ "description": "List OneDrive items in the root folder.",
32
+ "method": "GET",
33
+ "path": "/me/drive/root/children"
34
+ }
35
+ }
36
+ }
37
+ ]
38
+ }
@@ -0,0 +1,33 @@
1
+ {
2
+ "id": "ordinal",
3
+ "name": "Ordinal",
4
+ "description": "Social media posts, profiles, analytics, labels, approvals, and engagements.",
5
+ "categories": [
6
+ "Social media",
7
+ "Marketing"
8
+ ],
9
+ "appUrl": "https://app.tryordinal.com",
10
+ "docsUrl": "https://docs.tryordinal.com/api/mcp",
11
+ "logoUrl": "https://app.tryordinal.com/favicon.ico",
12
+ "notes": "Official MCP server backed by Ordinal's API with API-key (Bearer) auth.",
13
+ "popularityRank": 52,
14
+ "connectionOptions": [
15
+ {
16
+ "id": "api",
17
+ "provider": "mcp",
18
+ "auth": {
19
+ "strategy": "bearer",
20
+ "authModes": [
21
+ "bearer"
22
+ ],
23
+ "credentialLabel": "Ordinal API key",
24
+ "credentialPlaceholder": "Paste your Ordinal API key",
25
+ "credentialHelp": "API key from your Ordinal workspace settings, sent as a Bearer token in the Authorization header."
26
+ },
27
+ "transport": {
28
+ "kind": "shttp",
29
+ "url": "https://app.tryordinal.com/api/mcp"
30
+ }
31
+ }
32
+ ]
33
+ }
@@ -4,25 +4,22 @@
4
4
  "description": "Manage transactions and merchant data via PayPal's MCP server.",
5
5
  "docsUrl": "https://developer.paypal.com/tools/mcp-server/",
6
6
  "iconBg": "#003087",
7
+ "logoUrl": "https://cdn.simpleicons.org/paypal/FFFFFF",
7
8
  "keywords": [
8
9
  "payments",
9
10
  "billing",
10
11
  "finance"
11
12
  ],
12
- "kind": "mcp",
13
- "defaultConnectionOptionId": "none",
14
13
  "connectionOptions": [
15
14
  {
16
- "id": "none",
15
+ "id": "oauth",
17
16
  "provider": "mcp",
18
17
  "transport": {
19
- "kind": "sse",
20
- "url": "https://mcp.paypal.com/sse",
21
- "apiKeyOptional": true
18
+ "kind": "shttp",
19
+ "url": "https://mcp.paypal.com/mcp"
22
20
  },
23
21
  "auth": {
24
- "strategy": "none",
25
- "apiKeyOptional": true
22
+ "strategy": "oauth2"
26
23
  }
27
24
  }
28
25
  ]
@@ -0,0 +1,39 @@
1
+ {
2
+ "id": "pipedrive",
3
+ "name": "Pipedrive",
4
+ "description": "Deals, contacts, and sales pipeline management.",
5
+ "categories": [
6
+ "CRM",
7
+ "Sales"
8
+ ],
9
+ "appUrl": "https://www.pipedrive.com",
10
+ "docsUrl": "https://pipedrive.readme.io/docs/marketplace-oauth-authorization",
11
+ "notes": "Common CRM choice with solid OAuth story.",
12
+ "popularityRank": 45,
13
+ "connectionOptions": [
14
+ {
15
+ "id": "oauth",
16
+ "provider": "http",
17
+ "auth": {
18
+ "strategy": "oauth2",
19
+ "oauth": {
20
+ "authorizationUrl": "https://oauth.pipedrive.com/oauth/authorize",
21
+ "tokenUrl": "https://oauth.pipedrive.com/oauth/token",
22
+ "scopes": [
23
+ "deals:read",
24
+ "contacts:read"
25
+ ]
26
+ }
27
+ },
28
+ "http": {
29
+ "apiBaseUrl": "https://api.pipedrive.com/v1",
30
+ "defaultTool": {
31
+ "name": "list_persons",
32
+ "description": "List Pipedrive people visible to the connected user.",
33
+ "method": "GET",
34
+ "path": "/persons"
35
+ }
36
+ }
37
+ }
38
+ ]
39
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "id": "plaid",
3
+ "name": "Plaid",
4
+ "description": "Financial account connectivity and transaction data flows.",
5
+ "categories": [
6
+ "Finance",
7
+ "Payments"
8
+ ],
9
+ "appUrl": "https://plaid.com",
10
+ "docsUrl": "https://plaid.com/docs/auth/oauth/",
11
+ "notes": "Strong fintech workflow candidate, although much of Plaid's OAuth guidance is a special-case token exchange rather than a generic end-user SaaS OAuth connector.",
12
+ "popularityRank": 41,
13
+ "connectionOptions": [
14
+ {
15
+ "id": "oauth",
16
+ "provider": "http",
17
+ "auth": {
18
+ "strategy": "oauth2"
19
+ },
20
+ "http": {
21
+ "apiBaseUrl": "https://production.plaid.com",
22
+ "defaultTool": {
23
+ "name": "get_accounts",
24
+ "description": "Fetch accounts for a connected Plaid item.",
25
+ "method": "POST",
26
+ "path": "/accounts/get"
27
+ }
28
+ }
29
+ }
30
+ ]
31
+ }
@@ -11,8 +11,6 @@
11
11
  "testing",
12
12
  "scrape"
13
13
  ],
14
- "kind": "mcp",
15
- "defaultConnectionOptionId": "none",
16
14
  "connectionOptions": [
17
15
  {
18
16
  "id": "none",
@@ -0,0 +1,38 @@
1
+ {
2
+ "id": "posthog",
3
+ "name": "PostHog",
4
+ "description": "Product analytics, feature flags, and session insights.",
5
+ "categories": [
6
+ "Analytics",
7
+ "Product"
8
+ ],
9
+ "appUrl": "https://posthog.com",
10
+ "docsUrl": "https://posthog.com/docs/apps/build/oauth",
11
+ "notes": "Relevant for product analytics and experimentation workflows.",
12
+ "popularityRank": 37,
13
+ "connectionOptions": [
14
+ {
15
+ "id": "oauth",
16
+ "provider": "http",
17
+ "auth": {
18
+ "strategy": "oauth2",
19
+ "oauth": {
20
+ "authorizationUrl": "https://us.posthog.com/oauth/authorize",
21
+ "tokenUrl": "https://us.posthog.com/oauth/token",
22
+ "scopes": [
23
+ "project:read"
24
+ ]
25
+ }
26
+ },
27
+ "http": {
28
+ "apiBaseUrl": "https://us.posthog.com/api",
29
+ "defaultTool": {
30
+ "name": "list_projects",
31
+ "description": "List PostHog projects available to the connected user.",
32
+ "method": "GET",
33
+ "path": "/projects/"
34
+ }
35
+ }
36
+ }
37
+ ]
38
+ }
@@ -0,0 +1,38 @@
1
+ {
2
+ "id": "quickbooks",
3
+ "name": "QuickBooks",
4
+ "description": "Accounting, invoices, customers, and financial operations.",
5
+ "categories": [
6
+ "Finance",
7
+ "Accounting"
8
+ ],
9
+ "appUrl": "https://quickbooks.intuit.com",
10
+ "docsUrl": "https://developer.intuit.com/app/developer/qbo/docs/develop/authentication-and-authorization/oauth-2.0",
11
+ "notes": "Frequent finance automation request with OAuth-based apps.",
12
+ "popularityRank": 47,
13
+ "connectionOptions": [
14
+ {
15
+ "id": "oauth",
16
+ "provider": "http",
17
+ "auth": {
18
+ "strategy": "oauth2",
19
+ "oauth": {
20
+ "authorizationUrl": "https://appcenter.intuit.com/connect/oauth2",
21
+ "tokenUrl": "https://oauth.platform.intuit.com/oauth2/v1/tokens/bearer",
22
+ "scopes": [
23
+ "com.intuit.quickbooks.accounting"
24
+ ]
25
+ }
26
+ },
27
+ "http": {
28
+ "apiBaseUrl": "https://sandbox-quickbooks.api.intuit.com/v3/company/{companyId}",
29
+ "defaultTool": {
30
+ "name": "list_customers",
31
+ "description": "Query QuickBooks customers for the connected company.",
32
+ "method": "GET",
33
+ "path": "/query?query=SELECT%20*%20FROM%20Customer%20MAXRESULTS%2010"
34
+ }
35
+ }
36
+ }
37
+ ]
38
+ }
@@ -4,14 +4,12 @@
4
4
  "description": "Get, set, scan, and inspect data on a Redis or Redis-compatible instance.",
5
5
  "docsUrl": "https://github.com/redis/mcp-redis",
6
6
  "iconBg": "#DC382D",
7
+ "logoUrl": "https://cdn.simpleicons.org/redis/FFFFFF",
7
8
  "keywords": [
8
9
  "cache",
9
10
  "kv",
10
11
  "database"
11
12
  ],
12
- "kind": "mcp",
13
- "runtimeAvailability": "local",
14
- "defaultConnectionOptionId": "api",
15
13
  "connectionOptions": [
16
14
  {
17
15
  "id": "api",
@@ -4,13 +4,12 @@
4
4
  "description": "Send transactional and marketing emails via the Resend API.",
5
5
  "docsUrl": "https://resend.com/docs/mcp",
6
6
  "iconBg": "var(--oh-surface-deep)",
7
+ "logoUrl": "https://cdn.simpleicons.org/resend/FFFFFF",
7
8
  "keywords": [
8
9
  "email",
9
10
  "transactional",
10
11
  "smtp"
11
12
  ],
12
- "kind": "mcp",
13
- "defaultConnectionOptionId": "api",
14
13
  "connectionOptions": [
15
14
  {
16
15
  "id": "api",
@@ -0,0 +1,38 @@
1
+ {
2
+ "id": "salesforce",
3
+ "name": "Salesforce",
4
+ "description": "CRM records, accounts, opportunities, and sales operations.",
5
+ "categories": [
6
+ "CRM",
7
+ "Sales"
8
+ ],
9
+ "appUrl": "https://www.salesforce.com",
10
+ "docsUrl": "https://help.salesforce.com/s/articleView?id=sf.remoteaccess_oauth_web_server_flow.htm&type=5",
11
+ "notes": "Very common enterprise CRM and agent-assist target.",
12
+ "popularityRank": 24,
13
+ "connectionOptions": [
14
+ {
15
+ "id": "oauth",
16
+ "provider": "http",
17
+ "auth": {
18
+ "strategy": "oauth2",
19
+ "oauth": {
20
+ "authorizationUrl": "https://login.salesforce.com/services/oauth2/authorize",
21
+ "tokenUrl": "https://login.salesforce.com/services/oauth2/token",
22
+ "scopes": [
23
+ "api"
24
+ ]
25
+ }
26
+ },
27
+ "http": {
28
+ "apiBaseUrl": "https://{instance}.salesforce.com/services/data/v60.0",
29
+ "defaultTool": {
30
+ "name": "list_accounts",
31
+ "description": "List Salesforce accounts from the connected org.",
32
+ "method": "GET",
33
+ "path": "/sobjects/Account"
34
+ }
35
+ }
36
+ }
37
+ ]
38
+ }
@@ -2,29 +2,67 @@
2
2
  "id": "sentry",
3
3
  "name": "Sentry",
4
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"
5
+ "categories": [
6
+ "Observability",
7
+ "Engineering"
12
8
  ],
13
- "kind": "mcp",
14
- "defaultConnectionOptionId": "none",
9
+ "appUrl": "https://sentry.io",
10
+ "docsUrl": "https://docs.sentry.io/product/sentry-mcp/",
11
+ "notes": "Natural target for engineering support agents.",
12
+ "popularityRank": 36,
15
13
  "connectionOptions": [
16
14
  {
17
- "id": "none",
15
+ "id": "oauth",
16
+ "provider": "http",
17
+ "auth": {
18
+ "strategy": "oauth2",
19
+ "oauth": {
20
+ "authorizationUrl": "https://sentry.io/oauth/authorize",
21
+ "tokenUrl": "https://sentry.io/oauth/token",
22
+ "scopes": [
23
+ "project:read",
24
+ "event:read",
25
+ "org:read"
26
+ ]
27
+ }
28
+ },
29
+ "http": {
30
+ "apiBaseUrl": "https://sentry.io/api/0",
31
+ "defaultTool": {
32
+ "name": "list_organizations",
33
+ "description": "List Sentry organizations available to the connected user.",
34
+ "method": "GET",
35
+ "path": "/organizations/"
36
+ }
37
+ }
38
+ },
39
+ {
40
+ "id": "oauth-mcp",
18
41
  "provider": "mcp",
19
42
  "transport": {
20
43
  "kind": "shttp",
21
- "url": "https://mcp.sentry.dev/mcp",
22
- "apiKeyOptional": true
44
+ "url": "https://mcp.sentry.dev/mcp"
23
45
  },
24
46
  "auth": {
25
- "strategy": "none",
26
- "apiKeyOptional": true
47
+ "strategy": "oauth2",
48
+ "oauth": {
49
+ "authorizationUrl": "https://sentry.io/oauth/authorize",
50
+ "tokenUrl": "https://sentry.io/oauth/token",
51
+ "scopes": [
52
+ "project:read",
53
+ "event:read",
54
+ "org:read"
55
+ ]
56
+ }
27
57
  }
28
58
  }
59
+ ],
60
+ "iconBg": "#362D59",
61
+ "logoUrl": "https://cdn.simpleicons.org/sentry/FFFFFF",
62
+ "keywords": [
63
+ "errors",
64
+ "observability",
65
+ "monitoring",
66
+ "crash"
29
67
  ]
30
68
  }
@@ -9,8 +9,6 @@
9
9
  "planning",
10
10
  "thoughts"
11
11
  ],
12
- "kind": "mcp",
13
- "defaultConnectionOptionId": "none",
14
12
  "connectionOptions": [
15
13
  {
16
14
  "id": "none",
@@ -0,0 +1,39 @@
1
+ {
2
+ "id": "servicenow",
3
+ "name": "ServiceNow",
4
+ "description": "Tickets, incidents, service catalogs, and enterprise workflows.",
5
+ "categories": [
6
+ "ITSM",
7
+ "Enterprise"
8
+ ],
9
+ "appUrl": "https://www.servicenow.com",
10
+ "docsUrl": "https://www.servicenow.com/docs/bundle/xanadu-platform-security/page/administer/security/concept/oauth-concept.html",
11
+ "notes": "Strong enterprise IT operations use case.",
12
+ "popularityRank": 43,
13
+ "connectionOptions": [
14
+ {
15
+ "id": "oauth",
16
+ "provider": "http",
17
+ "auth": {
18
+ "strategy": "oauth2",
19
+ "oauth": {
20
+ "authorizationUrl": "https://{instance}.service-now.com/oauth_auth.do",
21
+ "tokenUrl": "https://{instance}.service-now.com/oauth_token.do",
22
+ "scopes": [
23
+ "useraccount",
24
+ "table.read"
25
+ ]
26
+ }
27
+ },
28
+ "http": {
29
+ "apiBaseUrl": "https://{instance}.service-now.com/api/now/v1",
30
+ "defaultTool": {
31
+ "name": "list_incidents",
32
+ "description": "List ServiceNow incidents for the connected instance.",
33
+ "method": "GET",
34
+ "path": "/table/incident"
35
+ }
36
+ }
37
+ }
38
+ ]
39
+ }
@@ -0,0 +1,38 @@
1
+ {
2
+ "id": "sharepoint",
3
+ "name": "SharePoint",
4
+ "description": "Sites, document libraries, lists, and intranet content.",
5
+ "categories": [
6
+ "Knowledge base",
7
+ "Enterprise"
8
+ ],
9
+ "appUrl": "https://www.microsoft.com/microsoft-365/sharepoint/collaboration",
10
+ "docsUrl": "https://learn.microsoft.com/graph/auth-v2-user",
11
+ "notes": "Frequently requested for enterprise knowledge retrieval.",
12
+ "popularityRank": 23,
13
+ "connectionOptions": [
14
+ {
15
+ "id": "oauth",
16
+ "provider": "http",
17
+ "auth": {
18
+ "strategy": "oauth2",
19
+ "oauth": {
20
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/v2.0/authorize",
21
+ "tokenUrl": "https://login.microsoftonline.com/common/oauth2/v2.0/token",
22
+ "scopes": [
23
+ "Sites.Read.All"
24
+ ]
25
+ }
26
+ },
27
+ "http": {
28
+ "apiBaseUrl": "https://graph.microsoft.com/v1.0",
29
+ "defaultTool": {
30
+ "name": "get_root_site",
31
+ "description": "Fetch the SharePoint root site through Microsoft Graph.",
32
+ "method": "GET",
33
+ "path": "/sites/root"
34
+ }
35
+ }
36
+ }
37
+ ]
38
+ }
@@ -0,0 +1,38 @@
1
+ {
2
+ "id": "shopify",
3
+ "name": "Shopify",
4
+ "description": "Storefronts, products, orders, and ecommerce operations.",
5
+ "categories": [
6
+ "Ecommerce",
7
+ "Operations"
8
+ ],
9
+ "appUrl": "https://www.shopify.com",
10
+ "docsUrl": "https://shopify.dev/docs/apps/build/authentication-authorization/access-tokens/authorization-code-grant",
11
+ "notes": "A top ecommerce platform and strong MCP candidate.",
12
+ "popularityRank": 29,
13
+ "connectionOptions": [
14
+ {
15
+ "id": "oauth",
16
+ "provider": "http",
17
+ "auth": {
18
+ "strategy": "oauth2",
19
+ "oauth": {
20
+ "authorizationUrl": "https://{shop}.myshopify.com/admin/oauth/authorize",
21
+ "tokenUrl": "https://{shop}.myshopify.com/admin/oauth/access_token",
22
+ "scopes": [
23
+ "read_products"
24
+ ]
25
+ }
26
+ },
27
+ "http": {
28
+ "apiBaseUrl": "https://{shop}.myshopify.com/admin/api/2025-01",
29
+ "defaultTool": {
30
+ "name": "list_products",
31
+ "description": "List Shopify products for the connected store.",
32
+ "method": "GET",
33
+ "path": "/products.json"
34
+ }
35
+ }
36
+ }
37
+ ]
38
+ }