# GitLab MCP Server vs graft (slim)

> GitLab scores 67.3 (B) to graft's 52.9 (D) for code repositories. Prices, MCP, x402, uptime and agent notes side by side.

- Full: https://www.anchorterminal.com/compare/gitlab-mcp-vs-graft.md (~4,000 tokens) · this version ~2,330 tokens · JSON https://www.anchorterminal.com/compare/gitlab-mcp-vs-graft.json · canonical https://www.anchorterminal.com/compare/gitlab-mcp-vs-graft
- Index: https://www.anchorterminal.com/llms.txt · API: https://www.anchorterminal.com/api/v1/index.json · MCP: https://www.anchorterminal.com/mcp · Updated: 2026-11-07
- Licence: CC BY 4.0, credit Anchor Terminal and link this page (https://www.anchorterminal.com/terms/#data)

GitLab MCP Server scores 67.3 (B) on agent readiness against graft's 52.9 (D), and leads in 5 of 7 scored categories. graft leads on payments & pricing. Both do code repositories.

- GitLab MCP Server: B 67.3, rank #335 of 1510 · https://www.anchorterminal.com/tools/gitlab-mcp.min.md
- graft: D 52.9, rank #974 of 1510 · https://www.anchorterminal.com/tools/graft.min.md
- GitLab MCP Server, good 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. Ahead on Schema & documentation, 85 against 32; Security & auth, 66 against 37; Maintenance & community, 85 against 63; Transparency & trust, 87 against 57. Also A hosted endpoint, with nothing to install.
- graft, good for A team experimenting with server-side source control for many agents on one monorepo, where git push contention is the problem. Ahead on Payments & pricing, 60 against 30. Also Free to start without a card; Open source.

| Category | GitLab MCP Server | graft |
| --- | --- | --- |
| Reliability (16%) | 62 | 64 |
| Performance (10%) | pending | pending |
| Schema & documentation (13%) | 85 | 32 |
| Agent ergonomics (13%) | 66 | 64 |
| Security & auth (14%) | 66 | 37 |
| Payments & pricing (10%) | 30 | 60 |
| Task success (10%) | pending | pending |
| Maintenance & community (7%) | 85 | 63 |
| Transparency & trust (7%) | 87 | 57 |

| Fact (where they differ) | GitLab MCP Server | graft |
| --- | --- | --- |
| Kind | MCP server | HTTP API |
| Vendor | GitLab Inc. | Vishisht Choudhary |
| Hosted endpoint | `https://gitlab.com/api/v4/mcp` | no (local only) |
| Transports | Streamable HTTP |  |
| Auth | OAuth | OAuth or key |
| Pricing | Freemium | Free |
| Licence | none | Apache-2.0 |
| Tools exposed | 47 | 0 |
| llms.txt | yes | no |
| MCP registry | `com.gitlab/mcp` | not listed |
| Last release | 2026-10-15 | 2026-10-14 |
| Terms last updated | no date given | no document linked |
| Privacy policy last updated | 2026-04-23 | no document linked |
| Customer content may train models | not found in the text | not read yet |
| Terms restrict automated access | not found in the text | not read yet |
| Terms restrict benchmarking | not found in the text | not read yet |
| Terms or service can change without notice | not found in the text | not read yet |
| Arbitration or class-action waiver | not found in the text | not read yet |
| Popularity | none | 1 stars |

Why the edge:
- Schema & documentation, GitLab MCP Server +53: GitLab MCP Server 85 (The tools reference documents every parameter with its type, required flag and enum values, and the server exposes JSON Schema through MCP; we read the reference, not the source (22). docs.gitlab.com/llms.txt is served (10). Each tool says what it does, and superseded tools name their replacement (`Use get_merge_request with include: commits`), though few say when not to use one (14). Enums for include facets, states, scopes and methods, with documented maximums such as first up to 100 and byte_limit up to 1 MB (13). The docs cover 403 insufficient_scope, 400 for an unknown toolset, 429 headers and troubleshooting for Windows and Claude Code, but give few example responses (11). Per-tool version history and monthly release notes (15). 22 + 10 + 14 + 13 + 11 + 15 = 85.); graft 32 (No OpenAPI or other machine-readable contract. Request and response shapes exist only as Go structs in internal/api (0). No llms.txt. README, DESIGN.md and ACCESS.md are Markdown on GitHub (5). The README's endpoint table gives one line per endpoint with its query parameters and nothing on when to use one over another (6). Parameters are named but types, defaults and bounds are found only in the source (6). Many CLI examples, but no HTTP request or response examples, and the 400, 403, 404, 409, 412 and 422 responses are not documented (5). Paths under `/v1` and release notes on GitHub for three releases (10). Total 32.)
- Payments & pricing, graft +30: 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.); graft 60 (No payment protocol (0). Read with the self-hosted rule. Free under Apache 2.0 with nothing to buy (20). No card or account (20). Download or `go install` with no signup (20). Total 60.)
- Transparency & trust, GitLab MCP Server +30: GitLab MCP Server 87 (GitLab's code is public in gitlab-org/gitlab, with the core under MIT and enterprise functions under GitLab's own licence; we didn't establish which licence covers the MCP server code (20). The privacy statement and a sub-processor page of 63 entries name AI providers and their purposes, but that page shows no update date and links no DPA (20). A dated deprecations and removals page and per-tool version history, with superseded tools kept as callable aliases (20). Sub-processors and their locations are disclosed, and Dedicated customers choose their AWS region (18). 20 + 20 + 20 + 18 = 78.); graft 57 (Apache 2.0 in LICENSE and as detected by GitHub (30). No privacy or data-handling statement. The software is self-hosted and the source we read sends nothing to the author, so data stays with the operator, but nothing says so (10). No deprecation policy, and the release notes are dated only by their GitHub release (2). No telemetry or analytics calls found in the source, and the docs don't address it (10). Total 52.)
- Security & auth, GitLab MCP Server +29: 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.); graft 37 (Self-hosted server read with the API lines. With no policy, every caller can read and write everything. With `--acl`, static bearer tokens map to principals and can be stored hashed, and revoking means editing the policy. Tokens go only in the Authorization header, but the server has no TLS option (12). Roles none, read, write and admin, directory-level read and write rules checked on every path and on the whole diff of each ref move, admin-only ref deletion, and review gates where authors cannot approve their own changes (17). The API returns repository files and commit messages with no guidance on untrusted content (2). The server logs errors only. Change request comments and approvals record the principal, but a changeset's author is whatever the client sends (4). No SECURITY.md, security.txt or bug bounty. Release checksums are published (2). Total 37.)
- Maintenance & community, GitLab MCP Server +22: 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.); graft 63 (v0.1.2 on 14 October 2026 UTC, read from the git tags (30). Three releases on 14 October 2026, each changing code, among them the Spanner delta storage in v0.1.2 (20). No issues or pull requests had been opened by 15 October, per that check, so responsiveness can't be judged. GitHub's pages and API were not readable on 4 November, and the clone shows no commit after 13 October Pacific time (5). No MCP server and no SDK (0). Go 1.26 in go.mod and CI passing on main on 14 October, per the 15 October check (8). Total 63.)
