@openhands/extensions 0.0.1-alpha

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/LICENSE +21 -0
  2. package/MIGRATION.md +62 -0
  3. package/README.md +160 -0
  4. package/automations/README.md +15 -0
  5. package/automations/catalog/github-pr-reviewer.json +13 -0
  6. package/automations/catalog/github-repo-monitor.json +11 -0
  7. package/automations/catalog/incident-retrospective-drafter.json +15 -0
  8. package/automations/catalog/linear-triage-assistant.json +13 -0
  9. package/automations/catalog/research-brief-writer.json +14 -0
  10. package/automations/catalog/slack-channel-monitor.json +11 -0
  11. package/automations/catalog/slack-standup-digest.json +13 -0
  12. package/automations/index.d.ts +14 -0
  13. package/automations/index.js +18 -0
  14. package/index.d.ts +17 -0
  15. package/index.js +2 -0
  16. package/integrations/README.md +39 -0
  17. package/integrations/catalog/airtable.json +44 -0
  18. package/integrations/catalog/apify.json +43 -0
  19. package/integrations/catalog/atlassian.json +31 -0
  20. package/integrations/catalog/brave-search.json +43 -0
  21. package/integrations/catalog/browser-mcp.json +34 -0
  22. package/integrations/catalog/clickhouse.json +56 -0
  23. package/integrations/catalog/cloudflare-bindings.json +32 -0
  24. package/integrations/catalog/cloudflare-browser-rendering.json +30 -0
  25. package/integrations/catalog/cloudflare-builds.json +31 -0
  26. package/integrations/catalog/cloudflare-docs.json +30 -0
  27. package/integrations/catalog/cloudflare-observability.json +31 -0
  28. package/integrations/catalog/deepwiki.json +32 -0
  29. package/integrations/catalog/elevenlabs.json +42 -0
  30. package/integrations/catalog/everything.json +32 -0
  31. package/integrations/catalog/exa.json +43 -0
  32. package/integrations/catalog/fetch.json +32 -0
  33. package/integrations/catalog/figma.json +44 -0
  34. package/integrations/catalog/filesystem.json +44 -0
  35. package/integrations/catalog/firecrawl.json +43 -0
  36. package/integrations/catalog/git.json +45 -0
  37. package/integrations/catalog/github.json +51 -0
  38. package/integrations/catalog/huggingface.json +32 -0
  39. package/integrations/catalog/kagi.json +42 -0
  40. package/integrations/catalog/linear.json +32 -0
  41. package/integrations/catalog/memory.json +33 -0
  42. package/integrations/catalog/mongodb.json +43 -0
  43. package/integrations/catalog/neon.json +44 -0
  44. package/integrations/catalog/notion.json +46 -0
  45. package/integrations/catalog/obsidian.json +43 -0
  46. package/integrations/catalog/paypal.json +29 -0
  47. package/integrations/catalog/playwright.json +34 -0
  48. package/integrations/catalog/redis.json +46 -0
  49. package/integrations/catalog/resend.json +49 -0
  50. package/integrations/catalog/sentry.json +30 -0
  51. package/integrations/catalog/sequential-thinking.json +32 -0
  52. package/integrations/catalog/slack.json +52 -0
  53. package/integrations/catalog/stripe.json +30 -0
  54. package/integrations/catalog/supabase.json +43 -0
  55. package/integrations/catalog/tavily.json +46 -0
  56. package/integrations/catalog/time.json +31 -0
  57. package/integrations/index.d.ts +167 -0
  58. package/integrations/index.js +212 -0
  59. package/integrations/logos.d.ts +5 -0
  60. package/integrations/logos.js +94 -0
  61. package/integrations/oauth-provider-catalog.js +553 -0
  62. package/integrations/oauth-provider-registration-defaults.js +610 -0
  63. package/package.json +56 -0
