Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
142 changes: 72 additions & 70 deletions integrations/catalog-index.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,76 +8,77 @@ import entry2 from "./catalog/tavily.json" with { type: "json" };
import entry3 from "./catalog/atlassian.json" with { type: "json" };
import entry4 from "./catalog/linear.json" with { type: "json" };
import entry5 from "./catalog/notion.json" with { type: "json" };
import entry6 from "./catalog/vanta.json" with { type: "json" };
import entry7 from "./catalog/ordinal.json" with { type: "json" };
import entry8 from "./catalog/elevenlabs.json" with { type: "json" };
import entry9 from "./catalog/bitbucket.json" with { type: "json" };
import entry10 from "./catalog/xero.json" with { type: "json" };
import entry11 from "./catalog/quickbooks.json" with { type: "json" };
import entry12 from "./catalog/sonarqube.json" with { type: "json" };
import entry13 from "./catalog/okta.json" with { type: "json" };
import entry14 from "./catalog/netlify.json" with { type: "json" };
import entry15 from "./catalog/vercel.json" with { type: "json" };
import entry16 from "./catalog/supabase.json" with { type: "json" };
import entry17 from "./catalog/posthog.json" with { type: "json" };
import entry18 from "./catalog/sentry.json" with { type: "json" };
import entry19 from "./catalog/datadog.json" with { type: "json" };
import entry20 from "./catalog/canva.json" with { type: "json" };
import entry21 from "./catalog/miro.json" with { type: "json" };
import entry22 from "./catalog/webflow.json" with { type: "json" };
import entry23 from "./catalog/zoom.json" with { type: "json" };
import entry24 from "./catalog/discord.json" with { type: "json" };
import entry25 from "./catalog/stripe.json" with { type: "json" };
import entry26 from "./catalog/intercom.json" with { type: "json" };
import entry27 from "./catalog/hubspot.json" with { type: "json" };
import entry28 from "./catalog/salesforce.json" with { type: "json" };
import entry29 from "./catalog/sharepoint.json" with { type: "json" };
import entry30 from "./catalog/onedrive.json" with { type: "json" };
import entry31 from "./catalog/microsoft-teams.json" with { type: "json" };
import entry32 from "./catalog/microsoft-outlook.json" with { type: "json" };
import entry33 from "./catalog/box.json" with { type: "json" };
import entry34 from "./catalog/airtable.json" with { type: "json" };
import entry35 from "./catalog/monday.json" with { type: "json" };
import entry36 from "./catalog/trello.json" with { type: "json" };
import entry37 from "./catalog/asana.json" with { type: "json" };
import entry38 from "./catalog/confluence.json" with { type: "json" };
import entry39 from "./catalog/jira.json" with { type: "json" };
import entry40 from "./catalog/google-calendar.json" with { type: "json" };
import entry41 from "./catalog/gmail.json" with { type: "json" };
import entry42 from "./catalog/google-sheets.json" with { type: "json" };
import entry43 from "./catalog/google-drive.json" with { type: "json" };
import entry44 from "./catalog/figma.json" with { type: "json" };
import entry45 from "./catalog/google-docs.json" with { type: "json" };
import entry46 from "./catalog/apify.json" with { type: "json" };
import entry47 from "./catalog/atlassian-rovo.json" with { type: "json" };
import entry48 from "./catalog/brave-search.json" with { type: "json" };
import entry49 from "./catalog/browser-mcp.json" with { type: "json" };
import entry50 from "./catalog/clickhouse.json" with { type: "json" };
import entry51 from "./catalog/cloudflare-bindings.json" with { type: "json" };
import entry52 from "./catalog/cloudflare-browser-rendering.json" with { type: "json" };
import entry53 from "./catalog/cloudflare-builds.json" with { type: "json" };
import entry54 from "./catalog/cloudflare-docs.json" with { type: "json" };
import entry55 from "./catalog/cloudflare-observability.json" with { type: "json" };
import entry56 from "./catalog/deepwiki.json" with { type: "json" };
import entry57 from "./catalog/everything.json" with { type: "json" };
import entry58 from "./catalog/exa.json" with { type: "json" };
import entry59 from "./catalog/fetch.json" with { type: "json" };
import entry60 from "./catalog/filesystem.json" with { type: "json" };
import entry61 from "./catalog/firecrawl.json" with { type: "json" };
import entry62 from "./catalog/git.json" with { type: "json" };
import entry63 from "./catalog/huggingface.json" with { type: "json" };
import entry64 from "./catalog/kagi.json" with { type: "json" };
import entry65 from "./catalog/memory.json" with { type: "json" };
import entry66 from "./catalog/mongodb.json" with { type: "json" };
import entry67 from "./catalog/neon.json" with { type: "json" };
import entry68 from "./catalog/obsidian.json" with { type: "json" };
import entry69 from "./catalog/paypal.json" with { type: "json" };
import entry70 from "./catalog/playwright.json" with { type: "json" };
import entry71 from "./catalog/redis.json" with { type: "json" };
import entry72 from "./catalog/resend.json" with { type: "json" };
import entry73 from "./catalog/sequential-thinking.json" with { type: "json" };
import entry74 from "./catalog/superhuman-mail.json" with { type: "json" };
import entry75 from "./catalog/time.json" with { type: "json" };
import entry6 from "./catalog/gitlab.json" with { type: "json" };
import entry7 from "./catalog/vanta.json" with { type: "json" };
import entry8 from "./catalog/ordinal.json" with { type: "json" };
import entry9 from "./catalog/elevenlabs.json" with { type: "json" };
import entry10 from "./catalog/bitbucket.json" with { type: "json" };
import entry11 from "./catalog/xero.json" with { type: "json" };
import entry12 from "./catalog/quickbooks.json" with { type: "json" };
import entry13 from "./catalog/sonarqube.json" with { type: "json" };
import entry14 from "./catalog/okta.json" with { type: "json" };
import entry15 from "./catalog/netlify.json" with { type: "json" };
import entry16 from "./catalog/vercel.json" with { type: "json" };
import entry17 from "./catalog/supabase.json" with { type: "json" };
import entry18 from "./catalog/posthog.json" with { type: "json" };
import entry19 from "./catalog/sentry.json" with { type: "json" };
import entry20 from "./catalog/datadog.json" with { type: "json" };
import entry21 from "./catalog/canva.json" with { type: "json" };
import entry22 from "./catalog/miro.json" with { type: "json" };
import entry23 from "./catalog/webflow.json" with { type: "json" };
import entry24 from "./catalog/zoom.json" with { type: "json" };
import entry25 from "./catalog/discord.json" with { type: "json" };
import entry26 from "./catalog/stripe.json" with { type: "json" };
import entry27 from "./catalog/intercom.json" with { type: "json" };
import entry28 from "./catalog/hubspot.json" with { type: "json" };
import entry29 from "./catalog/salesforce.json" with { type: "json" };
import entry30 from "./catalog/sharepoint.json" with { type: "json" };
import entry31 from "./catalog/onedrive.json" with { type: "json" };
import entry32 from "./catalog/microsoft-teams.json" with { type: "json" };
import entry33 from "./catalog/microsoft-outlook.json" with { type: "json" };
import entry34 from "./catalog/box.json" with { type: "json" };
import entry35 from "./catalog/airtable.json" with { type: "json" };
import entry36 from "./catalog/monday.json" with { type: "json" };
import entry37 from "./catalog/trello.json" with { type: "json" };
import entry38 from "./catalog/asana.json" with { type: "json" };
import entry39 from "./catalog/confluence.json" with { type: "json" };
import entry40 from "./catalog/jira.json" with { type: "json" };
import entry41 from "./catalog/google-calendar.json" with { type: "json" };
import entry42 from "./catalog/gmail.json" with { type: "json" };
import entry43 from "./catalog/google-sheets.json" with { type: "json" };
import entry44 from "./catalog/google-drive.json" with { type: "json" };
import entry45 from "./catalog/figma.json" with { type: "json" };
import entry46 from "./catalog/google-docs.json" with { type: "json" };
import entry47 from "./catalog/apify.json" with { type: "json" };
import entry48 from "./catalog/atlassian-rovo.json" with { type: "json" };
import entry49 from "./catalog/brave-search.json" with { type: "json" };
import entry50 from "./catalog/browser-mcp.json" with { type: "json" };
import entry51 from "./catalog/clickhouse.json" with { type: "json" };
import entry52 from "./catalog/cloudflare-bindings.json" with { type: "json" };
import entry53 from "./catalog/cloudflare-browser-rendering.json" with { type: "json" };
import entry54 from "./catalog/cloudflare-builds.json" with { type: "json" };
import entry55 from "./catalog/cloudflare-docs.json" with { type: "json" };
import entry56 from "./catalog/cloudflare-observability.json" with { type: "json" };
import entry57 from "./catalog/deepwiki.json" with { type: "json" };
import entry58 from "./catalog/everything.json" with { type: "json" };
import entry59 from "./catalog/exa.json" with { type: "json" };
import entry60 from "./catalog/fetch.json" with { type: "json" };
import entry61 from "./catalog/filesystem.json" with { type: "json" };
import entry62 from "./catalog/firecrawl.json" with { type: "json" };
import entry63 from "./catalog/git.json" with { type: "json" };
import entry64 from "./catalog/huggingface.json" with { type: "json" };
import entry65 from "./catalog/kagi.json" with { type: "json" };
import entry66 from "./catalog/memory.json" with { type: "json" };
import entry67 from "./catalog/mongodb.json" with { type: "json" };
import entry68 from "./catalog/neon.json" with { type: "json" };
import entry69 from "./catalog/obsidian.json" with { type: "json" };
import entry70 from "./catalog/paypal.json" with { type: "json" };
import entry71 from "./catalog/playwright.json" with { type: "json" };
import entry72 from "./catalog/redis.json" with { type: "json" };
import entry73 from "./catalog/resend.json" with { type: "json" };
import entry74 from "./catalog/sequential-thinking.json" with { type: "json" };
import entry75 from "./catalog/superhuman-mail.json" with { type: "json" };
import entry76 from "./catalog/time.json" with { type: "json" };

