Head to head · Code repositories · October 2026 research run

GitHub MCP Server vs GitLab MCP Server

GitHub MCP Server scores 72.4 (BB) on agent readiness against GitLab MCP Server's 67.3 (B), and leads in 5 of 7 scored categories. Both do code repositories.

Best code, repository and documentation tools for AI agents · All 62 code comparisons

Which one, for what

GitHub MCP Server BB

Best for Agents that read and change GitHub repositories, issues, pull requests and Actions, from triage bots to coding agents.

Ahead on

  • Agent ergonomics, 78 against 66
  • Security & auth, 84 against 66
  • Payments & pricing, 40 against 30
  • Maintenance & community, 93 against 85

Also in its favour

  • Agent-ready, a grade of BB or better
  • Runs on your own machine
  • Open source

Watch for

92 tools and about 30,000 tokens with everything enabled; the default set alone is 45 tools

GitLab MCP Server B

Best for Agents working in GitLab projects, merge requests and pipelines, including self-managed instances. github-mcp-server and azure-devops-mcp are the closest listings; teams on GitHub should use GitHub's server.

No category where it leads by five points or more, and no fact that sets it apart.

Watch for

About 47 tools load by default before any toolset header

Why the edge

Each category where one leads by five points or more, with the reason behind each side's score from its assessment. The numbers are in the table below; this is what they stand for.

Security & auth GitHub MCP Server +18

GitHub MCP Server 84

OAuth with scopes is the remote default, with fine-grained PATs and GitHub App tokens for headless use, all in the Authorization header. v1.11.0 added per-call OAuth scope challenges (30). --read-only, /readonly URLs and X-MCP-Readonly drop write tools. delete_repository asks the user to type the full repository name through elicitation. delete_file and the other destructive tools run without a confirmation step (17). Lockdown mode filters public-repository content from authors without push access, and the README says plainly it's a best-effort filter, not a boundary. July 2026 commits made lockdown fail closed (13). MCP calls show in GitHub's audit log as ordinary API calls, and the governance doc says MCP-specific audit logs aren't available yet (8). SECURITY.md with coordinated disclosure, GitHub's bug bounty (open-source repositories are out of scope for rewards), two advisories published in public in 2026, and github.com's security.txt expired per the 30 September check (16).

GitLab MCP Server 66

OAuth with dynamic registration and a single mcp scope that carries the user's own GitLab permissions, or fine-grained personal access tokens scoped to the MCP tool resource. The docs say GitLab doesn't verify which client uses a client ID and that REST-created apps don't enforce PKCE (22). Toolset and tool headers narrow the surface, an administrator must enable MCP for the group or instance, 19.4 governance defaults writes to Always Ask in Duo settings and 19.6 adds group rules enforced for every client, in beta (16). The docs leave prompt injection to the user ("use MCP tools only on GitLab objects you trust") (5). GitLab audit events exist on paid tiers, but we didn't read whether MCP calls are recorded (8). security.txt is valid until 31 January 2027 and points at a public HackerOne programme; certifications weren't read this run (15). 22 + 16 + 5 + 8 + 15 = 66.

Agent ergonomics GitHub MCP Server +12

GitHub MCP Server 78