@@ -0,0 +1,34 @@
1
+ {
2
+ "id": "browser-mcp",
3
+ "name": "Browser MCP",
4
+ "description": "Control your local browser tab — navigate, click, type, and read DOM contents.",
5
+ "docsUrl": "https://browsermcp.io/",
6
+ "iconBg": "#0EA5E9",
7
+ "keywords": [
8
+ "browser",
9
+ "automation",
10
+ "chrome",
11
+ "playwright"
12
+ ],
13
+ "kind": "mcp",
14
+ "runtimeAvailability": "local",
15
+ "defaultConnectionOptionId": "none",
16
+ "connectionOptions": [
17
+ {
18
+ "id": "none",
19
+ "provider": "mcp",
20
+ "transport": {
21
+ "kind": "stdio",
22
+ "serverName": "browser_mcp",
23
+ "command": "npx",
24
+ "args": [
25
+ "-y",
26
+ "@browsermcp/mcp"
27
+ ]
28
+ },
29
+ "auth": {
30
+ "strategy": "none"
31
+ }
32
+ }
33
+ ]
34
+ }
@@ -0,0 +1,56 @@
1
+ {
2
+ "id": "clickhouse",
3
+ "name": "ClickHouse",
4
+ "description": "Run analytical SQL queries against a ClickHouse cluster.",
5
+ "docsUrl": "https://github.com/ClickHouse/mcp-clickhouse",
6
+ "iconBg": "#FFFF00",
7
+ "iconColor": "var(--oh-surface-deep)",
8
+ "keywords": [
9
+ "analytics",
10
+ "olap",
11
+ "database",
12
+ "sql"
13
+ ],
14
+ "kind": "mcp",
15
+ "defaultConnectionOptionId": "api",
16
+ "connectionOptions": [
17
+ {
18
+ "id": "api",
19
+ "provider": "mcp",
20
+ "transport": {
21
+ "kind": "stdio",
22
+ "serverName": "clickhouse",
23
+ "command": "uvx",
24
+ "args": [
25
+ "mcp-clickhouse"
26
+ ],
27
+ "envFields": [
28
+ {
29
+ "key": "CLICKHOUSE_HOST",
30
+ "label": "Host",
31
+ "type": "text",
32
+ "placeholder": "clickhouse.example.com",
33
+ "required": true
34
+ },
35
+ {
36
+ "key": "CLICKHOUSE_USER",
37
+ "label": "Username",
38
+ "type": "text",
39
+ "required": true
40
+ },
41
+ {
42
+ "key": "CLICKHOUSE_PASSWORD",
43
+ "label": "Password",
44
+ "type": "password",
45
+ "required": true,
46
+ "helperText": "Password for your ClickHouse user.",
47
+ "helperLink": "https://clickhouse.com/docs/operations/access-rights"
48
+ }
49
+ ]
50
+ },
51
+ "auth": {
52
+ "strategy": "api_key"
53
+ }
54
+ }
55
+ ]
56
+ }
@@ -0,0 +1,32 @@
1
+ {
2
+ "id": "cloudflare-bindings",
3
+ "name": "Cloudflare Workers Bindings",
4
+ "description": "Inspect and manage KV, D1, R2, and Durable Object bindings on your Cloudflare account.",
5
+ "docsUrl": "https://developers.cloudflare.com/agents/model-context-protocol/",
6
+ "iconBg": "#F38020",
7
+ "keywords": [
8
+ "cloudflare",
9
+ "workers",
10
+ "kv",
11
+ "d1",
12
+ "r2",
13
+ "durable objects"
14
+ ],
15
+ "kind": "mcp",
16
+ "defaultConnectionOptionId": "none",
17
+ "connectionOptions": [
18
+ {
19
+ "id": "none",
20
+ "provider": "mcp",
21
+ "transport": {
22
+ "kind": "sse",
23
+ "url": "https://bindings.mcp.cloudflare.com/sse",
24
+ "apiKeyOptional": true
25
+ },
26
+ "auth": {
27
+ "strategy": "none",
28
+ "apiKeyOptional": true
29
+ }
30
+ }
31
+ ]
32
+ }
@@ -0,0 +1,30 @@
1
+ {
2
+ "id": "cloudflare-browser-rendering",
3
+ "name": "Cloudflare Browser Rendering",
4
+ "description": "Fetch and screenshot pages using Cloudflare's hosted browser rendering.",
5
+ "docsUrl": "https://developers.cloudflare.com/agents/model-context-protocol/",
6
+ "iconBg": "#F38020",
7
+ "keywords": [
8
+ "cloudflare",
9
+ "browser",
10
+ "rendering",
11
+ "screenshots"
12
+ ],
13
+ "kind": "mcp",
14
+ "defaultConnectionOptionId": "none",
15
+ "connectionOptions": [
16
+ {
17
+ "id": "none",
18
+ "provider": "mcp",
19
+ "transport": {
20
+ "kind": "sse",
21
+ "url": "https://browser.mcp.cloudflare.com/sse",
22
+ "apiKeyOptional": true
23
+ },
24
+ "auth": {
25
+ "strategy": "none",
26
+ "apiKeyOptional": true
27
+ }
28
+ }
29
+ ]
30
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "id": "cloudflare-builds",
3
+ "name": "Cloudflare Builds",
4
+ "description": "Inspect Workers Builds — logs, statuses, and rerun failed deploys.",
5
+ "docsUrl": "https://developers.cloudflare.com/agents/model-context-protocol/",
6
+ "iconBg": "#F38020",
7
+ "keywords": [
8
+ "cloudflare",
9
+ "workers",
10
+ "ci",
11
+ "builds",
12
+ "deploys"
13
+ ],
14
+ "kind": "mcp",
15
+ "defaultConnectionOptionId": "none",
16
+ "connectionOptions": [
17
+ {
18
+ "id": "none",
19
+ "provider": "mcp",
20
+ "transport": {
21
+ "kind": "sse",
22
+ "url": "https://builds.mcp.cloudflare.com/sse",
23
+ "apiKeyOptional": true
24
+ },
25
+ "auth": {
26
+ "strategy": "none",
27
+ "apiKeyOptional": true
28
+ }
29
+ }
30
+ ]
31
+ }
@@ -0,0 +1,30 @@
1
+ {
2
+ "id": "cloudflare-docs",
3
+ "name": "Cloudflare Docs",
4
+ "description": "Search and reference Cloudflare's developer documentation directly from the agent.",
5
+ "docsUrl": "https://developers.cloudflare.com/agents/model-context-protocol/",
6
+ "iconBg": "#F38020",
7
+ "keywords": [
8
+ "cloudflare",
9
+ "docs",
10
+ "reference",
11
+ "workers"
12
+ ],
13
+ "kind": "mcp",
14
+ "defaultConnectionOptionId": "none",
15
+ "connectionOptions": [
16
+ {
17
+ "id": "none",
18
+ "provider": "mcp",
19
+ "transport": {
20
+ "kind": "sse",
21
+ "url": "https://docs.mcp.cloudflare.com/sse",
22
+ "apiKeyOptional": true
23
+ },
24
+ "auth": {
25
+ "strategy": "none",
26
+ "apiKeyOptional": true
27
+ }
28
+ }
29
+ ]
30
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "id": "cloudflare-observability",
3
+ "name": "Cloudflare Observability",
4
+ "description": "Tail Workers logs and query observability data from your Cloudflare account.",
5
+ "docsUrl": "https://developers.cloudflare.com/agents/model-context-protocol/",
6
+ "iconBg": "#F38020",
7
+ "keywords": [
8
+ "cloudflare",
9
+ "logs",
10
+ "tail",
11
+ "observability",
12
+ "workers"
13
+ ],
14
+ "kind": "mcp",
15
+ "defaultConnectionOptionId": "none",
16
+ "connectionOptions": [
17
+ {
18
+ "id": "none",
19
+ "provider": "mcp",
20
+ "transport": {
21
+ "kind": "sse",
22
+ "url": "https://observability.mcp.cloudflare.com/sse",
23
+ "apiKeyOptional": true
24
+ },
25
+ "auth": {
26
+ "strategy": "none",
27
+ "apiKeyOptional": true
28
+ }
29
+ }
30
+ ]
31
+ }
@@ -0,0 +1,32 @@
1
+ {
2
+ "id": "deepwiki",
3
+ "name": "DeepWiki",
4
+ "description": "Ask grounded questions about any public GitHub repository via Devin's DeepWiki MCP.",
5
+ "docsUrl": "https://docs.devin.ai/work-with-devin/deepwiki-mcp",
6
+ "iconBg": "var(--oh-color-base)",
7
+ "keywords": [
8
+ "devin",
9
+ "code",
10
+ "wiki",
11
+ "github",
12
+ "docs",
13
+ "qa"
14
+ ],
15
+ "kind": "mcp",
16
+ "defaultConnectionOptionId": "none",
17
+ "connectionOptions": [
18
+ {
19
+ "id": "none",
20
+ "provider": "mcp",
21
+ "transport": {
22
+ "kind": "sse",
23
+ "url": "https://mcp.deepwiki.com/sse",
24
+ "apiKeyOptional": true
25
+ },
26
+ "auth": {
27
+ "strategy": "none",
28
+ "apiKeyOptional": true
29
+ }
30
+ }
31
+ ]
32
+ }
@@ -0,0 +1,42 @@
1
+ {
2
+ "id": "elevenlabs",
3
+ "name": "ElevenLabs",
4
+ "description": "Generate speech, clone voices, and transcribe audio via ElevenLabs.",
5
+ "docsUrl": "https://elevenlabs.io/docs/api-reference/mcp",
6
+ "iconBg": "var(--oh-color-base)",
7
+ "keywords": [
8
+ "tts",
9
+ "speech",
10
+ "voice",
11
+ "audio"
12
+ ],
13
+ "kind": "mcp",
14
+ "defaultConnectionOptionId": "api",
15
+ "connectionOptions": [
16
+ {
17
+ "id": "api",
18
+ "provider": "mcp",
19
+ "transport": {
20
+ "kind": "stdio",
21
+ "serverName": "elevenlabs",
22
+ "command": "uvx",
23
+ "args": [
24
+ "elevenlabs-mcp"
25
+ ],
26
+ "envFields": [
27
+ {
28
+ "key": "ELEVENLABS_API_KEY",
29
+ "label": "ElevenLabs API key",
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
+ ]
36
+ },
37
+ "auth": {
38
+ "strategy": "api_key"
39
+ }
40
+ }
41
+ ]
42
+ }
@@ -0,0 +1,32 @@
1
+ {
2
+ "id": "everything",
3
+ "name": "Everything (demo)",
4
+ "description": "Reference server exercising every MCP capability — useful for testing.",
5
+ "docsUrl": "https://github.com/modelcontextprotocol/servers/tree/main/src/everything",
6
+ "iconBg": "#6366F1",
7
+ "keywords": [
8
+ "demo",
9
+ "test",
10
+ "reference"
11
+ ],
12
+ "kind": "mcp",
13
+ "defaultConnectionOptionId": "none",
14
+ "connectionOptions": [
15
+ {
16
+ "id": "none",
17
+ "provider": "mcp",
18
+ "transport": {
19
+ "kind": "stdio",
20
+ "serverName": "everything",
21
+ "command": "npx",
22
+ "args": [
23
+ "-y",
24
+ "@modelcontextprotocol/server-everything"
25
+ ]
26
+ },
27
+ "auth": {
28
+ "strategy": "none"
29
+ }
30
+ }
31
+ ]
32
+ }
@@ -0,0 +1,43 @@
1
+ {
2
+ "id": "exa",
3
+ "name": "Exa",
4
+ "description": "Neural web search with semantic ranking, content extraction, and similar-page lookup.",
5
+ "docsUrl": "https://docs.exa.ai/reference/exa-mcp",
6
+ "iconBg": "var(--oh-surface)",
7
+ "keywords": [
8
+ "search",
9
+ "web",
10
+ "research",
11
+ "neural"
12
+ ],
13
+ "kind": "mcp",
14
+ "defaultConnectionOptionId": "api",
15
+ "connectionOptions": [
16
+ {
17
+ "id": "api",
18
+ "provider": "mcp",
19
+ "transport": {
20
+ "kind": "stdio",
21
+ "serverName": "exa",
22
+ "command": "npx",
23
+ "args": [
24
+ "-y",
25
+ "exa-mcp-server"
26
+ ],
27
+ "envFields": [
28
+ {
29
+ "key": "EXA_API_KEY",
30
+ "label": "Exa API key",
31
+ "type": "password",
32
+ "required": true,
33
+ "helperText": "API key from your Exa account.",
34
+ "helperLink": "https://exa.ai/docs/reference/getting-started"
35
+ }
36
+ ]
37
+ },
38
+ "auth": {
39
+ "strategy": "api_key"
40
+ }
41
+ }
42
+ ]
43
+ }
@@ -0,0 +1,32 @@
1
+ {
2
+ "id": "fetch",
3
+ "name": "Fetch",
4
+ "description": "Plain HTTP fetcher: download a URL and convert HTML to readable markdown.",
5
+ "docsUrl": "https://github.com/modelcontextprotocol/servers/tree/main/src/fetch",
6
+ "iconBg": "var(--oh-interactive-hover)",
7
+ "keywords": [
8
+ "http",
9
+ "web",
10
+ "url",
11
+ "scrape"
12
+ ],
13
+ "kind": "mcp",
14
+ "defaultConnectionOptionId": "none",
15
+ "connectionOptions": [
16
+ {
17
+ "id": "none",
18
+ "provider": "mcp",
19
+ "transport": {
20
+ "kind": "stdio",
21
+ "serverName": "fetch",
22
+ "command": "uvx",
23
+ "args": [
24
+ "mcp-server-fetch"
25
+ ]
26
+ },
27
+ "auth": {
28
+ "strategy": "none"
29
+ }
30
+ }
31
+ ]
32
+ }
@@ -0,0 +1,44 @@
1
+ {
2
+ "id": "figma",
3
+ "name": "Figma",
4
+ "description": "Read Figma frames, components, and styles to ground UI work in your designs.",
5
+ "docsUrl": "https://github.com/GLips/Figma-Context-MCP",
6
+ "iconBg": "var(--oh-surface)",
7
+ "keywords": [
8
+ "design",
9
+ "ui",
10
+ "frames",
11
+ "components"
12
+ ],
13
+ "kind": "mcp",
14
+ "defaultConnectionOptionId": "api",
15
+ "connectionOptions": [
16
+ {
17
+ "id": "api",
18
+ "provider": "mcp",
19
+ "transport": {
20
+ "kind": "stdio",
21
+ "serverName": "figma",
22
+ "command": "npx",
23
+ "args": [
24
+ "-y",
25
+ "figma-developer-mcp",
26
+ "--stdio"
27
+ ],
28
+ "envFields": [
29
+ {
30
+ "key": "FIGMA_API_KEY",
31
+ "label": "Figma personal access token",
32
+ "type": "password",
33
+ "required": true,
34
+ "helperText": "Personal access token from your Figma account settings.",
35
+ "helperLink": "https://developers.figma.com/docs/rest-api/authentication/#personal-access-tokens"
36
+ }
37
+ ]
38
+ },
39
+ "auth": {
40
+ "strategy": "api_key"
41
+ }
42
+ }
43
+ ]
44
+ }
@@ -0,0 +1,44 @@
1
+ {
2
+ "id": "filesystem",
3
+ "name": "Filesystem",
4
+ "description": "Give the agent secure, scoped filesystem access outside the workspace.",
5
+ "docsUrl": "https://github.com/modelcontextprotocol/servers/tree/main/src/filesystem",
6
+ "iconBg": "var(--oh-interactive-hover)",
7
+ "keywords": [
8
+ "files",
9
+ "local",
10
+ "disk"
11
+ ],
12
+ "installHint": "Each path is exposed read/write. Add as many as you need, separated by spaces.",
13
+ "kind": "mcp",
14
+ "runtimeAvailability": "local",
15
+ "defaultConnectionOptionId": "api",
16
+ "connectionOptions": [
17
+ {
18
+ "id": "api",
19
+ "provider": "mcp",
20
+ "transport": {
21
+ "kind": "stdio",
22
+ "serverName": "filesystem",
23
+ "command": "npx",
24
+ "args": [
25
+ "-y",
26
+ "@modelcontextprotocol/server-filesystem"
27
+ ],
28
+ "argFields": [
29
+ {
30
+ "key": "paths",
31
+ "label": "Paths (space separated)",
32
+ "type": "text",
33
+ "placeholder": "/Users/me/Documents /Users/me/Projects",
34
+ "required": true,
35
+ "helperText": "Each whitespace-separated token is appended as its own argument."
36
+ }
37
+ ]
38
+ },
39
+ "auth": {
40
+ "strategy": "api_key"
41
+ }
42
+ }
43
+ ]
44
+ }
@@ -0,0 +1,43 @@
1
+ {
2
+ "id": "firecrawl",
3
+ "name": "Firecrawl",
4
+ "description": "Crawl any site and return clean markdown, structured data, or screenshots.",
5
+ "docsUrl": "https://docs.firecrawl.dev/mcp",
6
+ "iconBg": "#F97316",
7
+ "keywords": [
8
+ "scraping",
9
+ "crawl",
10
+ "web",
11
+ "markdown"
12
+ ],
13
+ "kind": "mcp",
14
+ "defaultConnectionOptionId": "api",
15
+ "connectionOptions": [
16
+ {
17
+ "id": "api",
18
+ "provider": "mcp",
19
+ "transport": {
20
+ "kind": "stdio",
21
+ "serverName": "firecrawl",
22
+ "command": "npx",
23
+ "args": [
24
+ "-y",
25
+ "firecrawl-mcp"
26
+ ],
27
+ "envFields": [
28
+ {
29
+ "key": "FIRECRAWL_API_KEY",
30
+ "label": "Firecrawl API key",
31
+ "type": "password",
32
+ "required": true,
33
+ "helperText": "API key from your Firecrawl dashboard.",
34
+ "helperLink": "https://www.firecrawl.dev/app/api-keys"
35
+ }
36
+ ]
37
+ },
38
+ "auth": {
39
+ "strategy": "api_key"
40
+ }
41
+ }
42
+ ]
43
+ }
@@ -0,0 +1,45 @@
1
+ {
2
+ "id": "git",
3
+ "name": "Git",
4
+ "description": "Local git repository operations: log, diff, blame, status, and more.",
5
+ "docsUrl": "https://github.com/modelcontextprotocol/servers/tree/main/src/git",
6
+ "iconBg": "#F1502F",
7
+ "keywords": [
8
+ "version control",
9
+ "log",
10
+ "diff",
11
+ "blame"
12
+ ],
13
+ "installHint": "Runs the official Python server via uvx — no setup beyond the path.",
14
+ "kind": "mcp",
15
+ "runtimeAvailability": "local",
16
+ "defaultConnectionOptionId": "api",
17
+ "connectionOptions": [
18
+ {
19
+ "id": "api",
20
+ "provider": "mcp",
21
+ "transport": {
22
+ "kind": "stdio",
23
+ "serverName": "git",
24
+ "command": "uvx",
25
+ "args": [
26
+ "mcp-server-git",
27
+ "--repository"
28
+ ],
29
+ "argFields": [
30
+ {
31
+ "key": "repo_path",
32
+ "label": "Repository path",
33
+ "type": "text",
34
+ "placeholder": "/Users/me/code/my-repo",
35
+ "required": true,
36
+ "helperText": "Appended as --repository <path>."
37
+ }
38
+ ]
39
+ },
40
+ "auth": {
41
+ "strategy": "api_key"
42
+ }
43
+ }
44
+ ]
45
+ }
@@ -0,0 +1,51 @@
1
+ {
2
+ "id": "github",
3
+ "name": "GitHub",
4
+ "description": "Search code, manage issues and pull requests, and inspect repos via the GitHub API.",
5
+ "docsUrl": "https://github.com/github/github-mcp-server",
6
+ "iconBg": "var(--oh-surface)",
7
+ "keywords": [
8
+ "git",
9
+ "pr",
10
+ "repo",
11
+ "issues",
12
+ "code"
13
+ ],
14
+ "popularityRank": 100,
15
+ "installHint": "Requires Docker because the legacy npm package was deprecated upstream.",
16
+ "kind": "mcp",
17
+ "defaultConnectionOptionId": "api",
18
+ "connectionOptions": [
19
+ {
20
+ "id": "api",
21
+ "provider": "mcp",
22
+ "transport": {
23
+ "kind": "stdio",
24
+ "serverName": "github",
25
+ "command": "docker",
26
+ "args": [
27
+ "run",
28
+ "-i",
29
+ "--rm",
30
+ "-e",
31
+ "GITHUB_PERSONAL_ACCESS_TOKEN",
32
+ "ghcr.io/github/github-mcp-server"
33
+ ],
34
+ "envFields": [
35
+ {
36
+ "key": "GITHUB_PERSONAL_ACCESS_TOKEN",
37
+ "label": "Personal access token",
38
+ "type": "password",
39
+ "placeholder": "github_pat_...",
40
+ "required": true,
41
+ "helperText": "Classic or fine-grained personal access token from GitHub settings.",
42
+ "helperLink": "https://github.com/settings/tokens"
43
+ }
44
+ ]
45
+ },
46
+ "auth": {
47
+ "strategy": "api_key"
48
+ }
49
+ }
50
+ ]
51
+ }