openhands-extensions 0.6.0__py3-none-any.whl

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 (89) hide show
  1. openhands_extensions/__init__.py +24 -0
  2. openhands_extensions/_version.py +24 -0
  3. openhands_extensions/catalog/airtable.json +74 -0
  4. openhands_extensions/catalog/apify.json +41 -0
  5. openhands_extensions/catalog/asana.json +38 -0
  6. openhands_extensions/catalog/atlassian.json +28 -0
  7. openhands_extensions/catalog/bitbucket.json +39 -0
  8. openhands_extensions/catalog/box.json +39 -0
  9. openhands_extensions/catalog/brave-search.json +42 -0
  10. openhands_extensions/catalog/browser-mcp.json +31 -0
  11. openhands_extensions/catalog/canva.json +35 -0
  12. openhands_extensions/catalog/clickhouse.json +55 -0
  13. openhands_extensions/catalog/clickup.json +36 -0
  14. openhands_extensions/catalog/cloudflare-bindings.json +29 -0
  15. openhands_extensions/catalog/cloudflare-browser-rendering.json +27 -0
  16. openhands_extensions/catalog/cloudflare-builds.json +28 -0
  17. openhands_extensions/catalog/cloudflare-docs.json +27 -0
  18. openhands_extensions/catalog/cloudflare-observability.json +28 -0
  19. openhands_extensions/catalog/confluence.json +38 -0
  20. openhands_extensions/catalog/datadog.json +34 -0
  21. openhands_extensions/catalog/deepwiki.json +28 -0
  22. openhands_extensions/catalog/discord.json +39 -0
  23. openhands_extensions/catalog/dropbox.json +38 -0
  24. openhands_extensions/catalog/elevenlabs.json +41 -0
  25. openhands_extensions/catalog/everything.json +30 -0
  26. openhands_extensions/catalog/exa.json +41 -0
  27. openhands_extensions/catalog/fetch.json +30 -0
  28. openhands_extensions/catalog/figma.json +76 -0
  29. openhands_extensions/catalog/filesystem.json +41 -0
  30. openhands_extensions/catalog/firecrawl.json +41 -0
  31. openhands_extensions/catalog/freshdesk.json +38 -0
  32. openhands_extensions/catalog/git.json +42 -0
  33. openhands_extensions/catalog/github.json +68 -0
  34. openhands_extensions/catalog/gitlab.json +38 -0
  35. openhands_extensions/catalog/gmail.json +38 -0
  36. openhands_extensions/catalog/google-calendar.json +38 -0
  37. openhands_extensions/catalog/google-docs.json +38 -0
  38. openhands_extensions/catalog/google-drive.json +38 -0
  39. openhands_extensions/catalog/google-sheets.json +38 -0
  40. openhands_extensions/catalog/hubspot.json +34 -0
  41. openhands_extensions/catalog/huggingface.json +31 -0
  42. openhands_extensions/catalog/intercom.json +39 -0
  43. openhands_extensions/catalog/jira.json +38 -0
  44. openhands_extensions/catalog/kagi.json +41 -0
  45. openhands_extensions/catalog/linear.json +63 -0
  46. openhands_extensions/catalog/mailchimp.json +38 -0
  47. openhands_extensions/catalog/memory.json +31 -0
  48. openhands_extensions/catalog/microsoft-outlook.json +38 -0
  49. openhands_extensions/catalog/microsoft-teams.json +38 -0
  50. openhands_extensions/catalog/miro.json +38 -0
  51. openhands_extensions/catalog/monday.json +38 -0
  52. openhands_extensions/catalog/mongodb.json +42 -0
  53. openhands_extensions/catalog/neon.json +42 -0
  54. openhands_extensions/catalog/netlify.json +38 -0
  55. openhands_extensions/catalog/notion.json +73 -0
  56. openhands_extensions/catalog/obsidian.json +41 -0
  57. openhands_extensions/catalog/okta.json +38 -0
  58. openhands_extensions/catalog/onedrive.json +38 -0
  59. openhands_extensions/catalog/ordinal.json +33 -0
  60. openhands_extensions/catalog/paypal.json +26 -0
  61. openhands_extensions/catalog/pipedrive.json +39 -0
  62. openhands_extensions/catalog/plaid.json +31 -0
  63. openhands_extensions/catalog/playwright.json +32 -0
  64. openhands_extensions/catalog/posthog.json +38 -0
  65. openhands_extensions/catalog/quickbooks.json +38 -0
  66. openhands_extensions/catalog/redis.json +44 -0
  67. openhands_extensions/catalog/resend.json +48 -0
  68. openhands_extensions/catalog/salesforce.json +38 -0
  69. openhands_extensions/catalog/sentry.json +68 -0
  70. openhands_extensions/catalog/sequential-thinking.json +30 -0
  71. openhands_extensions/catalog/servicenow.json +39 -0
  72. openhands_extensions/catalog/sharepoint.json +38 -0
  73. openhands_extensions/catalog/shopify.json +38 -0
  74. openhands_extensions/catalog/slack.json +91 -0
  75. openhands_extensions/catalog/stripe.json +60 -0
  76. openhands_extensions/catalog/supabase.json +70 -0
  77. openhands_extensions/catalog/tavily.json +44 -0
  78. openhands_extensions/catalog/time.json +29 -0
  79. openhands_extensions/catalog/trello.json +31 -0
  80. openhands_extensions/catalog/vercel.json +38 -0
  81. openhands_extensions/catalog/webflow.json +34 -0
  82. openhands_extensions/catalog/xero.json +38 -0
  83. openhands_extensions/catalog/zendesk.json +38 -0
  84. openhands_extensions/catalog/zoom.json +38 -0
  85. openhands_extensions/integrations.py +92 -0
  86. openhands_extensions-0.6.0.dist-info/METADATA +6 -0
  87. openhands_extensions-0.6.0.dist-info/RECORD +89 -0
  88. openhands_extensions-0.6.0.dist-info/WHEEL +4 -0
  89. openhands_extensions-0.6.0.dist-info/licenses/LICENSE +21 -0
@@ -0,0 +1,24 @@
1
+ """Python bindings for the OpenHands extensions catalogs.
2
+
3
+ Mirrors the JavaScript package (``@openhands/extensions``): both read the same
4
+ hand-authored ``integrations/catalog/<id>.json`` files. The JavaScript package
5
+ uses a generated static import index; the Python package loads the packaged
6
+ individual JSON files directly. See ``integrations.py`` for the catalog API,
7
+ including filtering by connector type (mcp / oauth).
8
+ """
9
+
10
+ from __future__ import annotations
11
+
12
+ from ._version import __version__
13
+ from .integrations import (
14
+ INTEGRATION_CATALOG_SNAPSHOT,
15
+ get_integration_catalog_entry,
16
+ list_integration_catalog,
17
+ )
18
+
19
+ __all__ = [
20
+ "INTEGRATION_CATALOG_SNAPSHOT",
21
+ "__version__",
22
+ "get_integration_catalog_entry",
23
+ "list_integration_catalog",
24
+ ]
@@ -0,0 +1,24 @@
1
+ """Package version, derived from installed package metadata.
2
+
3
+ The single source of truth is ``pyproject.toml``'s ``[project].version``
4
+ (which ``release-please`` bumps together with ``package.json`` via
5
+ ``release-please-config.json`` -> ``extra-files``). At runtime we read the
6
+ installed distribution metadata via ``importlib.metadata`` so there is no
7
+ second hand-maintained version string. ``_FALLBACK_VERSION`` is only used
8
+ when the package is imported without being installed (e.g. straight off a
9
+ source checkout with no build), and ``tests/test_version_alignment.py``
10
+ asserts it stays in lock-step with ``pyproject.toml`` / ``package.json``.
11
+ """
12
+
13
+ from __future__ import annotations
14
+
15
+ from importlib.metadata import PackageNotFoundError, version
16
+
17
+ #: Fallback used only when the package is not installed (no dist metadata).
18
+ #: Kept in lock-step with pyproject.toml/package.json by the version test.
19
+ _FALLBACK_VERSION = "0.6.0"
20
+
21
+ try:
22
+ __version__: str = version("openhands-extensions")
23
+ except PackageNotFoundError: # not installed (e.g. raw source checkout)
24
+ __version__ = _FALLBACK_VERSION
@@ -0,0 +1,74 @@
1
+ {
2
+ "id": "airtable",
3
+ "name": "Airtable",
4
+ "description": "List bases, query records, and update fields across your Airtable workspace.",
5
+ "categories": [
6
+ "Database",
7
+ "Operations"
8
+ ],
9
+ "appUrl": "https://airtable.com",
10
+ "docsUrl": "https://github.com/domdomegg/airtable-mcp-server",
11
+ "notes": "Very common internal-tools and operations automation surface.",
12
+ "popularityRank": 17,
13
+ "connectionOptions": [
14
+ {
15
+ "id": "oauth",
16
+ "provider": "http",
17
+ "auth": {
18
+ "strategy": "oauth2",
19
+ "oauth": {
20
+ "authorizationUrl": "https://airtable.com/oauth2/v1/authorize",
21
+ "tokenUrl": "https://airtable.com/oauth2/v1/token",
22
+ "scopes": [
23
+ "schema.bases:read",
24
+ "data.records:read"
25
+ ]
26
+ }
27
+ },
28
+ "http": {
29
+ "apiBaseUrl": "https://api.airtable.com/v0",
30
+ "defaultTool": {
31
+ "name": "list_bases",
32
+ "description": "List Airtable bases the connected user granted access to.",
33
+ "method": "GET",
34
+ "path": "/meta/bases"
35
+ }
36
+ }
37
+ },
38
+ {
39
+ "id": "api",
40
+ "provider": "mcp",
41
+ "transport": {
42
+ "kind": "stdio",
43
+ "serverName": "airtable",
44
+ "command": "npx",
45
+ "args": [
46
+ "-y",
47
+ "airtable-mcp-server"
48
+ ],
49
+ "envFields": [
50
+ {
51
+ "key": "AIRTABLE_API_KEY",
52
+ "label": "Airtable personal access token",
53
+ "type": "password",
54
+ "required": true,
55
+ "helperText": "Personal access token from your Airtable account.",
56
+ "helperLink": "https://airtable.com/create/tokens"
57
+ }
58
+ ]
59
+ },
60
+ "auth": {
61
+ "strategy": "api_key"
62
+ }
63
+ }
64
+ ],
65
+ "iconBg": "#FCB400",
66
+ "logoUrl": "https://cdn.simpleicons.org/airtable/000000",
67
+ "iconColor": "var(--oh-surface-deep)",
68
+ "keywords": [
69
+ "spreadsheet",
70
+ "database",
71
+ "records",
72
+ "bases"
73
+ ]
74
+ }
@@ -0,0 +1,41 @@
1
+ {
2
+ "id": "apify",
3
+ "name": "Apify Actors",
4
+ "description": "Run any of Apify's 5,000+ Actors (scrapers, automations) from the agent.",
5
+ "docsUrl": "https://docs.apify.com/platform/integrations/mcp",
6
+ "iconBg": "#10b981",
7
+ "keywords": [
8
+ "scraping",
9
+ "automation",
10
+ "crawl",
11
+ "actors"
12
+ ],
13
+ "connectionOptions": [
14
+ {
15
+ "id": "api",
16
+ "provider": "mcp",
17
+ "transport": {
18
+ "kind": "stdio",
19
+ "serverName": "apify",
20
+ "command": "npx",
21
+ "args": [
22
+ "-y",
23
+ "@apify/actors-mcp-server"
24
+ ],
25
+ "envFields": [
26
+ {
27
+ "key": "APIFY_TOKEN",
28
+ "label": "Apify token",
29
+ "type": "password",
30
+ "required": true,
31
+ "helperText": "API token from your Apify account settings.",
32
+ "helperLink": "https://console.apify.com/account/integrations"
33
+ }
34
+ ]
35
+ },
36
+ "auth": {
37
+ "strategy": "api_key"
38
+ }
39
+ }
40
+ ]
41
+ }
@@ -0,0 +1,38 @@
1
+ {
2
+ "id": "asana",
3
+ "name": "Asana",
4
+ "description": "Task management, projects, and work tracking.",
5
+ "categories": [
6
+ "Project management",
7
+ "Operations"
8
+ ],
9
+ "appUrl": "https://asana.com",
10
+ "docsUrl": "https://developers.asana.com/docs/oauth",
11
+ "notes": "Broad business adoption and straightforward OAuth app model.",
12
+ "popularityRank": 13,
13
+ "connectionOptions": [
14
+ {
15
+ "id": "oauth",
16
+ "provider": "http",
17
+ "auth": {
18
+ "strategy": "oauth2",
19
+ "oauth": {
20
+ "authorizationUrl": "https://app.asana.com/-/oauth_authorize",
21
+ "tokenUrl": "https://app.asana.com/-/oauth_token",
22
+ "scopes": [
23
+ "tasks:read"
24
+ ]
25
+ }
26
+ },
27
+ "http": {
28
+ "apiBaseUrl": "https://app.asana.com/api/1.0",
29
+ "defaultTool": {
30
+ "name": "list_tasks",
31
+ "description": "List tasks visible to the connected Asana user.",
32
+ "method": "GET",
33
+ "path": "/tasks"
34
+ }
35
+ }
36
+ }
37
+ ]
38
+ }
@@ -0,0 +1,28 @@
1
+ {
2
+ "id": "atlassian",
3
+ "name": "Atlassian (Jira & Confluence)",
4
+ "description": "Search Jira issues and Confluence pages via Atlassian's hosted MCP server.",
5
+ "docsUrl": "https://www.atlassian.com/platform/remote-mcp-server",
6
+ "iconBg": "#0052CC",
7
+ "logoUrl": "https://cdn.simpleicons.org/atlassian/FFFFFF",
8
+ "keywords": [
9
+ "jira",
10
+ "confluence",
11
+ "tickets",
12
+ "wiki",
13
+ "issues"
14
+ ],
15
+ "connectionOptions": [
16
+ {
17
+ "id": "oauth",
18
+ "provider": "mcp",
19
+ "transport": {
20
+ "kind": "shttp",
21
+ "url": "https://mcp.atlassian.com/v1/mcp"
22
+ },
23
+ "auth": {
24
+ "strategy": "oauth2"
25
+ }
26
+ }
27
+ ]
28
+ }
@@ -0,0 +1,39 @@
1
+ {
2
+ "id": "bitbucket",
3
+ "name": "Bitbucket",
4
+ "description": "Repositories, pull requests, and Atlassian engineering workflows.",
5
+ "categories": [
6
+ "Engineering",
7
+ "Source control"
8
+ ],
9
+ "appUrl": "https://bitbucket.org",
10
+ "docsUrl": "https://developer.atlassian.com/cloud/bitbucket/oauth-2/",
11
+ "notes": "Popular in Atlassian-centric teams and complements Jira/Confluence.",
12
+ "popularityRank": 50,
13
+ "connectionOptions": [
14
+ {
15
+ "id": "oauth",
16
+ "provider": "http",
17
+ "auth": {
18
+ "strategy": "oauth2",
19
+ "oauth": {
20
+ "authorizationUrl": "https://bitbucket.org/site/oauth2/authorize",
21
+ "tokenUrl": "https://bitbucket.org/site/oauth2/access_token",
22
+ "scopes": [
23
+ "account",
24
+ "repository"
25
+ ]
26
+ }
27
+ },
28
+ "http": {
29
+ "apiBaseUrl": "https://api.bitbucket.org/2.0",
30
+ "defaultTool": {
31
+ "name": "get_current_user",
32
+ "description": "Fetch the authenticated Bitbucket user profile.",
33
+ "method": "GET",
34
+ "path": "/user"
35
+ }
36
+ }
37
+ }
38
+ ]
39
+ }
@@ -0,0 +1,39 @@
1
+ {
2
+ "id": "box",
3
+ "name": "Box",
4
+ "description": "Enterprise file storage, metadata, and collaboration.",
5
+ "categories": [
6
+ "Storage",
7
+ "Enterprise"
8
+ ],
9
+ "appUrl": "https://www.box.com",
10
+ "docsUrl": "https://developer.box.com/guides/authentication/oauth2/",
11
+ "notes": "Strong enterprise document-management footprint.",
12
+ "popularityRank": 19,
13
+ "connectionOptions": [
14
+ {
15
+ "id": "oauth",
16
+ "provider": "http",
17
+ "auth": {
18
+ "strategy": "oauth2",
19
+ "oauth": {
20
+ "authorizationUrl": "https://account.box.com/api/oauth2/authorize",
21
+ "tokenUrl": "https://api.box.com/oauth2/token",
22
+ "scopes": [
23
+ "root_readonly",
24
+ "item_read"
25
+ ]
26
+ }
27
+ },
28
+ "http": {
29
+ "apiBaseUrl": "https://api.box.com/2.0",
30
+ "defaultTool": {
31
+ "name": "list_root_items",
32
+ "description": "List files and folders in the Box root folder.",
33
+ "method": "GET",
34
+ "path": "/folders/0/items"
35
+ }
36
+ }
37
+ }
38
+ ]
39
+ }
@@ -0,0 +1,42 @@
1
+ {
2
+ "id": "brave-search",
3
+ "name": "Brave Search",
4
+ "description": "Privacy-first web and local search using the Brave Search API.",
5
+ "docsUrl": "https://github.com/brave/brave-search-mcp-server",
6
+ "iconBg": "#FB542B",
7
+ "logoUrl": "https://cdn.simpleicons.org/brave/FFFFFF",
8
+ "keywords": [
9
+ "search",
10
+ "web"
11
+ ],
12
+ "connectionOptions": [
13
+ {
14
+ "id": "api",
15
+ "provider": "mcp",
16
+ "transport": {
17
+ "kind": "stdio",
18
+ "serverName": "brave_search",
19
+ "command": "npx",
20
+ "args": [
21
+ "-y",
22
+ "@brave/brave-search-mcp-server",
23
+ "--transport",
24
+ "stdio"
25
+ ],
26
+ "envFields": [
27
+ {
28
+ "key": "BRAVE_API_KEY",
29
+ "label": "Brave API key",
30
+ "type": "password",
31
+ "required": true,
32
+ "helperText": "API key from the Brave Search API portal.",
33
+ "helperLink": "https://api-dashboard.search.brave.com/app/keys"
34
+ }
35
+ ]
36
+ },
37
+ "auth": {
38
+ "strategy": "api_key"
39
+ }
40
+ }
41
+ ]
42
+ }
@@ -0,0 +1,31 @@
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
+ "connectionOptions": [
14
+ {
15
+ "id": "none",
16
+ "provider": "mcp",
17
+ "transport": {
18
+ "kind": "stdio",
19
+ "serverName": "browser_mcp",
20
+ "command": "npx",
21
+ "args": [
22
+ "-y",
23
+ "@browsermcp/mcp"
24
+ ]
25
+ },
26
+ "auth": {
27
+ "strategy": "none"
28
+ }
29
+ }
30
+ ]
31
+ }
@@ -0,0 +1,35 @@
1
+ {
2
+ "id": "canva",
3
+ "name": "Canva",
4
+ "description": "Design content, brand assets, and marketing collateral workflows.",
5
+ "categories": [
6
+ "Design",
7
+ "Marketing"
8
+ ],
9
+ "appUrl": "https://www.canva.com",
10
+ "docsUrl": "https://www.canva.dev/docs/connect/oauth/",
11
+ "notes": "Broad creator and marketing adoption with OAuth-based apps.",
12
+ "popularityRank": 34,
13
+ "connectionOptions": [
14
+ {
15
+ "id": "oauth",
16
+ "provider": "http",
17
+ "auth": {
18
+ "strategy": "oauth2",
19
+ "oauth": {
20
+ "tokenUrl": "https://api.canva.com/rest/v1/oauth/token",
21
+ "scopes": []
22
+ }
23
+ },
24
+ "http": {
25
+ "apiBaseUrl": "https://api.canva.com/rest/v1",
26
+ "defaultTool": {
27
+ "name": "list_designs",
28
+ "description": "List Canva designs available to the connected user.",
29
+ "method": "GET",
30
+ "path": "/designs"
31
+ }
32
+ }
33
+ }
34
+ ]
35
+ }
@@ -0,0 +1,55 @@
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
+ "logoUrl": "https://cdn.simpleicons.org/clickhouse/000000",
8
+ "iconColor": "var(--oh-surface-deep)",
9
+ "keywords": [
10
+ "analytics",
11
+ "olap",
12
+ "database",
13
+ "sql"
14
+ ],
15
+ "connectionOptions": [
16
+ {
17
+ "id": "api",
18
+ "provider": "mcp",
19
+ "transport": {
20
+ "kind": "stdio",
21
+ "serverName": "clickhouse",
22
+ "command": "uvx",
23
+ "args": [
24
+ "mcp-clickhouse"
25
+ ],
26
+ "envFields": [
27
+ {
28
+ "key": "CLICKHOUSE_HOST",
29
+ "label": "Host",
30
+ "type": "text",
31
+ "placeholder": "clickhouse.example.com",
32
+ "required": true
33
+ },
34
+ {
35
+ "key": "CLICKHOUSE_USER",
36
+ "label": "Username",
37
+ "type": "text",
38
+ "required": true
39
+ },
40
+ {
41
+ "key": "CLICKHOUSE_PASSWORD",
42
+ "label": "Password",
43
+ "type": "password",
44
+ "required": true,
45
+ "helperText": "Password for your ClickHouse user.",
46
+ "helperLink": "https://clickhouse.com/docs/operations/access-rights"
47
+ }
48
+ ]
49
+ },
50
+ "auth": {
51
+ "strategy": "api_key"
52
+ }
53
+ }
54
+ ]
55
+ }
@@ -0,0 +1,36 @@
1
+ {
2
+ "id": "clickup",
3
+ "name": "ClickUp",
4
+ "description": "Tasks, docs, goals, and workflow automation.",
5
+ "categories": [
6
+ "Project management",
7
+ "Operations"
8
+ ],
9
+ "appUrl": "https://clickup.com",
10
+ "docsUrl": "https://clickup.com/api/developer-portal/authentication",
11
+ "notes": "Large install base and broad operations coverage.",
12
+ "popularityRank": 15,
13
+ "connectionOptions": [
14
+ {
15
+ "id": "oauth",
16
+ "provider": "http",
17
+ "auth": {
18
+ "strategy": "oauth2",
19
+ "oauth": {
20
+ "authorizationUrl": "https://app.clickup.com/api",
21
+ "tokenUrl": "https://api.clickup.com/api/v2/oauth/token",
22
+ "scopes": []
23
+ }
24
+ },
25
+ "http": {
26
+ "apiBaseUrl": "https://api.clickup.com/api/v2",
27
+ "defaultTool": {
28
+ "name": "list_workspaces",
29
+ "description": "List ClickUp workspaces available to the connected user.",
30
+ "method": "GET",
31
+ "path": "/team"
32
+ }
33
+ }
34
+ }
35
+ ]
36
+ }
@@ -0,0 +1,29 @@
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
+ "logoUrl": "https://cdn.simpleicons.org/cloudflare/FFFFFF",
8
+ "keywords": [
9
+ "cloudflare",
10
+ "workers",
11
+ "kv",
12
+ "d1",
13
+ "r2",
14
+ "durable objects"
15
+ ],
16
+ "connectionOptions": [
17
+ {
18
+ "id": "oauth",
19
+ "provider": "mcp",
20
+ "transport": {
21
+ "kind": "shttp",
22
+ "url": "https://bindings.mcp.cloudflare.com/mcp"
23
+ },
24
+ "auth": {
25
+ "strategy": "oauth2"
26
+ }
27
+ }
28
+ ]
29
+ }
@@ -0,0 +1,27 @@
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
+ "logoUrl": "https://cdn.simpleicons.org/cloudflare/FFFFFF",
8
+ "keywords": [
9
+ "cloudflare",
10
+ "browser",
11
+ "rendering",
12
+ "screenshots"
13
+ ],
14
+ "connectionOptions": [
15
+ {
16
+ "id": "oauth",
17
+ "provider": "mcp",
18
+ "transport": {
19
+ "kind": "shttp",
20
+ "url": "https://browser.mcp.cloudflare.com/mcp"
21
+ },
22
+ "auth": {
23
+ "strategy": "oauth2"
24
+ }
25
+ }
26
+ ]
27
+ }
@@ -0,0 +1,28 @@
1
+ {
2
+ "id": "cloudflare-builds",
3
+ "name": "Cloudflare Builds",
4
+ "description": "Inspect Workers Builds \u2014 logs, statuses, and rerun failed deploys.",
5
+ "docsUrl": "https://developers.cloudflare.com/agents/model-context-protocol/",
6
+ "iconBg": "#F38020",
7
+ "logoUrl": "https://cdn.simpleicons.org/cloudflare/FFFFFF",
8
+ "keywords": [
9
+ "cloudflare",
10
+ "workers",
11
+ "ci",
12
+ "builds",
13
+ "deploys"
14
+ ],
15
+ "connectionOptions": [
16
+ {
17
+ "id": "oauth",
18
+ "provider": "mcp",
19
+ "transport": {
20
+ "kind": "shttp",
21
+ "url": "https://builds.mcp.cloudflare.com/mcp"
22
+ },
23
+ "auth": {
24
+ "strategy": "oauth2"
25
+ }
26
+ }
27
+ ]
28
+ }
@@ -0,0 +1,27 @@
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
+ "logoUrl": "https://cdn.simpleicons.org/cloudflare/FFFFFF",
8
+ "keywords": [
9
+ "cloudflare",
10
+ "docs",
11
+ "reference",
12
+ "workers"
13
+ ],
14
+ "connectionOptions": [
15
+ {
16
+ "id": "none",
17
+ "provider": "mcp",
18
+ "transport": {
19
+ "kind": "shttp",
20
+ "url": "https://docs.mcp.cloudflare.com/mcp"
21
+ },
22
+ "auth": {
23
+ "strategy": "none"
24
+ }
25
+ }
26
+ ]
27
+ }
@@ -0,0 +1,28 @@
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
+ "logoUrl": "https://cdn.simpleicons.org/cloudflare/FFFFFF",
8
+ "keywords": [
9
+ "cloudflare",
10
+ "logs",
11
+ "tail",
12
+ "observability",
13
+ "workers"
14
+ ],
15
+ "connectionOptions": [
16
+ {
17
+ "id": "oauth",
18
+ "provider": "mcp",
19
+ "transport": {
20
+ "kind": "shttp",
21
+ "url": "https://observability.mcp.cloudflare.com/mcp"
22
+ },
23
+ "auth": {
24
+ "strategy": "oauth2"
25
+ }
26
+ }
27
+ ]
28
+ }