export const INTEGRATION_CATALOG_ENTRIES = [
entry0,
Expand Down Expand Up @@ -156,4 +157,5 @@ export const INTEGRATION_CATALOG_ENTRIES = [
entry73,
entry74,
entry75,
entry76,
];
49 changes: 49 additions & 0 deletions integrations/catalog/gitlab.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
{
"id": "gitlab",
"name": "GitLab",
"description": "Access projects, issues, and merge requests via GitLab's official MCP server.",
"categories": [
"Engineering",
"Source control"
],
"appUrl": "https://gitlab.com",
"docsUrl": "https://docs.gitlab.com/user/model_context_protocol/mcp_server/",
"notes": "Uses GitLab's official MCP server (beta). Access to the MCP server must be allowed for the top-level group on GitLab.com, or for the instance on GitLab Self-Managed. OAuth uses dynamic client registration with the mcp scope. On GitLab Self-Managed the MCP endpoint and OAuth URLs are host-specific: edit the URL to https://<your-instance>/api/v4/mcp.",
"popularityRank": 80,
"connectionOptions": [
{
"id": "oauth",
"provider": "mcp",
"auth": {
"strategy": "oauth2",
"oauth": {
"authorizationUrl": "https://gitlab.com/oauth/authorize",
"tokenUrl": "https://gitlab.com/oauth/token",
"registrationUrl": "https://gitlab.com/oauth/register",
"scopes": [
"mcp"
],
"pkce": true,
"clientAuthentication": "none"
}
},
"transport": {
"kind": "shttp",
"url": "https://gitlab.com/api/v4/mcp",
"urlEditable": true
}
}
],
"iconBg": "#FC6D26",
"logoUrl": "https://cdn.simpleicons.org/gitlab/FFFFFF",
"keywords": [
"git",
"repo",
"merge request",
"mr",
"issues",
"code",
"devops"
],
"installHint": "Prefer the OAuth MCP connection. The GitLab MCP server supports OAuth 2.0 with dynamic client registration using the mcp scope. For GitLab Self-Managed, edit the URL to https://<your-instance>/api/v4/mcp and make sure MCP server access is enabled for the instance."
}
Loading