@openhands/extensions 0.5.0 → 0.7.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 +34 -4
- package/integrations/README.md +25 -9
- package/integrations/catalog/airtable.json +16 -10
- package/integrations/catalog/apify.json +0 -2
- package/integrations/catalog/asana.json +33 -0
- package/integrations/catalog/atlassian.json +5 -8
- package/integrations/catalog/bitbucket.json +34 -0
- package/integrations/catalog/box.json +34 -0
- package/integrations/catalog/brave-search.json +1 -2
- package/integrations/catalog/browser-mcp.json +0 -3
- package/integrations/catalog/canva.json +31 -0
- package/integrations/catalog/clickhouse.json +1 -2
- 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 +33 -0
- package/integrations/catalog/datadog.json +34 -0
- package/integrations/catalog/deepwiki.json +3 -7
- package/integrations/catalog/discord.json +34 -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 +35 -9
- package/integrations/catalog/filesystem.json +0 -3
- package/integrations/catalog/firecrawl.json +0 -2
- package/integrations/catalog/git.json +0 -3
- package/integrations/catalog/github.json +34 -10
- package/integrations/catalog/gmail.json +33 -0
- package/integrations/catalog/google-calendar.json +33 -0
- package/integrations/catalog/google-docs.json +33 -0
- package/integrations/catalog/google-drive.json +33 -0
- package/integrations/catalog/google-sheets.json +33 -0
- package/integrations/catalog/hubspot.json +34 -0
- package/integrations/catalog/huggingface.json +1 -2
- package/integrations/catalog/intercom.json +34 -0
- package/integrations/catalog/jira.json +33 -0
- package/integrations/catalog/kagi.json +2 -3
- package/integrations/catalog/linear.json +24 -16
- package/integrations/catalog/memory.json +0 -2
- package/integrations/catalog/microsoft-outlook.json +33 -0
- package/integrations/catalog/microsoft-teams.json +33 -0
- package/integrations/catalog/miro.json +42 -0
- package/integrations/catalog/monday.json +42 -0
- package/integrations/catalog/mongodb.json +1 -2
- package/integrations/catalog/neon.json +0 -2
- package/integrations/catalog/netlify.json +33 -0
- package/integrations/catalog/notion.json +30 -10
- package/integrations/catalog/obsidian.json +1 -3
- package/integrations/catalog/okta.json +33 -0
- package/integrations/catalog/onedrive.json +33 -0
- package/integrations/catalog/ordinal.json +33 -0
- package/integrations/catalog/paypal.json +5 -8
- package/integrations/catalog/playwright.json +0 -2
- package/integrations/catalog/posthog.json +38 -0
- package/integrations/catalog/quickbooks.json +86 -0
- package/integrations/catalog/redis.json +1 -3
- package/integrations/catalog/resend.json +1 -2
- package/integrations/catalog/salesforce.json +44 -0
- package/integrations/catalog/sentry.json +47 -14
- package/integrations/catalog/sequential-thinking.json +0 -2
- package/integrations/catalog/sharepoint.json +33 -0
- package/integrations/catalog/slack.json +49 -10
- package/integrations/catalog/stripe.json +39 -14
- package/integrations/catalog/supabase.json +31 -9
- package/integrations/catalog/tavily.json +0 -2
- package/integrations/catalog/time.json +0 -2
- package/integrations/catalog/trello.json +34 -0
- package/integrations/catalog/vercel.json +33 -0
- package/integrations/catalog/webflow.json +34 -0
- package/integrations/catalog/xero.json +33 -0
- package/integrations/catalog/zoom.json +33 -0
- package/integrations/catalog-index.js +151 -0
- package/integrations/catalog.schema.json +255 -0
- package/integrations/index.d.ts +49 -69
- package/integrations/index.js +36 -206
- package/marketplaces/openhands-extensions.json +40 -2
- 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/plugins/pr-review/scripts/prompt.py +1 -1
- package/pyproject.toml +18 -3
- package/python/openhands_extensions/__init__.py +24 -0
- package/python/openhands_extensions/_version.py +25 -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 +202 -0
- package/skills/bitbucket/README.md +23 -40
- package/skills/bitbucket/SKILL.md +43 -31
- package/skills/bitbucket-cloud/.plugin/plugin.json +18 -0
- package/skills/bitbucket-cloud/README.md +15 -0
- package/skills/bitbucket-cloud/SKILL.md +46 -0
- package/skills/bitbucket-data-center/.plugin/plugin.json +19 -0
- package/skills/bitbucket-data-center/README.md +20 -0
- package/skills/bitbucket-data-center/SKILL.md +53 -0
- package/skills/code-review/SKILL.md +1 -1
- package/skills/code-review/references/supply-chain-security.md +2 -2
- 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 +34 -8
- 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 -3
- package/skills/slack-channel-monitor/README.md +3 -3
- package/skills/slack-channel-monitor/SKILL.md +3 -2
- package/skills/slack-channel-monitor/references/state-schema.md +11 -4
- package/skills/slack-channel-monitor/scripts/main.py +111 -41
- package/tests/test_catalog_schema.py +47 -0
- package/tests/test_catalogs.py +47 -3
- package/tests/test_integration_catalog_in_sync.py +252 -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
|
@@ -4,26 +4,23 @@
|
|
|
4
4
|
"description": "Search and reference Cloudflare's developer documentation directly from the agent.",
|
|
5
5
|
"docsUrl": "https://developers.cloudflare.com/agents/model-context-protocol/",
|
|
6
6
|
"iconBg": "#F38020",
|
|
7
|
+
"logoUrl": "https://cdn.simpleicons.org/cloudflare/FFFFFF",
|
|
7
8
|
"keywords": [
|
|
8
9
|
"cloudflare",
|
|
9
10
|
"docs",
|
|
10
11
|
"reference",
|
|
11
12
|
"workers"
|
|
12
13
|
],
|
|
13
|
-
"kind": "mcp",
|
|
14
|
-
"defaultConnectionOptionId": "none",
|
|
15
14
|
"connectionOptions": [
|
|
16
15
|
{
|
|
17
16
|
"id": "none",
|
|
18
17
|
"provider": "mcp",
|
|
19
18
|
"transport": {
|
|
20
|
-
"kind": "
|
|
21
|
-
"url": "https://docs.mcp.cloudflare.com/
|
|
22
|
-
"apiKeyOptional": true
|
|
19
|
+
"kind": "shttp",
|
|
20
|
+
"url": "https://docs.mcp.cloudflare.com/mcp"
|
|
23
21
|
},
|
|
24
22
|
"auth": {
|
|
25
|
-
"strategy": "none"
|
|
26
|
-
"apiKeyOptional": true
|
|
23
|
+
"strategy": "none"
|
|
27
24
|
}
|
|
28
25
|
}
|
|
29
26
|
]
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
"description": "Tail Workers logs and query observability data from your Cloudflare account.",
|
|
5
5
|
"docsUrl": "https://developers.cloudflare.com/agents/model-context-protocol/",
|
|
6
6
|
"iconBg": "#F38020",
|
|
7
|
+
"logoUrl": "https://cdn.simpleicons.org/cloudflare/FFFFFF",
|
|
7
8
|
"keywords": [
|
|
8
9
|
"cloudflare",
|
|
9
10
|
"logs",
|
|
@@ -11,20 +12,16 @@
|
|
|
11
12
|
"observability",
|
|
12
13
|
"workers"
|
|
13
14
|
],
|
|
14
|
-
"kind": "mcp",
|
|
15
|
-
"defaultConnectionOptionId": "none",
|
|
16
15
|
"connectionOptions": [
|
|
17
16
|
{
|
|
18
|
-
"id": "
|
|
17
|
+
"id": "oauth",
|
|
19
18
|
"provider": "mcp",
|
|
20
19
|
"transport": {
|
|
21
|
-
"kind": "
|
|
22
|
-
"url": "https://observability.mcp.cloudflare.com/
|
|
23
|
-
"apiKeyOptional": true
|
|
20
|
+
"kind": "shttp",
|
|
21
|
+
"url": "https://observability.mcp.cloudflare.com/mcp"
|
|
24
22
|
},
|
|
25
23
|
"auth": {
|
|
26
|
-
"strategy": "
|
|
27
|
-
"apiKeyOptional": true
|
|
24
|
+
"strategy": "oauth2"
|
|
28
25
|
}
|
|
29
26
|
}
|
|
30
27
|
]
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "confluence",
|
|
3
|
+
"name": "Confluence",
|
|
4
|
+
"description": "Wiki pages, spaces, and internal documentation search.",
|
|
5
|
+
"categories": [
|
|
6
|
+
"Documentation",
|
|
7
|
+
"Knowledge base"
|
|
8
|
+
],
|
|
9
|
+
"appUrl": "https://www.atlassian.com/software/confluence",
|
|
10
|
+
"docsUrl": "https://developer.atlassian.com/cloud/confluence/oauth-2-3lo-apps/",
|
|
11
|
+
"notes": "Natural companion to Jira for software teams.",
|
|
12
|
+
"popularityRank": 11,
|
|
13
|
+
"connectionOptions": [
|
|
14
|
+
{
|
|
15
|
+
"id": "oauth",
|
|
16
|
+
"provider": "http",
|
|
17
|
+
"auth": {
|
|
18
|
+
"strategy": "oauth2",
|
|
19
|
+
"oauth": {
|
|
20
|
+
"authorizationUrl": "https://auth.atlassian.com/authorize",
|
|
21
|
+
"tokenUrl": "https://auth.atlassian.com/oauth/token",
|
|
22
|
+
"scopes": [
|
|
23
|
+
"read:page:confluence"
|
|
24
|
+
]
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
"http": {
|
|
28
|
+
"apiBaseUrl": "https://api.atlassian.com/ex/confluence/{cloudId}",
|
|
29
|
+
"openApiUrl": "https://developer.atlassian.com/cloud/confluence/swagger.v3.json"
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
]
|
|
33
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "datadog",
|
|
3
|
+
"name": "Datadog",
|
|
4
|
+
"description": "Logs, metrics, monitors, incidents, and observability workflows.",
|
|
5
|
+
"categories": [
|
|
6
|
+
"Observability",
|
|
7
|
+
"Operations"
|
|
8
|
+
],
|
|
9
|
+
"appUrl": "https://www.datadoghq.com",
|
|
10
|
+
"docsUrl": "https://docs.datadoghq.com/bits_ai/mcp_server/setup/",
|
|
11
|
+
"notes": "Uses Datadog's official hosted MCP server. The default registration targets the US1 endpoint and can be edited for other Datadog sites.",
|
|
12
|
+
"popularityRank": 35,
|
|
13
|
+
"connectionOptions": [
|
|
14
|
+
{
|
|
15
|
+
"id": "oauth",
|
|
16
|
+
"provider": "mcp",
|
|
17
|
+
"auth": {
|
|
18
|
+
"strategy": "oauth2",
|
|
19
|
+
"oauth": {
|
|
20
|
+
"authorizationUrl": "https://app.datadoghq.com/oauth2/v1/authorize",
|
|
21
|
+
"tokenUrl": "https://api.datadoghq.com/oauth2/v1/token",
|
|
22
|
+
"scopes": [
|
|
23
|
+
"dashboards_read",
|
|
24
|
+
"monitors_read"
|
|
25
|
+
]
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
"transport": {
|
|
29
|
+
"kind": "shttp",
|
|
30
|
+
"url": "https://mcp.datadoghq.com/api/unstable/mcp-server/mcp"
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
]
|
|
34
|
+
}
|
|
@@ -12,20 +12,16 @@
|
|
|
12
12
|
"docs",
|
|
13
13
|
"qa"
|
|
14
14
|
],
|
|
15
|
-
"kind": "mcp",
|
|
16
|
-
"defaultConnectionOptionId": "none",
|
|
17
15
|
"connectionOptions": [
|
|
18
16
|
{
|
|
19
17
|
"id": "none",
|
|
20
18
|
"provider": "mcp",
|
|
21
19
|
"transport": {
|
|
22
|
-
"kind": "
|
|
23
|
-
"url": "https://mcp.deepwiki.com/
|
|
24
|
-
"apiKeyOptional": true
|
|
20
|
+
"kind": "shttp",
|
|
21
|
+
"url": "https://mcp.deepwiki.com/mcp"
|
|
25
22
|
},
|
|
26
23
|
"auth": {
|
|
27
|
-
"strategy": "none"
|
|
28
|
-
"apiKeyOptional": true
|
|
24
|
+
"strategy": "none"
|
|
29
25
|
}
|
|
30
26
|
}
|
|
31
27
|
]
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "discord",
|
|
3
|
+
"name": "Discord",
|
|
4
|
+
"description": "Guilds, channels, messages, and community operations.",
|
|
5
|
+
"categories": [
|
|
6
|
+
"Communication",
|
|
7
|
+
"Community"
|
|
8
|
+
],
|
|
9
|
+
"appUrl": "https://discord.com",
|
|
10
|
+
"docsUrl": "https://discord.com/developers/docs/topics/oauth2",
|
|
11
|
+
"notes": "Useful for community automation and bot-assisted workflows.",
|
|
12
|
+
"popularityRank": 30,
|
|
13
|
+
"connectionOptions": [
|
|
14
|
+
{
|
|
15
|
+
"id": "oauth",
|
|
16
|
+
"provider": "http",
|
|
17
|
+
"auth": {
|
|
18
|
+
"strategy": "oauth2",
|
|
19
|
+
"oauth": {
|
|
20
|
+
"authorizationUrl": "https://discord.com/oauth2/authorize",
|
|
21
|
+
"tokenUrl": "https://discord.com/api/oauth2/token",
|
|
22
|
+
"scopes": [
|
|
23
|
+
"identify",
|
|
24
|
+
"guilds"
|
|
25
|
+
]
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
"http": {
|
|
29
|
+
"apiBaseUrl": "https://discord.com/api/v10",
|
|
30
|
+
"openApiUrl": "https://raw.githubusercontent.com/discord/discord-api-spec/main/specs/openapi.json"
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
]
|
|
34
|
+
}
|
|
@@ -2,41 +2,40 @@
|
|
|
2
2
|
"id": "elevenlabs",
|
|
3
3
|
"name": "ElevenLabs",
|
|
4
4
|
"description": "Generate speech, clone voices, and transcribe audio via ElevenLabs.",
|
|
5
|
-
"
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
"tts",
|
|
9
|
-
"speech",
|
|
10
|
-
"voice",
|
|
11
|
-
"audio"
|
|
5
|
+
"categories": [
|
|
6
|
+
"Audio",
|
|
7
|
+
"AI"
|
|
12
8
|
],
|
|
13
|
-
"
|
|
14
|
-
"
|
|
9
|
+
"appUrl": "https://elevenlabs.io",
|
|
10
|
+
"docsUrl": "https://elevenlabs.io/docs/api-reference/mcp",
|
|
11
|
+
"notes": "Official API-key connector backed by ElevenLabs' published OpenAPI spec.",
|
|
12
|
+
"popularityRank": 51,
|
|
15
13
|
"connectionOptions": [
|
|
16
14
|
{
|
|
17
15
|
"id": "api",
|
|
18
|
-
"provider": "
|
|
19
|
-
"
|
|
20
|
-
"
|
|
21
|
-
"
|
|
22
|
-
|
|
23
|
-
"args": [
|
|
24
|
-
"elevenlabs-mcp"
|
|
16
|
+
"provider": "http",
|
|
17
|
+
"auth": {
|
|
18
|
+
"strategy": "api_key",
|
|
19
|
+
"authModes": [
|
|
20
|
+
"api_key"
|
|
25
21
|
],
|
|
26
|
-
"
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
"type": "password",
|
|
31
|
-
"required": true,
|
|
32
|
-
"helperText": "API key from your ElevenLabs account settings.",
|
|
33
|
-
"helperLink": "https://elevenlabs.io/app/settings/api-keys"
|
|
34
|
-
}
|
|
35
|
-
]
|
|
22
|
+
"credentialLabel": "ElevenLabs API key",
|
|
23
|
+
"credentialPlaceholder": "Paste your ElevenLabs API key",
|
|
24
|
+
"credentialHelp": "Personal or workspace ElevenLabs API key sent in the xi-api-key header.",
|
|
25
|
+
"apiKeyHeaderName": "xi-api-key"
|
|
36
26
|
},
|
|
37
|
-
"
|
|
38
|
-
"
|
|
27
|
+
"http": {
|
|
28
|
+
"apiBaseUrl": "https://api.elevenlabs.io",
|
|
29
|
+
"openApiUrl": "https://api.elevenlabs.io/openapi.json"
|
|
39
30
|
}
|
|
40
31
|
}
|
|
32
|
+
],
|
|
33
|
+
"iconBg": "var(--oh-color-base)",
|
|
34
|
+
"logoUrl": "https://cdn.simpleicons.org/elevenlabs/FFFFFF",
|
|
35
|
+
"keywords": [
|
|
36
|
+
"tts",
|
|
37
|
+
"speech",
|
|
38
|
+
"voice",
|
|
39
|
+
"audio"
|
|
41
40
|
]
|
|
42
41
|
}
|
|
@@ -2,16 +2,13 @@
|
|
|
2
2
|
"id": "figma",
|
|
3
3
|
"name": "Figma",
|
|
4
4
|
"description": "Read Figma frames, components, and styles to ground UI work in your designs.",
|
|
5
|
-
"
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
"design",
|
|
9
|
-
"ui",
|
|
10
|
-
"frames",
|
|
11
|
-
"components"
|
|
5
|
+
"categories": [
|
|
6
|
+
"Design",
|
|
7
|
+
"Frontend"
|
|
12
8
|
],
|
|
13
|
-
"
|
|
14
|
-
"
|
|
9
|
+
"appUrl": "https://www.figma.com",
|
|
10
|
+
"docsUrl": "https://github.com/GLips/Figma-Context-MCP",
|
|
11
|
+
"popularityRank": 5,
|
|
15
12
|
"connectionOptions": [
|
|
16
13
|
{
|
|
17
14
|
"id": "api",
|
|
@@ -39,6 +36,35 @@
|
|
|
39
36
|
"auth": {
|
|
40
37
|
"strategy": "api_key"
|
|
41
38
|
}
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"id": "oauth",
|
|
42
|
+
"provider": "http",
|
|
43
|
+
"auth": {
|
|
44
|
+
"strategy": "oauth2",
|
|
45
|
+
"oauth": {
|
|
46
|
+
"authorizationUrl": "https://www.figma.com/oauth",
|
|
47
|
+
"tokenUrl": "https://api.figma.com/v1/oauth/token",
|
|
48
|
+
"scopes": [
|
|
49
|
+
"current_user:read",
|
|
50
|
+
"file_content:read",
|
|
51
|
+
"file_metadata:read",
|
|
52
|
+
"projects:read"
|
|
53
|
+
]
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
"http": {
|
|
57
|
+
"apiBaseUrl": "https://api.figma.com",
|
|
58
|
+
"openApiUrl": "https://raw.githubusercontent.com/figma/rest-api-spec/main/openapi/openapi.yaml"
|
|
59
|
+
}
|
|
42
60
|
}
|
|
61
|
+
],
|
|
62
|
+
"iconBg": "var(--oh-surface)",
|
|
63
|
+
"logoUrl": "https://cdn.simpleicons.org/figma/FFFFFF",
|
|
64
|
+
"keywords": [
|
|
65
|
+
"design",
|
|
66
|
+
"ui",
|
|
67
|
+
"frames",
|
|
68
|
+
"components"
|
|
43
69
|
]
|
|
44
70
|
}
|
|
@@ -2,19 +2,34 @@
|
|
|
2
2
|
"id": "github",
|
|
3
3
|
"name": "GitHub",
|
|
4
4
|
"description": "Search code, manage issues and pull requests, and inspect repos via the GitHub API.",
|
|
5
|
-
"
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
"git",
|
|
9
|
-
"pr",
|
|
10
|
-
"repo",
|
|
11
|
-
"issues",
|
|
12
|
-
"code"
|
|
5
|
+
"categories": [
|
|
6
|
+
"Engineering",
|
|
7
|
+
"Source control"
|
|
13
8
|
],
|
|
9
|
+
"appUrl": "https://github.com",
|
|
10
|
+
"docsUrl": "https://github.com/github/github-mcp-server",
|
|
11
|
+
"notes": "Current managed connector works with bearer tokens today; GitHub OAuth is a strong candidate for a future one-click connect flow.",
|
|
14
12
|
"popularityRank": 100,
|
|
15
|
-
"kind": "mcp",
|
|
16
|
-
"defaultConnectionOptionId": "api",
|
|
17
13
|
"connectionOptions": [
|
|
14
|
+
{
|
|
15
|
+
"id": "oauth",
|
|
16
|
+
"provider": "mcp",
|
|
17
|
+
"auth": {
|
|
18
|
+
"strategy": "oauth2",
|
|
19
|
+
"oauth": {
|
|
20
|
+
"authorizationUrl": "https://github.com/login/oauth/authorize",
|
|
21
|
+
"tokenUrl": "https://github.com/login/oauth/access_token",
|
|
22
|
+
"scopes": [
|
|
23
|
+
"read:user",
|
|
24
|
+
"repo"
|
|
25
|
+
]
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
"transport": {
|
|
29
|
+
"kind": "shttp",
|
|
30
|
+
"url": "https://api.githubcopilot.com/mcp/"
|
|
31
|
+
}
|
|
32
|
+
},
|
|
18
33
|
{
|
|
19
34
|
"id": "api",
|
|
20
35
|
"provider": "mcp",
|
|
@@ -31,5 +46,14 @@
|
|
|
31
46
|
"saveCredentialAsSecretByDefault": true
|
|
32
47
|
}
|
|
33
48
|
}
|
|
49
|
+
],
|
|
50
|
+
"iconBg": "var(--oh-surface)",
|
|
51
|
+
"logoUrl": "https://cdn.simpleicons.org/github/FFFFFF",
|
|
52
|
+
"keywords": [
|
|
53
|
+
"git",
|
|
54
|
+
"pr",
|
|
55
|
+
"repo",
|
|
56
|
+
"issues",
|
|
57
|
+
"code"
|
|
34
58
|
]
|
|
35
59
|
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "gmail",
|
|
3
|
+
"name": "Gmail",
|
|
4
|
+
"description": "Mailbox search, drafting, sending, and thread triage.",
|
|
5
|
+
"categories": [
|
|
6
|
+
"Communication",
|
|
7
|
+
"Email"
|
|
8
|
+
],
|
|
9
|
+
"appUrl": "https://workspace.google.com/products/gmail/",
|
|
10
|
+
"docsUrl": "https://developers.google.com/identity/protocols/oauth2",
|
|
11
|
+
"notes": "Popular agent workflow target for inbox triage and drafting.",
|
|
12
|
+
"popularityRank": 8,
|
|
13
|
+
"connectionOptions": [
|
|
14
|
+
{
|
|
15
|
+
"id": "oauth",
|
|
16
|
+
"provider": "http",
|
|
17
|
+
"auth": {
|
|
18
|
+
"strategy": "oauth2",
|
|
19
|
+
"oauth": {
|
|
20
|
+
"authorizationUrl": "https://accounts.google.com/o/oauth2/v2/auth",
|
|
21
|
+
"tokenUrl": "https://oauth2.googleapis.com/token",
|
|
22
|
+
"scopes": [
|
|
23
|
+
"https://www.googleapis.com/auth/gmail.readonly"
|
|
24
|
+
]
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
"http": {
|
|
28
|
+
"apiBaseUrl": "https://gmail.googleapis.com",
|
|
29
|
+
"openApiUrl": "https://api.apis.guru/v2/specs/googleapis.com/gmail/v1/openapi.json"
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
]
|
|
33
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "google-calendar",
|
|
3
|
+
"name": "Google Calendar",
|
|
4
|
+
"description": "Calendar search, event scheduling, and meeting coordination.",
|
|
5
|
+
"categories": [
|
|
6
|
+
"Calendar",
|
|
7
|
+
"Scheduling"
|
|
8
|
+
],
|
|
9
|
+
"appUrl": "https://workspace.google.com/products/calendar/",
|
|
10
|
+
"docsUrl": "https://developers.google.com/identity/protocols/oauth2",
|
|
11
|
+
"notes": "Strong personal productivity use case with mature OAuth flows.",
|
|
12
|
+
"popularityRank": 9,
|
|
13
|
+
"connectionOptions": [
|
|
14
|
+
{
|
|
15
|
+
"id": "oauth",
|
|
16
|
+
"provider": "http",
|
|
17
|
+
"auth": {
|
|
18
|
+
"strategy": "oauth2",
|
|
19
|
+
"oauth": {
|
|
20
|
+
"authorizationUrl": "https://accounts.google.com/o/oauth2/v2/auth",
|
|
21
|
+
"tokenUrl": "https://oauth2.googleapis.com/token",
|
|
22
|
+
"scopes": [
|
|
23
|
+
"https://www.googleapis.com/auth/calendar.readonly"
|
|
24
|
+
]
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
"http": {
|
|
28
|
+
"apiBaseUrl": "https://www.googleapis.com/calendar/v3",
|
|
29
|
+
"openApiUrl": "https://api.apis.guru/v2/specs/googleapis.com/calendar/v3/openapi.json"
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
]
|
|
33
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "google-docs",
|
|
3
|
+
"name": "Google Docs",
|
|
4
|
+
"description": "Docs authoring and Google Workspace document automation.",
|
|
5
|
+
"categories": [
|
|
6
|
+
"Documents",
|
|
7
|
+
"Knowledge base"
|
|
8
|
+
],
|
|
9
|
+
"appUrl": "https://workspace.google.com/products/docs/",
|
|
10
|
+
"docsUrl": "https://developers.google.com/identity/protocols/oauth2",
|
|
11
|
+
"notes": "Current managed connector accepts a Google access token manually; a full OAuth connect flow can remove token copy/paste.",
|
|
12
|
+
"popularityRank": 2,
|
|
13
|
+
"connectionOptions": [
|
|
14
|
+
{
|
|
15
|
+
"id": "oauth",
|
|
16
|
+
"provider": "http",
|
|
17
|
+
"auth": {
|
|
18
|
+
"strategy": "oauth2",
|
|
19
|
+
"oauth": {
|
|
20
|
+
"authorizationUrl": "https://accounts.google.com/o/oauth2/v2/auth",
|
|
21
|
+
"tokenUrl": "https://oauth2.googleapis.com/token",
|
|
22
|
+
"scopes": [
|
|
23
|
+
"https://www.googleapis.com/auth/documents.readonly"
|
|
24
|
+
]
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
"http": {
|
|
28
|
+
"apiBaseUrl": "https://docs.googleapis.com",
|
|
29
|
+
"openApiUrl": "https://api.apis.guru/v2/specs/googleapis.com/docs/v1/openapi.json"
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
]
|
|
33
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "google-drive",
|
|
3
|
+
"name": "Google Drive",
|
|
4
|
+
"description": "File search, metadata, folders, and document discovery.",
|
|
5
|
+
"categories": [
|
|
6
|
+
"Storage",
|
|
7
|
+
"Documents"
|
|
8
|
+
],
|
|
9
|
+
"appUrl": "https://workspace.google.com/products/drive/",
|
|
10
|
+
"docsUrl": "https://developers.google.com/identity/protocols/oauth2",
|
|
11
|
+
"notes": "Natural expansion of the Google Workspace surface beyond Google Docs.",
|
|
12
|
+
"popularityRank": 6,
|
|
13
|
+
"connectionOptions": [
|
|
14
|
+
{
|
|
15
|
+
"id": "oauth",
|
|
16
|
+
"provider": "http",
|
|
17
|
+
"auth": {
|
|
18
|
+
"strategy": "oauth2",
|
|
19
|
+
"oauth": {
|
|
20
|
+
"authorizationUrl": "https://accounts.google.com/o/oauth2/v2/auth",
|
|
21
|
+
"tokenUrl": "https://oauth2.googleapis.com/token",
|
|
22
|
+
"scopes": [
|
|
23
|
+
"https://www.googleapis.com/auth/drive.metadata.readonly"
|
|
24
|
+
]
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
"http": {
|
|
28
|
+
"apiBaseUrl": "https://www.googleapis.com/drive/v3",
|
|
29
|
+
"openApiUrl": "https://api.apis.guru/v2/specs/googleapis.com/drive/v3/openapi.json"
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
]
|
|
33
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "google-sheets",
|
|
3
|
+
"name": "Google Sheets",
|
|
4
|
+
"description": "Spreadsheet reads, writes, formulas, and reporting workflows.",
|
|
5
|
+
"categories": [
|
|
6
|
+
"Spreadsheets",
|
|
7
|
+
"Analytics"
|
|
8
|
+
],
|
|
9
|
+
"appUrl": "https://workspace.google.com/products/sheets/",
|
|
10
|
+
"docsUrl": "https://developers.google.com/identity/protocols/oauth2",
|
|
11
|
+
"notes": "High-value automation surface for agent-driven reporting and structured edits.",
|
|
12
|
+
"popularityRank": 7,
|
|
13
|
+
"connectionOptions": [
|
|
14
|
+
{
|
|
15
|
+
"id": "oauth",
|
|
16
|
+
"provider": "http",
|
|
17
|
+
"auth": {
|
|
18
|
+
"strategy": "oauth2",
|
|
19
|
+
"oauth": {
|
|
20
|
+
"authorizationUrl": "https://accounts.google.com/o/oauth2/v2/auth",
|
|
21
|
+
"tokenUrl": "https://oauth2.googleapis.com/token",
|
|
22
|
+
"scopes": [
|
|
23
|
+
"https://www.googleapis.com/auth/spreadsheets.readonly"
|
|
24
|
+
]
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
"http": {
|
|
28
|
+
"apiBaseUrl": "https://sheets.googleapis.com",
|
|
29
|
+
"openApiUrl": "https://api.apis.guru/v2/specs/googleapis.com/sheets/v4/openapi.json"
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
]
|
|
33
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "hubspot",
|
|
3
|
+
"name": "HubSpot",
|
|
4
|
+
"description": "CRM, marketing, tickets, and customer lifecycle workflows.",
|
|
5
|
+
"categories": [
|
|
6
|
+
"CRM",
|
|
7
|
+
"Marketing"
|
|
8
|
+
],
|
|
9
|
+
"appUrl": "https://www.hubspot.com",
|
|
10
|
+
"docsUrl": "https://developers.hubspot.com/docs/apps/developer-platform/build-apps/integrate-with-the-remote-hubspot-mcp-server",
|
|
11
|
+
"notes": "Uses HubSpot's official remote MCP server plus MCP auth apps with PKCE.",
|
|
12
|
+
"popularityRank": 25,
|
|
13
|
+
"connectionOptions": [
|
|
14
|
+
{
|
|
15
|
+
"id": "oauth",
|
|
16
|
+
"provider": "mcp",
|
|
17
|
+
"auth": {
|
|
18
|
+
"strategy": "oauth2",
|
|
19
|
+
"credentialHelp": "Use the client ID and secret from a HubSpot MCP auth app (Development → MCP Auth Apps). Standard HubSpot OAuth apps and private apps will not authenticate with mcp.hubspot.com.",
|
|
20
|
+
"oauth": {
|
|
21
|
+
"authorizationUrl": "https://mcp.hubspot.com/oauth/authorize/user",
|
|
22
|
+
"tokenUrl": "https://mcp.hubspot.com/oauth/v3/token",
|
|
23
|
+
"scopes": [],
|
|
24
|
+
"pkce": true,
|
|
25
|
+
"clientAuthentication": "body"
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
"transport": {
|
|
29
|
+
"kind": "shttp",
|
|
30
|
+
"url": "https://mcp.hubspot.com"
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
]
|
|
34
|
+
}
|