Skip to content

Add GitLab MCP server integration - #484

Open
jpelletier1 wants to merge 1 commit into
mainfrom
add-gitlab-mcp-integration
Open

Add GitLab MCP server integration#484
jpelletier1 wants to merge 1 commit into
mainfrom
add-gitlab-mcp-integration

Conversation

@jpelletier1

Copy link
Copy Markdown
Contributor
  • A human has tested these changes.

Why

The integrations catalog had no entry for GitLab. GitLab ships an official MCP server (beta, see docs) over HTTP transport with OAuth 2.0 dynamic client registration, so the catalog can support it the same way as GitHub/PostHog.

Summary

  • Adds integrations/catalog/gitlab.json: OAuth 2.0 + DCR (registrationUrl verified against gitlab.com's .well-known/oauth-authorization-server), mcp scope, PKCE, public client; shttp transport at https://gitlab.com/api/v4/mcp with urlEditable for GitLab Self-Managed.
  • Regenerates integrations/catalog-index.js via npm run build:integrations.

Issue Number

N/A

How to Test

  • uv run pytest -q tests/test_catalog_schema.py tests/test_integration_catalog_in_sync.py tests/test_catalogs.py (114 passed locally)
  • node --input-type=module -e "import { getIntegrationCatalogEntry } from './integrations/index.js'; console.log(getIntegrationCatalogEntry('gitlab').connectionOptions[0].transport.url)"

Video/Screenshots

N/A (catalog data entry)

Notes

  • OAuth endpoints point at gitlab.com; the hosted entry is the default while self-managed users edit the MCP URL, hence urlEditable: true.
  • No PAT/bearer option included - the official GitLab MCP docs document only OAuth/DCR auth for the server.

This PR was created by an AI agent (OpenHands) on behalf of the user.

@jpelletier1 can click here to continue refining the PR

Adds integrations/catalog/gitlab.json for GitLab's official MCP server
(https://docs.gitlab.com/user/model_context_protocol/mcp_server/):

- OAuth 2.0 with dynamic client registration (registrationUrl verified
  against gitlab.com's .well-known/oauth-authorization-server), mcp
  scope, PKCE, public client
- shttp transport at https://gitlab.com/api/v4/mcp with urlEditable for
  GitLab Self-Managed instances
- notes/installHint document the beta prerequisites (MCP access must be
  allowed for the group/instance)

Regenerates integrations/catalog-index.js via npm run build:integrations.

Co-authored-by: openhands <openhands@all-hands.dev>
@jpelletier1
jpelletier1 marked this pull request as ready for review August 19, 2026 12:52
@all-hands-bot

Copy link
Copy Markdown
Contributor

👋 This PR needs a couple of things fixed before OpenHands can review it:

  • the PR description's HUMAN: section needs at least 20 characters describing what you tested, not just the template placeholder

Push an update once this is addressed and this check re-runs automatically.

This is an automated check - no AI was used to generate this comment.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants