@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.
- 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/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 +43 -10
- 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 +24 -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 +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_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
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"id": "cloudflare-builds",
|
|
3
3
|
"name": "Cloudflare Builds",
|
|
4
|
-
"description": "Inspect Workers Builds
|
|
4
|
+
"description": "Inspect Workers Builds \u2014 logs, statuses, and rerun failed deploys.",
|
|
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
|
"workers",
|
|
@@ -11,20 +12,16 @@
|
|
|
11
12
|
"builds",
|
|
12
13
|
"deploys"
|
|
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://builds.mcp.cloudflare.com/
|
|
23
|
-
"apiKeyOptional": true
|
|
20
|
+
"kind": "shttp",
|
|
21
|
+
"url": "https://builds.mcp.cloudflare.com/mcp"
|
|
24
22
|
},
|
|
25
23
|
"auth": {
|
|
26
|
-
"strategy": "
|
|
27
|
-
"apiKeyOptional": true
|
|
24
|
+
"strategy": "oauth2"
|
|
28
25
|
}
|
|
29
26
|
}
|
|
30
27
|
]
|
|
@@ -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,38 @@
|
|
|
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
|
+
"defaultTool": {
|
|
30
|
+
"name": "list_spaces",
|
|
31
|
+
"description": "List Confluence spaces available to the connected user.",
|
|
32
|
+
"method": "GET",
|
|
33
|
+
"path": "/wiki/api/v2/spaces"
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
]
|
|
38
|
+
}
|
|
@@ -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,39 @@
|
|
|
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
|
+
"defaultTool": {
|
|
31
|
+
"name": "list_guilds",
|
|
32
|
+
"description": "List Discord guilds available to the connected user.",
|
|
33
|
+
"method": "GET",
|
|
34
|
+
"path": "/users/@me/guilds"
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
]
|
|
39
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "dropbox",
|
|
3
|
+
"name": "Dropbox",
|
|
4
|
+
"description": "Cloud files, folders, content access, and sharing.",
|
|
5
|
+
"categories": [
|
|
6
|
+
"Storage",
|
|
7
|
+
"Documents"
|
|
8
|
+
],
|
|
9
|
+
"appUrl": "https://www.dropbox.com",
|
|
10
|
+
"docsUrl": "https://developers.dropbox.com/oauth-guide",
|
|
11
|
+
"notes": "Popular file automation target with mature OAuth support.",
|
|
12
|
+
"popularityRank": 18,
|
|
13
|
+
"connectionOptions": [
|
|
14
|
+
{
|
|
15
|
+
"id": "oauth",
|
|
16
|
+
"provider": "http",
|
|
17
|
+
"auth": {
|
|
18
|
+
"strategy": "oauth2",
|
|
19
|
+
"oauth": {
|
|
20
|
+
"authorizationUrl": "https://www.dropbox.com/oauth2/authorize",
|
|
21
|
+
"tokenUrl": "https://api.dropboxapi.com/oauth2/token",
|
|
22
|
+
"scopes": [
|
|
23
|
+
"files.metadata.read"
|
|
24
|
+
]
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
"http": {
|
|
28
|
+
"apiBaseUrl": "https://api.dropboxapi.com/2",
|
|
29
|
+
"defaultTool": {
|
|
30
|
+
"name": "list_root_folder",
|
|
31
|
+
"description": "List entries in the root Dropbox folder.",
|
|
32
|
+
"method": "POST",
|
|
33
|
+
"path": "/files/list_folder"
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
]
|
|
38
|
+
}
|
|
@@ -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,17 +2,41 @@
|
|
|
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
|
+
"notes": "",
|
|
12
|
+
"popularityRank": 5,
|
|
15
13
|
"connectionOptions": [
|
|
14
|
+
{
|
|
15
|
+
"id": "oauth",
|
|
16
|
+
"provider": "http",
|
|
17
|
+
"auth": {
|
|
18
|
+
"strategy": "oauth2",
|
|
19
|
+
"oauth": {
|
|
20
|
+
"authorizationUrl": "https://www.figma.com/oauth",
|
|
21
|
+
"tokenUrl": "https://api.figma.com/v1/oauth/token",
|
|
22
|
+
"scopes": [
|
|
23
|
+
"current_user:read",
|
|
24
|
+
"file_content:read",
|
|
25
|
+
"file_metadata:read",
|
|
26
|
+
"projects:read"
|
|
27
|
+
]
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
"http": {
|
|
31
|
+
"apiBaseUrl": "https://api.figma.com",
|
|
32
|
+
"defaultTool": {
|
|
33
|
+
"name": "get_file",
|
|
34
|
+
"description": "Fetch a Figma file by key.",
|
|
35
|
+
"method": "GET",
|
|
36
|
+
"path": "/v1/files/{fileKey}"
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
},
|
|
16
40
|
{
|
|
17
41
|
"id": "api",
|
|
18
42
|
"provider": "mcp",
|
|
@@ -40,5 +64,13 @@
|
|
|
40
64
|
"strategy": "api_key"
|
|
41
65
|
}
|
|
42
66
|
}
|
|
67
|
+
],
|
|
68
|
+
"iconBg": "var(--oh-surface)",
|
|
69
|
+
"logoUrl": "https://cdn.simpleicons.org/figma/FFFFFF",
|
|
70
|
+
"keywords": [
|
|
71
|
+
"design",
|
|
72
|
+
"ui",
|
|
73
|
+
"frames",
|
|
74
|
+
"components"
|
|
43
75
|
]
|
|
44
76
|
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "freshdesk",
|
|
3
|
+
"name": "Freshdesk",
|
|
4
|
+
"description": "Support tickets, customer records, and help desk workflows.",
|
|
5
|
+
"categories": [
|
|
6
|
+
"Support",
|
|
7
|
+
"Operations"
|
|
8
|
+
],
|
|
9
|
+
"appUrl": "https://www.freshworks.com/freshdesk/",
|
|
10
|
+
"docsUrl": "https://developers.freshdesk.com/api/#authentication",
|
|
11
|
+
"notes": "Popular support platform for SMB and mid-market teams.",
|
|
12
|
+
"popularityRank": 44,
|
|
13
|
+
"connectionOptions": [
|
|
14
|
+
{
|
|
15
|
+
"id": "oauth",
|
|
16
|
+
"provider": "http",
|
|
17
|
+
"auth": {
|
|
18
|
+
"strategy": "oauth2",
|
|
19
|
+
"oauth": {
|
|
20
|
+
"authorizationUrl": "https://{domain}.freshdesk.com/oauth/authorize",
|
|
21
|
+
"tokenUrl": "https://{domain}.freshdesk.com/oauth/token",
|
|
22
|
+
"scopes": [
|
|
23
|
+
"tickets_view"
|
|
24
|
+
]
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
"http": {
|
|
28
|
+
"apiBaseUrl": "https://{domain}.freshdesk.com/api/v2",
|
|
29
|
+
"defaultTool": {
|
|
30
|
+
"name": "list_tickets",
|
|
31
|
+
"description": "List Freshdesk tickets for the connected account.",
|
|
32
|
+
"method": "GET",
|
|
33
|
+
"path": "/tickets"
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
]
|
|
38
|
+
}
|
|
@@ -2,19 +2,43 @@
|
|
|
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
|
+
"http": {
|
|
33
|
+
"apiBaseUrl": "https://api.github.com",
|
|
34
|
+
"defaultTool": {
|
|
35
|
+
"name": "get_authenticated_user",
|
|
36
|
+
"description": "Fetch the authenticated GitHub user profile.",
|
|
37
|
+
"method": "GET",
|
|
38
|
+
"path": "/user"
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
},
|
|
18
42
|
{
|
|
19
43
|
"id": "api",
|
|
20
44
|
"provider": "mcp",
|
|
@@ -31,5 +55,14 @@
|
|
|
31
55
|
"saveCredentialAsSecretByDefault": true
|
|
32
56
|
}
|
|
33
57
|
}
|
|
58
|
+
],
|
|
59
|
+
"iconBg": "var(--oh-surface)",
|
|
60
|
+
"logoUrl": "https://cdn.simpleicons.org/github/FFFFFF",
|
|
61
|
+
"keywords": [
|
|
62
|
+
"git",
|
|
63
|
+
"pr",
|
|
64
|
+
"repo",
|
|
65
|
+
"issues",
|
|
66
|
+
"code"
|
|
34
67
|
]
|
|
35
68
|
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "gitlab",
|
|
3
|
+
"name": "GitLab",
|
|
4
|
+
"description": "Repositories, issues, merge requests, pipelines, and DevSecOps.",
|
|
5
|
+
"categories": [
|
|
6
|
+
"Engineering",
|
|
7
|
+
"Source control"
|
|
8
|
+
],
|
|
9
|
+
"appUrl": "https://about.gitlab.com",
|
|
10
|
+
"docsUrl": "https://docs.gitlab.com/integration/oauth_provider/",
|
|
11
|
+
"notes": "Major Git hosting platform and natural expansion beyond GitHub.",
|
|
12
|
+
"popularityRank": 49,
|
|
13
|
+
"connectionOptions": [
|
|
14
|
+
{
|
|
15
|
+
"id": "oauth",
|
|
16
|
+
"provider": "http",
|
|
17
|
+
"auth": {
|
|
18
|
+
"strategy": "oauth2",
|
|
19
|
+
"oauth": {
|
|
20
|
+
"authorizationUrl": "https://gitlab.com/oauth/authorize",
|
|
21
|
+
"tokenUrl": "https://gitlab.com/oauth/token",
|
|
22
|
+
"scopes": [
|
|
23
|
+
"read_api"
|
|
24
|
+
]
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
"http": {
|
|
28
|
+
"apiBaseUrl": "https://gitlab.com/api/v4",
|
|
29
|
+
"defaultTool": {
|
|
30
|
+
"name": "get_current_user",
|
|
31
|
+
"description": "Fetch the authenticated GitLab user profile.",
|
|
32
|
+
"method": "GET",
|
|
33
|
+
"path": "/user"
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
]
|
|
38
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
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
|
+
"defaultTool": {
|
|
30
|
+
"name": "list_messages",
|
|
31
|
+
"description": "List Gmail messages for the authenticated user.",
|
|
32
|
+
"method": "GET",
|
|
33
|
+
"path": "/gmail/v1/users/me/messages"
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
]
|
|
38
|
+
}
|