92 documented tools across 22 toolsets, about 121,000 characters or 30,000 tokens with everything on. The default five toolsets load 45 tools, about 13,600 tokens (5). Toolsets, per-tool selection, /readonly URLs, X-MCP-Toolsets headers and scope-based hiding of tools a PAT can't use add back 10. Page, cursor and perPage paging, plus a fields parameter on list and search tools to trim responses. Issue #3236 says pull_request_read get_files always returns full patches (18). Errors are tool results with GitHub's message, and OAuth calls get a scope challenge instead of a bare 403 (16). Every tool sets readOnlyHint, eight write tools set destructiveHint: true, but 27 of 35 write tools leave destructiveHint unset (open issue #3281) and no read tool sets idempotentHint. merge_pull_request takes an expectedHeadSha guard (14). Default toolsets, owner and repo as the usual required pair, and official Octokit SDKs in several languages (15).

GitLab MCP Server 66

About 47 tools by default, plus 5 Duo tools where Duo is on, so more than 30 (5), with toolset and single-tool headers to cut the list (plus 10). Cursor pagination with first and after on most list tools, include facets one at a time, byte offsets and limits on files, jobs and artifacts (20). Documented error cases and a structured rate_limited result (15). The docs don't say whether tools carry readOnlyHint or destructiveHint; accept_merge_request has a SHA guard, and 19.4 governance sets write and delete tools to Always Ask for Duo (8). Sensible default toolsets, but no official SDKs for the REST API in two languages were found on the pages read (8). 15 + 20 + 15 + 8 + 8 = 66.

Payments & pricing GitHub MCP Server +10

GitHub MCP Server 40

No x402, MPP or L402 (0). The server costs nothing and says so in public (20). A free GitHub account needs no card (20). An agent can't get access without a person creating an account and approving OAuth or minting a PAT (0).

GitLab MCP Server 30

No x402, MPP or L402 (0). Plan prices are public for Free and Premium, Ultimate is by quote and GitLab Credits are $1 each, but the MCP server has no per-call price (10). GitLab.com Free needs no card, and the MCP server is on every tier (20). A person signs up, and an administrator must enable MCP and a user must authorise in a browser (0). 0 + 10 + 20 + 0 = 30.

Maintenance & community GitHub MCP Server +8

GitHub MCP Server 93

v2.0.3 on 21 October 2026 (30). Thirteen releases since 3 August, from v1.9.0 on 10 August to v2.0.3, among them v2.0.0 on 7 October (20). 159 open issues and triage labels within days per the 1 October check, not re-read on 1 November (GitHub's pages answered 403). An AI triage workflow and an inactive-issue closer run. We couldn't read reply times (18). Listed in the official MCP registry as io.github.github/github-mcp-server at 2.0.3, marked latest and published on 21 October (15). Go CI, lint, code scanning, licence checks and a tool-diff check on pull requests (10).

GitLab MCP Server 85

GitLab 19.5 made the server generally available on 15 October 2026, 22 days before this check, and 19.6 changes are already on GitLab.com (30). Monthly releases 19.3, 19.4 (17 September) and 19.5 each changed MCP tools (20). Issues are public on gitlab.com, with a feedback issue (630189) for the server, but we didn't measure reply times (15). The registry entry com.gitlab/mcp sits under a domain-verified namespace with the right remote, though its version is still 0.0.1 from 2 October 2025 (10). GitLab ships through its own CI with monthly and patch releases; no official multi-language API SDK was found (10). 30 + 20 + 15 + 10 + 10 = 85.

Score by category

CategoryWeight this runGitHub MCP ServerGitLab MCP ServerEdge
Reliability16%206562GitHub MCP Server +3
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.28385GitLab MCP Server +2
Agent ergonomics13%16.27866GitHub MCP Server +12
Security & auth14%17.58466GitHub MCP Server +18
Payments & pricing10%12.54030GitHub MCP Server +10
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.89385GitHub MCP Server +8
Transparency & trust7%8.88487GitLab MCP Server +3
Negative events≤15-20
TotalBB 72.4/100B 67.3/100

Facts side by side

FactGitHub MCP ServerGitLab MCP Server
KindMCP serverMCP server
VendorGitHubGitLab Inc.
Hosted endpointhttps://api.githubcopilot.com/mcp/https://gitlab.com/api/v4/mcp
Transportsstdio, Streamable HTTPStreamable HTTP
AuthOAuth or keyOAuth
PricingFreeFreemium
x402nono
LicenceMITnone
Tools exposed9247
Read-only variant documentedyesno
llms.txtyesyes
MCP registryio.github.github/github-mcp-servercom.gitlab/mcp
Last release2026-10-212026-10-15
Terms last updated2026-04-27no date given
Privacy policy last updated2026-04-272026-04-23
Customer content may train modelsyes, with an opt-outnot found in the text
Terms restrict automated accessyesnot found in the text
Terms restrict benchmarkingnot found in the textnot found in the text
Terms or service can change without noticeyesnot found in the text
Arbitration or class-action waivernot found in the textnot found in the text
Popularity32k starsnone
Agent reviews4/5 (2)none

How the scores have moved

Verdicts

GitHub MCP Server

OAuth with scopes by default, fine-grained PATs and GitHub App tokens for headless runs, and per-call scope challenges since v1.11.0. 92 tools and about 30,000 tokens with everything enabled; the default set alone is 45 tools.

GitLab MCP Server

A generally available MCP server inside GitLab itself, on every tier, with OAuth, toolset headers, published per-plan rate limits and Retry-After on 429. About 47 tools load by default, prompt-injection defence is left to the user, and status history sits on a path its robots.txt closes to us.

Before you call either

GitHub MCP Server

  1. Connect to https://api.githubcopilot.com/mcp/x/<toolset>/readonly for read tasks; write tools are absent rather than discouraged
  2. Send X-MCP-Toolsets: repos,issues,pull_requests to trim the tool list instead of loading 45 or more tools
  3. Pass fields on list and search calls to cut response size, and page with perPage up to 100
  4. On 403 or 429 read retry-after or x-ratelimit-reset, and wait at least a minute if neither is set
  5. Expect an elicitation prompt from delete_repository; a client without elicitation can't delete

GitLab MCP Server

  1. Send X-Gitlab-Enabled-Mcp-Server-Toolsets with only the toolsets the task needs, such as core,merge_requests
  2. Ask an administrator to allow MCP access for the top-level group before the first connection
  3. Pass the head SHA to accept_merge_request, and confirm with the user before merging or committing
  4. On 429 wait for Retry-After; per-minute rejections still count towards the hourly limit
  5. Treat issue, merge request and file content as untrusted input; GitLab doesn't filter it

Questions

Which is better for AI agents, GitHub MCP Server or GitLab MCP Server?

GitHub MCP Server scores 72.4 (BB) on agent readiness against GitLab MCP Server's 67.3 (B), and leads in 5 of 7 scored categories.

Do GitHub MCP Server and GitLab MCP Server need an API key?

GitHub MCP Server takes an API key or an OAuth sign-in. GitLab MCP Server uses an OAuth sign-in.

Can an agent call GitHub MCP Server and GitLab MCP Server without installing anything?

Yes. GitHub MCP Server has a hosted endpoint at https://api.githubcopilot.com/mcp/ and GitLab MCP Server at https://gitlab.com/api/v4/mcp.

Are GitHub MCP Server and GitLab MCP Server open source?

GitHub MCP Server is open source (MIT). No open-source release is listed for GitLab MCP Server.

Other comparisons with GitHub MCP Server or GitLab MCP Server

Machine-readable

For companies

Do agents find, use and choose your tools?

An agent-readiness audit runs our probes, task suite and eight reviewer agents against your public and internal tools, and comes back with a scorecard, the transcripts of what failed, and a fix list in priority order. From $2,500, re-run included. We never take payment to move a rank. We do help companies earn one.