@openhands/extensions 0.4.2 → 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.
- package/.github/workflows/pypi-publish.yml +104 -0
- package/.github/workflows/tests.yml +6 -0
- package/.release-please-manifest.json +1 -1
- package/AGENTS.md +1 -1
- package/README.md +31 -3
- package/automations/catalog/slack-channel-monitor.json +2 -2
- package/integrations/README.md +17 -7
- package/integrations/catalog/airtable.json +40 -10
- package/integrations/catalog/apify.json +0 -2
- package/integrations/catalog/asana.json +38 -0
- package/integrations/catalog/atlassian.json +5 -8
- package/integrations/catalog/bitbucket.json +39 -0
- package/integrations/catalog/box.json +39 -0
- package/integrations/catalog/brave-search.json +1 -2
- package/integrations/catalog/browser-mcp.json +0 -3
- package/integrations/catalog/canva.json +35 -0
- package/integrations/catalog/clickhouse.json +1 -2
- package/integrations/catalog/clickup.json +36 -0
- package/integrations/catalog/cloudflare-bindings.json +5 -8
- package/integrations/catalog/cloudflare-browser-rendering.json +5 -8
- package/integrations/catalog/cloudflare-builds.json +6 -9
- package/integrations/catalog/cloudflare-docs.json +4 -7
- package/integrations/catalog/cloudflare-observability.json +5 -8
- package/integrations/catalog/confluence.json +38 -0
- package/integrations/catalog/datadog.json +34 -0
- package/integrations/catalog/deepwiki.json +3 -7
- package/integrations/catalog/discord.json +39 -0
- package/integrations/catalog/dropbox.json +38 -0
- package/integrations/catalog/elevenlabs.json +27 -28
- package/integrations/catalog/everything.json +0 -2
- package/integrations/catalog/exa.json +0 -2
- package/integrations/catalog/fetch.json +0 -2
- package/integrations/catalog/figma.json +41 -9
- package/integrations/catalog/filesystem.json +0 -3
- package/integrations/catalog/firecrawl.json +0 -2
- package/integrations/catalog/freshdesk.json +38 -0
- package/integrations/catalog/git.json +0 -3
- package/integrations/catalog/github.json +51 -34
- package/integrations/catalog/gitlab.json +38 -0
- package/integrations/catalog/gmail.json +38 -0
- package/integrations/catalog/google-calendar.json +38 -0
- package/integrations/catalog/google-docs.json +38 -0
- package/integrations/catalog/google-drive.json +38 -0
- package/integrations/catalog/google-sheets.json +38 -0
- package/integrations/catalog/hubspot.json +34 -0
- package/integrations/catalog/huggingface.json +1 -2
- package/integrations/catalog/intercom.json +39 -0
- package/integrations/catalog/jira.json +38 -0
- package/integrations/catalog/kagi.json +2 -3
- package/integrations/catalog/linear.json +47 -16
- package/integrations/catalog/mailchimp.json +38 -0
- package/integrations/catalog/memory.json +0 -2
- package/integrations/catalog/microsoft-outlook.json +38 -0
- package/integrations/catalog/microsoft-teams.json +38 -0
- package/integrations/catalog/miro.json +38 -0
- package/integrations/catalog/monday.json +38 -0
- package/integrations/catalog/mongodb.json +1 -2
- package/integrations/catalog/neon.json +0 -2
- package/integrations/catalog/netlify.json +38 -0
- package/integrations/catalog/notion.json +37 -10
- package/integrations/catalog/obsidian.json +1 -3
- package/integrations/catalog/okta.json +38 -0
- package/integrations/catalog/onedrive.json +38 -0
- package/integrations/catalog/ordinal.json +33 -0
- package/integrations/catalog/paypal.json +5 -8
- package/integrations/catalog/pipedrive.json +39 -0
- package/integrations/catalog/plaid.json +31 -0
- package/integrations/catalog/playwright.json +0 -2
- package/integrations/catalog/posthog.json +38 -0
- package/integrations/catalog/quickbooks.json +38 -0
- package/integrations/catalog/redis.json +1 -3
- package/integrations/catalog/resend.json +1 -2
- package/integrations/catalog/salesforce.json +38 -0
- package/integrations/catalog/sentry.json +52 -14
- package/integrations/catalog/sequential-thinking.json +0 -2
- package/integrations/catalog/servicenow.json +39 -0
- package/integrations/catalog/sharepoint.json +38 -0
- package/integrations/catalog/shopify.json +38 -0
- package/integrations/catalog/slack.json +49 -10
- package/integrations/catalog/stripe.json +44 -14
- package/integrations/catalog/supabase.json +36 -9
- package/integrations/catalog/tavily.json +0 -2
- package/integrations/catalog/time.json +0 -2
- package/integrations/catalog/trello.json +31 -0
- package/integrations/catalog/vercel.json +38 -0
- package/integrations/catalog/webflow.json +34 -0
- package/integrations/catalog/xero.json +38 -0
- package/integrations/catalog/zendesk.json +38 -0
- package/integrations/catalog/zoom.json +38 -0
- package/integrations/catalog-index.js +171 -0
- package/integrations/index.d.ts +26 -60
- package/integrations/index.js +29 -207
- package/marketplaces/openhands-extensions.json +14 -1
- package/package.json +4 -7
- package/plugins/cobol-modernization/README.md +3 -3
- package/plugins/cobol-modernization/skills/{cobol-modernization-overview → cobol-modernization}/SKILL.md +1 -1
- package/plugins/magic-test/skills/magic-word/SKILL.md +1 -0
- package/plugins/migration-scoring/README.md +1 -1
- package/pyproject.toml +17 -3
- package/python/openhands_extensions/__init__.py +24 -0
- package/python/openhands_extensions/_version.py +24 -0
- package/python/openhands_extensions/integrations.py +92 -0
- package/release-please-config.json +2 -1
- package/scripts/build-integration-catalog.mjs +45 -0
- package/skills/agent-canvas-environment/.plugin/plugin.json +19 -0
- package/skills/agent-canvas-environment/README.md +5 -0
- package/skills/agent-canvas-environment/SKILL.md +141 -0
- package/skills/github-pr-reviewer/references/state-schema.md +18 -4
- package/skills/github-pr-reviewer/scripts/main.py +66 -12
- package/skills/github-repo-monitor/references/state-schema.md +11 -4
- package/skills/github-repo-monitor/scripts/main.py +67 -19
- package/skills/github-repo-monitor/tests/test_main.py +67 -8
- package/skills/index.js +19 -5
- package/skills/openhands-api/README.md +5 -1
- package/skills/openhands-api/SKILL.md +74 -5
- package/skills/openhands-automation/SKILL.md +3 -1
- package/skills/openhands-automation/references/custom-automation.md +166 -0
- package/skills/openhands-sdk/SKILL.md +8 -2
- package/skills/slack-channel-monitor/README.md +9 -5
- package/skills/slack-channel-monitor/SKILL.md +16 -6
- package/skills/slack-channel-monitor/references/slack-api.md +5 -3
- package/skills/slack-channel-monitor/references/state-schema.md +70 -36
- package/skills/slack-channel-monitor/scripts/main.py +335 -63
- package/tests/test_catalogs.py +21 -3
- package/tests/test_integration_catalog_in_sync.py +204 -0
- package/tests/test_slack_channel_monitor.py +142 -0
- package/tests/test_version_alignment.py +64 -0
- package/integrations/logos.d.ts +0 -5
- package/integrations/logos.js +0 -94
- package/integrations/oauth-provider-catalog.js +0 -553
- package/integrations/oauth-provider-registration-defaults.js +0 -610
- /package/plugins/cobol-modernization/skills/{mainfraime-removal → mainframe-removal}/SKILL.md +0 -0
- /package/plugins/cobol-modernization/skills/{mainfraime-removal → mainframe-removal}/references/cics-transformation-examples.md +0 -0
- /package/plugins/migration-scoring/skills/{migration-scoring-overview → migration-scoring}/SKILL.md +0 -0
|
@@ -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
|
+
}
|
|
@@ -2,18 +2,49 @@
|
|
|
2
2
|
"id": "slack",
|
|
3
3
|
"name": "Slack",
|
|
4
4
|
"description": "Read channels, post messages, and search workspace history from your agent.",
|
|
5
|
-
"
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
"chat",
|
|
9
|
-
"messaging",
|
|
10
|
-
"team"
|
|
5
|
+
"categories": [
|
|
6
|
+
"Communication",
|
|
7
|
+
"Operations"
|
|
11
8
|
],
|
|
9
|
+
"appUrl": "https://slack.com",
|
|
10
|
+
"docsUrl": "https://github.com/zencoderai/slack-mcp-server",
|
|
11
|
+
"notes": "Uses Slack's official hosted MCP server with confidential OAuth user-token auth.",
|
|
12
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
13
|
"connectionOptions": [
|
|
14
|
+
{
|
|
15
|
+
"id": "oauth",
|
|
16
|
+
"provider": "mcp",
|
|
17
|
+
"auth": {
|
|
18
|
+
"strategy": "oauth2",
|
|
19
|
+
"oauth": {
|
|
20
|
+
"authorizationUrl": "https://slack.com/oauth/v2_user/authorize",
|
|
21
|
+
"tokenUrl": "https://slack.com/api/oauth.v2.user.access",
|
|
22
|
+
"scopes": [
|
|
23
|
+
"search:read.public",
|
|
24
|
+
"search:read.private",
|
|
25
|
+
"search:read.mpim",
|
|
26
|
+
"search:read.im",
|
|
27
|
+
"search:read.files",
|
|
28
|
+
"search:read.users",
|
|
29
|
+
"chat:write",
|
|
30
|
+
"channels:history",
|
|
31
|
+
"groups:history",
|
|
32
|
+
"mpim:history",
|
|
33
|
+
"im:history",
|
|
34
|
+
"canvases:read",
|
|
35
|
+
"canvases:write",
|
|
36
|
+
"users:read",
|
|
37
|
+
"users:read.email"
|
|
38
|
+
],
|
|
39
|
+
"pkce": true,
|
|
40
|
+
"clientAuthentication": "body"
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
"transport": {
|
|
44
|
+
"kind": "shttp",
|
|
45
|
+
"url": "https://mcp.slack.com/mcp"
|
|
46
|
+
}
|
|
47
|
+
},
|
|
17
48
|
{
|
|
18
49
|
"id": "api",
|
|
19
50
|
"provider": "mcp",
|
|
@@ -48,5 +79,13 @@
|
|
|
48
79
|
"strategy": "api_key"
|
|
49
80
|
}
|
|
50
81
|
}
|
|
51
|
-
]
|
|
82
|
+
],
|
|
83
|
+
"iconBg": "#4A154B",
|
|
84
|
+
"logoUrl": "https://cdn.simpleicons.org/slack/FFFFFF",
|
|
85
|
+
"keywords": [
|
|
86
|
+
"chat",
|
|
87
|
+
"messaging",
|
|
88
|
+
"team"
|
|
89
|
+
],
|
|
90
|
+
"installHint": "Create a Slack app with the required scopes, then paste its bot token below."
|
|
52
91
|
}
|
|
@@ -2,29 +2,59 @@
|
|
|
2
2
|
"id": "stripe",
|
|
3
3
|
"name": "Stripe",
|
|
4
4
|
"description": "Query customers, payments, subscriptions, and invoices via Stripe's hosted MCP server.",
|
|
5
|
-
"
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
"payments",
|
|
9
|
-
"billing",
|
|
10
|
-
"subscriptions",
|
|
11
|
-
"finance"
|
|
5
|
+
"categories": [
|
|
6
|
+
"Payments",
|
|
7
|
+
"Finance"
|
|
12
8
|
],
|
|
13
|
-
"
|
|
14
|
-
"
|
|
9
|
+
"appUrl": "https://stripe.com",
|
|
10
|
+
"docsUrl": "https://stripe.com/docs/mcp",
|
|
11
|
+
"notes": "High-value fintech automation target with mature OAuth patterns.",
|
|
12
|
+
"popularityRank": 28,
|
|
15
13
|
"connectionOptions": [
|
|
16
14
|
{
|
|
17
|
-
"id": "
|
|
15
|
+
"id": "oauth",
|
|
16
|
+
"provider": "http",
|
|
17
|
+
"auth": {
|
|
18
|
+
"strategy": "oauth2",
|
|
19
|
+
"oauth": {
|
|
20
|
+
"authorizationUrl": "https://connect.stripe.com/oauth/authorize",
|
|
21
|
+
"tokenUrl": "https://connect.stripe.com/oauth/token",
|
|
22
|
+
"scopes": [
|
|
23
|
+
"read_only"
|
|
24
|
+
]
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
"http": {
|
|
28
|
+
"apiBaseUrl": "https://api.stripe.com/v1",
|
|
29
|
+
"defaultTool": {
|
|
30
|
+
"name": "list_customers",
|
|
31
|
+
"description": "List Stripe customers from the connected account.",
|
|
32
|
+
"method": "GET",
|
|
33
|
+
"path": "/customers"
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"id": "api",
|
|
18
39
|
"provider": "mcp",
|
|
19
40
|
"transport": {
|
|
20
41
|
"kind": "shttp",
|
|
21
|
-
"url": "https://mcp.stripe.com/"
|
|
22
|
-
"apiKeyOptional": true
|
|
42
|
+
"url": "https://mcp.stripe.com/"
|
|
23
43
|
},
|
|
24
44
|
"auth": {
|
|
25
|
-
"strategy": "
|
|
26
|
-
"
|
|
45
|
+
"strategy": "bearer",
|
|
46
|
+
"credentialLabel": "Stripe restricted key",
|
|
47
|
+
"credentialPlaceholder": "rk_live_...",
|
|
48
|
+
"credentialHelp": "Create a Stripe restricted key for MCP access and paste it here."
|
|
27
49
|
}
|
|
28
50
|
}
|
|
51
|
+
],
|
|
52
|
+
"iconBg": "#635BFF",
|
|
53
|
+
"logoUrl": "https://cdn.simpleicons.org/stripe/FFFFFF",
|
|
54
|
+
"keywords": [
|
|
55
|
+
"payments",
|
|
56
|
+
"billing",
|
|
57
|
+
"subscriptions",
|
|
58
|
+
"finance"
|
|
29
59
|
]
|
|
30
60
|
}
|
|
@@ -2,17 +2,36 @@
|
|
|
2
2
|
"id": "supabase",
|
|
3
3
|
"name": "Supabase",
|
|
4
4
|
"description": "Query and manage your Supabase project, including database, auth, and storage.",
|
|
5
|
-
"
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
"database",
|
|
9
|
-
"auth",
|
|
10
|
-
"storage",
|
|
11
|
-
"postgres"
|
|
5
|
+
"categories": [
|
|
6
|
+
"Database",
|
|
7
|
+
"Developer tools"
|
|
12
8
|
],
|
|
13
|
-
"
|
|
14
|
-
"
|
|
9
|
+
"appUrl": "https://supabase.com",
|
|
10
|
+
"docsUrl": "https://supabase.com/docs/guides/getting-started/mcp",
|
|
11
|
+
"notes": "Popular developer platform with broad automation value and a documented management-API OAuth integration flow.",
|
|
12
|
+
"popularityRank": 38,
|
|
15
13
|
"connectionOptions": [
|
|
14
|
+
{
|
|
15
|
+
"id": "oauth",
|
|
16
|
+
"provider": "http",
|
|
17
|
+
"auth": {
|
|
18
|
+
"strategy": "oauth2",
|
|
19
|
+
"oauth": {
|
|
20
|
+
"authorizationUrl": "https://api.supabase.com/v1/oauth/authorize",
|
|
21
|
+
"tokenUrl": "https://api.supabase.com/v1/oauth/token",
|
|
22
|
+
"scopes": []
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
"http": {
|
|
26
|
+
"apiBaseUrl": "https://api.supabase.com/v1",
|
|
27
|
+
"defaultTool": {
|
|
28
|
+
"name": "list_projects",
|
|
29
|
+
"description": "List Supabase projects available to the connected user.",
|
|
30
|
+
"method": "GET",
|
|
31
|
+
"path": "/projects"
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
},
|
|
16
35
|
{
|
|
17
36
|
"id": "api",
|
|
18
37
|
"provider": "mcp",
|
|
@@ -39,5 +58,13 @@
|
|
|
39
58
|
"strategy": "api_key"
|
|
40
59
|
}
|
|
41
60
|
}
|
|
61
|
+
],
|
|
62
|
+
"iconBg": "#3ECF8E",
|
|
63
|
+
"logoUrl": "https://cdn.simpleicons.org/supabase/FFFFFF",
|
|
64
|
+
"keywords": [
|
|
65
|
+
"database",
|
|
66
|
+
"auth",
|
|
67
|
+
"storage",
|
|
68
|
+
"postgres"
|
|
42
69
|
]
|
|
43
70
|
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "trello",
|
|
3
|
+
"name": "Trello",
|
|
4
|
+
"description": "Boards, cards, checklists, and lightweight project planning.",
|
|
5
|
+
"categories": [
|
|
6
|
+
"Project management",
|
|
7
|
+
"Operations"
|
|
8
|
+
],
|
|
9
|
+
"appUrl": "https://trello.com",
|
|
10
|
+
"docsUrl": "https://developer.atlassian.com/cloud/trello/guides/rest-api/authorization/",
|
|
11
|
+
"notes": "Useful for SMB and cross-functional task boards, but Trello's public API auth is a special-case flow rather than a straightforward generic OAuth2 connector.",
|
|
12
|
+
"popularityRank": 14,
|
|
13
|
+
"connectionOptions": [
|
|
14
|
+
{
|
|
15
|
+
"id": "oauth",
|
|
16
|
+
"provider": "http",
|
|
17
|
+
"auth": {
|
|
18
|
+
"strategy": "oauth2"
|
|
19
|
+
},
|
|
20
|
+
"http": {
|
|
21
|
+
"apiBaseUrl": "https://api.trello.com/1",
|
|
22
|
+
"defaultTool": {
|
|
23
|
+
"name": "list_boards",
|
|
24
|
+
"description": "List Trello boards visible to the authenticated member.",
|
|
25
|
+
"method": "GET",
|
|
26
|
+
"path": "/members/me/boards"
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
]
|
|
31
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "vercel",
|
|
3
|
+
"name": "Vercel",
|
|
4
|
+
"description": "Deployments, projects, domains, and preview environment workflows.",
|
|
5
|
+
"categories": [
|
|
6
|
+
"Developer tools",
|
|
7
|
+
"Deployment"
|
|
8
|
+
],
|
|
9
|
+
"appUrl": "https://vercel.com",
|
|
10
|
+
"docsUrl": "https://vercel.com/docs/rest-api#oauth-apps",
|
|
11
|
+
"notes": "Especially relevant to this repo's deployment model.",
|
|
12
|
+
"popularityRank": 39,
|
|
13
|
+
"connectionOptions": [
|
|
14
|
+
{
|
|
15
|
+
"id": "oauth",
|
|
16
|
+
"provider": "http",
|
|
17
|
+
"auth": {
|
|
18
|
+
"strategy": "oauth2",
|
|
19
|
+
"oauth": {
|
|
20
|
+
"authorizationUrl": "https://vercel.com/oauth/authorize",
|
|
21
|
+
"tokenUrl": "https://api.vercel.com/v2/oauth/access_token",
|
|
22
|
+
"scopes": [
|
|
23
|
+
"project:read"
|
|
24
|
+
]
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
"http": {
|
|
28
|
+
"apiBaseUrl": "https://api.vercel.com",
|
|
29
|
+
"defaultTool": {
|
|
30
|
+
"name": "list_projects",
|
|
31
|
+
"description": "List Vercel projects available to the connected user.",
|
|
32
|
+
"method": "GET",
|
|
33
|
+
"path": "/v9/projects"
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
]
|
|
38
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "webflow",
|
|
3
|
+
"name": "Webflow",
|
|
4
|
+
"description": "CMS items, sites, and web publishing workflows.",
|
|
5
|
+
"categories": [
|
|
6
|
+
"CMS",
|
|
7
|
+
"Marketing"
|
|
8
|
+
],
|
|
9
|
+
"appUrl": "https://webflow.com",
|
|
10
|
+
"docsUrl": "https://developers.webflow.com/mcp/reference/getting-started",
|
|
11
|
+
"notes": "Uses Webflow's official hosted MCP server and deployment-scoped MCP OAuth registration so each user can authorize their own sites and workspaces.",
|
|
12
|
+
"popularityRank": 32,
|
|
13
|
+
"connectionOptions": [
|
|
14
|
+
{
|
|
15
|
+
"id": "oauth",
|
|
16
|
+
"provider": "mcp",
|
|
17
|
+
"auth": {
|
|
18
|
+
"strategy": "oauth2",
|
|
19
|
+
"oauth": {
|
|
20
|
+
"authorizationUrl": "https://mcp.webflow.com/oauth/authorize",
|
|
21
|
+
"tokenUrl": "https://mcp.webflow.com/oauth/token",
|
|
22
|
+
"scopes": [],
|
|
23
|
+
"pkce": true,
|
|
24
|
+
"clientAuthentication": "none",
|
|
25
|
+
"registrationUrl": "https://mcp.webflow.com/oauth/register"
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
"transport": {
|
|
29
|
+
"kind": "shttp",
|
|
30
|
+
"url": "https://mcp.webflow.com/mcp"
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
]
|
|
34
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "xero",
|
|
3
|
+
"name": "Xero",
|
|
4
|
+
"description": "Accounting, contacts, invoices, and bookkeeping workflows.",
|
|
5
|
+
"categories": [
|
|
6
|
+
"Finance",
|
|
7
|
+
"Accounting"
|
|
8
|
+
],
|
|
9
|
+
"appUrl": "https://www.xero.com",
|
|
10
|
+
"docsUrl": "https://developer.xero.com/documentation/guides/oauth2/overview/",
|
|
11
|
+
"notes": "Important accounting platform in many regions.",
|
|
12
|
+
"popularityRank": 48,
|
|
13
|
+
"connectionOptions": [
|
|
14
|
+
{
|
|
15
|
+
"id": "oauth",
|
|
16
|
+
"provider": "http",
|
|
17
|
+
"auth": {
|
|
18
|
+
"strategy": "oauth2",
|
|
19
|
+
"oauth": {
|
|
20
|
+
"authorizationUrl": "https://login.xero.com/identity/connect/authorize",
|
|
21
|
+
"tokenUrl": "https://identity.xero.com/connect/token",
|
|
22
|
+
"scopes": [
|
|
23
|
+
"accounting.contacts.read"
|
|
24
|
+
]
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
"http": {
|
|
28
|
+
"apiBaseUrl": "https://api.xero.com/api.xro/2.0",
|
|
29
|
+
"defaultTool": {
|
|
30
|
+
"name": "list_contacts",
|
|
31
|
+
"description": "List Xero contacts for the connected tenant.",
|
|
32
|
+
"method": "GET",
|
|
33
|
+
"path": "/Contacts"
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
]
|
|
38
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "zendesk",
|
|
3
|
+
"name": "Zendesk",
|
|
4
|
+
"description": "Support tickets, customers, agents, and help desk operations.",
|
|
5
|
+
"categories": [
|
|
6
|
+
"Support",
|
|
7
|
+
"Operations"
|
|
8
|
+
],
|
|
9
|
+
"appUrl": "https://www.zendesk.com",
|
|
10
|
+
"docsUrl": "https://developer.zendesk.com/documentation/apps/getting-started/oauth/",
|
|
11
|
+
"notes": "Strong support automation use case for agents.",
|
|
12
|
+
"popularityRank": 26,
|
|
13
|
+
"connectionOptions": [
|
|
14
|
+
{
|
|
15
|
+
"id": "oauth",
|
|
16
|
+
"provider": "http",
|
|
17
|
+
"auth": {
|
|
18
|
+
"strategy": "oauth2",
|
|
19
|
+
"oauth": {
|
|
20
|
+
"authorizationUrl": "https://{subdomain}.zendesk.com/oauth2/authorize",
|
|
21
|
+
"tokenUrl": "https://{subdomain}.zendesk.com/oauth2/token",
|
|
22
|
+
"scopes": [
|
|
23
|
+
"tickets:read"
|
|
24
|
+
]
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
"http": {
|
|
28
|
+
"apiBaseUrl": "https://{subdomain}.zendesk.com/api/v2",
|
|
29
|
+
"defaultTool": {
|
|
30
|
+
"name": "list_tickets",
|
|
31
|
+
"description": "List Zendesk tickets for the connected account.",
|
|
32
|
+
"method": "GET",
|
|
33
|
+
"path": "/tickets"
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
]
|
|
38
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "zoom",
|
|
3
|
+
"name": "Zoom",
|
|
4
|
+
"description": "Meetings, recordings, webinars, and scheduling operations.",
|
|
5
|
+
"categories": [
|
|
6
|
+
"Meetings",
|
|
7
|
+
"Calendar"
|
|
8
|
+
],
|
|
9
|
+
"appUrl": "https://zoom.us",
|
|
10
|
+
"docsUrl": "https://developers.zoom.us/docs/integrations/oauth/",
|
|
11
|
+
"notes": "Frequently requested for scheduling and meeting summaries.",
|
|
12
|
+
"popularityRank": 31,
|
|
13
|
+
"connectionOptions": [
|
|
14
|
+
{
|
|
15
|
+
"id": "oauth",
|
|
16
|
+
"provider": "http",
|
|
17
|
+
"auth": {
|
|
18
|
+
"strategy": "oauth2",
|
|
19
|
+
"oauth": {
|
|
20
|
+
"authorizationUrl": "https://zoom.us/oauth/authorize",
|
|
21
|
+
"tokenUrl": "https://zoom.us/oauth/token",
|
|
22
|
+
"scopes": [
|
|
23
|
+
"meeting:read:user"
|
|
24
|
+
]
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
"http": {
|
|
28
|
+
"apiBaseUrl": "https://api.zoom.us/v2",
|
|
29
|
+
"defaultTool": {
|
|
30
|
+
"name": "list_meetings",
|
|
31
|
+
"description": "List Zoom meetings for the connected user.",
|
|
32
|
+
"method": "GET",
|
|
33
|
+
"path": "/users/me/meetings"
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
]
|
|
38
|
+
}
|