{
  "data": {
    "a": {
      "slug": "gitlab-mcp",
      "name": "GitLab MCP Server",
      "vendor": "GitLab Inc.",
      "vendorUrl": "https://about.gitlab.com",
      "kind": "mcp",
      "category": "code",
      "summary": "GitLab's official MCP server, built into GitLab at /api/v4/mcp, gives MCP clients tools for projects, merge requests, work items, repositories, CI/CD pipelines and GitLab Duo agents, on GitLab.com, Self-Managed and Dedicated.",
      "url": "https://www.anchorterminal.com/tools/gitlab-mcp",
      "markdownUrl": "https://www.anchorterminal.com/tools/gitlab-mcp.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/gitlab-mcp.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/gitlab-mcp.json",
      "dns": "gitlab-mcp.grade.anchorterminal.com",
      "repo": "https://gitlab.com/gitlab-org/gitlab",
      "transports": [
        "streamable-http"
      ],
      "remoteUrl": "https://gitlab.com/api/v4/mcp",
      "packages": [],
      "auth": "oauth",
      "authNotes": "OAuth 2.0 access token with the `mcp` scope, through dynamic client registration (10 registrations an hour per IP) or a pre-registered OAuth application, or a fine-grained personal access token with the MCP tool resource and Execute permission. Legacy, project and group access tokens are refused with 403 `insufficient_scope`. An administrator must first allow MCP access for the top-level group (GitLab.com) or the instance. Pre-registered apps created through the REST API don't enforce PKCE. The endpoint answers 401 with RFC 9728 resource metadata naming gitlab.com as authorisation server.",
      "pricing": "freemium",
      "pricingNotes": "The MCP server is on Free, Premium and Ultimate since GitLab 19.2. GitLab.com Free is $0 for up to 5 users per top-level group with no card; Premium is $29 a user a month billed annually; Ultimate is by quote. Duo Agent Platform tools need Premium or Ultimate with Duo, or GitLab Credits at $1 each.",
      "priceSummary": "$1 / credit",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 on the MCP server or the pricing page (checked 2026-11-06).",
        "endpoints": []
      },
      "toolCount": 47,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://docs.gitlab.com/user/model_context_protocol/mcp_server/",
      "llmsTxt": "https://docs.gitlab.com/llms.txt",
      "registryName": "com.gitlab/mcp",
      "capabilities": [
        "code.repo",
        "code.git",
        "code.deploy"
      ],
      "tags": [
        "hosted",
        "self-hosted",
        "freemium",
        "mcp",
        "remote-mcp",
        "oauth",
        "mcp-registry",
        "llms-txt",
        "toolsets",
        "gitlab",
        "ci-cd"
      ],
      "lastRelease": "2026-10-15",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 67.3,
        "grade": "B",
        "agentReady": false,
        "rank": 334,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 6,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 66,
          "maintenance": 85,
          "payments": 30,
          "reliability": 62,
          "schema": 85,
          "security": 66,
          "transparency": 87
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-06"
        },
        "negative": 0,
        "verdict": "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.",
        "bestFor": "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.",
        "strengths": [
          "Generally available since GitLab 19.5 (15 October 2026) on Free, Premium and Ultimate, on GitLab.com, Self-Managed and Dedicated",
          "OAuth with the `mcp` scope or fine-grained personal access tokens; legacy tokens are refused",
          "Toolset and per-tool headers cut the default list, and unknown names fail with 400",
          "Per-plan MCP rate limits with Retry-After and RateLimit-Reset on 429",
          "Cursor pagination, include facets and byte limits keep responses small"
        ],
        "weaknesses": [
          "About 47 tools load by default before any toolset header",
          "The docs leave prompt injection to the user and say to use tools only on trusted objects",
          "GitLab doesn't verify which client uses a client ID, and REST-created OAuth apps don't enforce PKCE",
          "No uptime SLA found on the pricing page",
          "MCP registry entry is still version 0.0.1 from October 2025"
        ],
        "agentNotes": [
          "Send X-Gitlab-Enabled-Mcp-Server-Toolsets with only the toolsets the task needs, such as core,merge_requests",
          "Ask an administrator to allow MCP access for the top-level group before the first connection",
          "Pass the head SHA to accept_merge_request, and confirm with the user before merging or committing",
          "On 429 wait for Retry-After; per-minute rejections still count towards the hourly limit",
          "Treat issue, merge request and file content as untrusted input; GitLab doesn't filter it"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 67.3
          }
        ],
        "editorialScores": {
          "ergonomics": 66,
          "maintenance": 85,
          "payments": 30,
          "reliability": 62,
          "schema": 85,
          "security": 66,
          "transparency": 78
        },
        "provenanceScore": 95,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-06",
            "maintenance": "2026-11-06",
            "payments": "2026-11-06",
            "reliability": "2026-11-06",
            "schema": "2026-11-06",
            "security": "2026-11-06",
            "transparency": "2026-11-06"
          },
          "last": "2026-11-06",
          "oldest": "2026-11-06",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "claudeCode": "claude mcp add --transport http GitLab https://gitlab.com/api/v4/mcp",
        "config": {
          "mcpServers": {
            "GitLab": {
              "type": "http",
              "url": "https://gitlab.com/api/v4/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/code.repo",
        "tool": "https://letme.dev/gitlab-mcp"
      },
      "area": "developer",
      "unitPrices": [
        {
          "item": "Premium",
          "unit": "user-month",
          "usd": 29,
          "note": "Billed annually"
        },
        {
          "item": "GitLab Credit",
          "unit": "credit",
          "usd": 1,
          "note": "For Duo Agent Platform use; volume discounts with an annual commitment"
        }
      ],
      "provenance": {
        "legalEntity": "GitLab Inc.",
        "domain": "gitlab.com",
        "domainRegistered": "2004-01-15",
        "endpointOnVendorDomain": true,
        "terms": "https://about.gitlab.com/terms/",
        "privacy": "https://about.gitlab.com/privacy/",
        "statusPage": "https://status.gitlab.com",
        "changelog": "https://docs.gitlab.com/releases/19/",
        "securityTxt": "valid",
        "checked": "2026-11-06",
        "notes": [
          "about.gitlab.com/company names GitLab Inc. as the company listed on the Nasdaq Global Market under GTLB.",
          "gitlab.com/.well-known/security.txt is PGP-signed, points to HackerOne and about.gitlab.com/security/disclosure, and expires 2027-01-31.",
          "about.gitlab.com/robots.txt names ClaudeBot and anthropic-ai and disallows only /search/, /api/, /exp/ and one resources folder for them.",
          "The sub-processor page lists 63 entries, including Google, AWS, Anthropic, OpenAI and Fireworks.ai for AI functions and HiddenLayer for prompt-injection security, with locations, and no visible update date.",
          "RDAP gives gitlab.com a registration date of 15 January 2004."
        ],
        "score": 95
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/gitlab-mcp.json",
      "live": {
        "slug": "gitlab-mcp",
        "probe": {
          "target": "https://gitlab.com/api/v4/mcp",
          "method": "mcp-initialize",
          "lastAt": "2026-11-07T18:20:27.082866325Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 287,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 196,
          "p95ms24h": 315,
          "samples24h": 200,
          "samples30d": 200,
          "days": [
            {
              "date": "2026-11-06",
              "probes": 13,
              "ok": 13
            },
            {
              "date": "2026-11-07",
              "probes": 187,
              "ok": 187
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.gitlab.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-07T04:47:50.529753137Z"
        },
        "versions": [
          {
            "registry": "mcp-registry",
            "name": "com.gitlab/mcp",
            "version": "0.0.1",
            "seenAt": "2026-11-07T18:16:28.95801333Z"
          }
        ],
        "securityTxt": {
          "url": "https://gitlab.com/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-01-31T05:00:00.000Z",
          "checkedAt": "2026-11-07T16:00:35.978160451Z"
        },
        "llmsTxt": {
          "url": "https://docs.gitlab.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:32:35.836590435Z"
        },
        "pages": [
          {
            "url": "https://docs.gitlab.com/releases/19/",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-07T14:06:25.949810739Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "e555fad0fadb"
          },
          {
            "url": "https://about.gitlab.com/privacy/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T13:58:29.597957724Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "205ffc09f256"
          },
          {
            "url": "https://about.gitlab.com/terms/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T13:58:31.769260175Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "33bec44fb3b9"
          }
        ],
        "mcpTools": {
          "url": "https://gitlab.com/api/v4/mcp",
          "checkedAt": "2026-11-07T01:44:49.273162786Z",
          "status": "auth",
          "note": "asks for credentials before listing its tools",
          "changedAt": "2026-11-07T01:44:49.273162786Z"
        },
        "updatedAt": "2026-11-07T18:20:27.082866325Z"
      }
    },
    "answer": "Graphify scores 68.8 (B) on agent readiness against GitLab MCP Server's 67.3 (B), and leads in 2 of 7 scored categories. GitLab MCP Server leads on schema \u0026 documentation, maintenance \u0026 community and transparency \u0026 trust.",
    "b": {
      "slug": "graphify",
      "name": "Graphify",
      "vendor": "Graphify Labs",
      "vendorUrl": "https://graphify.com",
      "kind": "mcp",
      "category": "code",
      "summary": "Graphify is an open-source Python tool from Graphify Labs that turns a repository, plus its docs and media, into a knowledge graph a coding agent queries through a CLI, an installed assistant skill or a local ten-tool MCP server.",
      "url": "https://www.anchorterminal.com/tools/graphify",
      "markdownUrl": "https://www.anchorterminal.com/tools/graphify.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/graphify.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/graphify.json",
      "dns": "graphify.grade.anchorterminal.com",
      "repo": "https://github.com/Graphify-Labs/graphify",
      "license": "Apache-2.0 since 0.9.25 of 22 July 2026. Contributions made before then remain available under MIT, with the original text kept in LICENSE-MIT and referenced from NOTICE",
      "transports": [
        "stdio",
        "streamable-http"
      ],
      "packages": [
        {
          "registry": "pypi",
          "name": "graphifyy"
        }
      ],
      "auth": "none",
      "authNotes": "No account with Graphify Labs. The stdio MCP server and the CLI need no credentials. The optional Streamable HTTP server binds 127.0.0.1 by default and requires a key only when `GRAPHIFY_API_KEY` or `--api-key` is set, sent as `Authorization: Bearer \u003ckey\u003e` or `X-API-Key`. The optional model step uses the owner's own provider key, a local Ollama or an authenticated `claude` CLI. The PR tools use the owner's `gh` login (https://docs.graphify.com/mcp/shared-http.md).",
      "pricing": "free",
      "pricingNotes": "Free under the Apache 2.0 licence, with nothing to buy to run the package. The owner pays any model provider used for the semantic pass, or nothing with Ollama or a code-only graph. Graphify Cloud is a separate hosted product with a Free plan (up to 3 repositories, no card), Pro at $15 a month and Teams at $29 a seat a month for the first 100 teams ($40 standard, at least 2 seats), not graded here (https://docs.graphify.com/platform/support/pricing.md, checked 2026-11-01).",
      "priceSummary": "Free · OSS",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "A local package with nothing to buy. No x402, MPP or L402 in the README, the docs or the source at 0.9.95 (checked 2026-10-26).",
        "endpoints": []
      },
      "toolCount": 10,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-26"
      },
      "docsUrl": "https://docs.graphify.com",
      "llmsTxt": "https://docs.graphify.com/llms.txt",
      "capabilities": [
        "code.repo",
        "memory.graph",
        "code.git",
        "diagram.architecture"
      ],
      "tags": [
        "open-source",
        "local",
        "self-hosted",
        "free",
        "no-card",
        "python",
        "apache-2.0",
        "mcp",
        "cli",
        "stdio",
        "coding-agent",
        "agent-skills",
        "hooks",
        "knowledge-graph",
        "llms-txt",
        "no-telemetry",
        "docker",
        "pre-1.0"
      ],
      "lastRelease": "2026-11-01",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 68.8,
        "grade": "B",
        "agentReady": false,
        "rank": 271,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 4,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 77,
          "maintenance": 80,
          "payments": 60,
          "reliability": 58,
          "schema": 77,
          "security": 66,
          "transparency": 81
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-01"
        },
        "negative": -1,
        "negativeNotes": [
          "2026-10-19. GHSA-pcc4-rvhr-2pr8 (moderate). In 0.7.2 to 0.9.69 the Fortran extractor's `cpp` step followed absolute and traversing `#include` lines in an untrusted `.F` file, reading host files into graph.json, the report and the model context on the default offline path. Fixed in 0.9.70 of 27 September 2026, with a Security line in the changelog the same day and the advisory published three weeks later. Fixed and documented, so -1. https://api.osv.dev/v1/vulns/GHSA-pcc4-rvhr-2pr8"
        ],
        "verdict": "Graphify parses code locally with tree-sitter, ships near-daily releases with a dated changelog, and keeps its ten MCP tools read-only and compact. The optional model step picks a cloud provider from whichever API key is set, and community naming can fall back to the `claude` CLI, so `GRAPHIFY_BACKEND=none` is needed to keep everything on the machine.",
        "bestFor": "A person or team who wants a coding agent to query a structural map of a repository, with docs and papers folded in, before grepping.",
        "strengths": [
          "Code graphs build offline with tree-sitter, with no embeddings and no model call, and no telemetry code was found in the source",
          "Ten MCP tools with typed JSON Schema inputs, all of them reads, with token budgets on the larger ones",
          "68 dated releases in the 90 days to 1 November 2026, each with a CHANGELOG.md entry crediting the pull requests",
          "Edges are labelled EXTRACTED, INFERRED or AMBIGUOUS, and ambiguous names are refused with candidates and exit code 3",
          "Docs at docs.graphify.com with llms.txt and a Markdown copy of every page, plus a valid security.txt"
        ],
        "weaknesses": [
          "Headless extraction sends docs to whichever cloud provider's key is set, Gemini first and Kimi in China second, unless `GRAPHIFY_BACKEND` is set",
          "Community naming falls back to the `claude` CLI when no key is set, which sends node names to Anthropic through the owner's plan",
          "Version 0.9.100, with breaking changes such as node IDs in 0.9.0 shipped inside 0.x releases",
          "One moderate advisory, a host-file read through the Fortran extractor in 0.7.2 to 0.9.69, fixed in 0.9.70",
          "No readOnlyHint or destructiveHint annotations, and the local server isn't in the official MCP registry"
        ],
        "agentNotes": [
          "Install `graphifyy` with two y's; other `graphify*` packages on PyPI are not the project's",
          "Set `GRAPHIFY_BACKEND=none` or use `--code-only` when no source or doc text may leave the machine",
          "Pass an absolute path to graph.json in the MCP config, and run `graph_stats` first to check the graph loaded",
          "Set `GRAPHIFY_API_KEY` before binding the HTTP server to 0.0.0.0; it only warns when no key is set",
          "Run 0.9.70 or later before indexing an untrusted repository, because earlier versions carry the Fortran file-read advisory"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 68.8
          }
        ],
        "editorialScores": {
          "ergonomics": 77,
          "maintenance": 80,
          "payments": 60,
          "reliability": 58,
          "schema": 77,
          "security": 66,
          "transparency": 78
        },
        "provenanceScore": 84,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-01",
            "maintenance": "2026-11-01",
            "payments": "2026-11-01",
            "reliability": "2026-11-01",
            "schema": "2026-11-01",
            "security": "2026-11-01",
            "transparency": "2026-11-01"
          },
          "last": "2026-11-01",
          "lastMoved": "2026-11-01",
          "oldest": "2026-11-01",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "uv tool install \"graphifyy[mcp]\"   # then: graphify install, and /graphify . in the assistant",
        "claudeCode": "claude mcp add --transport stdio graphify -- graphify-mcp /absolute/path/to/repo/graphify-out/graph.json",
        "config": {
          "mcpServers": {
            "graphify": {
              "args": [
                "/absolute/path/to/repo/graphify-out/graph.json"
              ],
              "command": "graphify-mcp"
            }
          }
        },
        "headless": {
          "command": "graphify query \"$QUESTION\" --budget 2000"
        }
      },
      "letme": {
        "capability": "https://letme.dev/code.repo",
        "tool": "https://letme.dev/graphify"
      },
      "area": "developer",
      "provenance": {
        "legalEntity": "Graphify Labs",
        "domain": "graphify.com",
        "domainRegistered": "2007-07-23",
        "endpointOnVendorDomain": null,
        "terms": "https://graphify.com/terms",
        "privacy": "https://graphify.com/privacy",
        "statusPage": "",
        "changelog": "https://github.com/Graphify-Labs/graphify/blob/v8/CHANGELOG.md",
        "securityTxt": "valid",
        "checked": "2026-10-26",
        "notes": [
          "The terms and privacy policy name Graphify Labs, with no corporate suffix found, and the terms are governed by Delaware law. Y Combinator's directory lists Graphify Labs in San Francisco.",
          "The terms of 3 October 2026 cover the hosted service and say the open-source core is governed by its own licence, so the Apache 2.0 licence stands in for terms for this listing.",
          "graphify.com/.well-known/security.txt names founders@graphifylabs.ai and expires on 1 July 2027. SECURITY.md asks for reports through GitHub private vulnerability reporting.",
          "RDAP gives a registration date of 23 July 2007 for graphify.com, last changed on 8 July 2026, three months after the first release.",
          "There is no hosted endpoint for this listing. The MCP server and CLI run on the owner's host; Graphify Cloud's endpoint at api.graphify.com is a separate product.",
          "graphify.com says graphify.net, graphiffy.com and app.graphify.net are not operated by Graphify Labs."
        ],
        "score": 84
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/graphify.json",
      "live": {
        "slug": "graphify",
        "versions": [
          {
            "registry": "github",
            "name": "Graphify-Labs/graphify",
            "version": "v0.9.103",
            "released": "2026-11-05",
            "seenAt": "2026-11-06T23:31:03.169245479Z"
          },
          {
            "registry": "pypi",
            "name": "graphifyy",
            "version": "0.9.103",
            "released": "2026-11-05",
            "seenAt": "2026-11-06T23:31:03.003250575Z"
          }
        ],
        "githubStars": 143538,
        "pypiWeekly": 483662,
        "securityTxt": {
          "url": "https://graphify.com/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-07-01T00:00:00.000Z",
          "checkedAt": "2026-11-07T15:59:55.355664959Z"
        },
        "llmsTxt": {
          "url": "https://docs.graphify.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:32:38.580534263Z"
        },
        "domain": {
          "domain": "graphify.com",
          "registered": "2007-07-23",
          "source": "https://rdap.verisign.com/com/v1/domain/graphify.com",
          "checkedAt": "2026-11-01T14:08:28.709257294Z"
        },
        "pages": [
          {
            "url": "https://raw.githubusercontent.com/Graphify-Labs/graphify/v8/CHANGELOG.md",
            "kind": "changelog",
            "status": 304,
            "checkedAt": "2026-11-07T14:18:27.197832882Z",
            "changedAt": "2026-11-06T13:39:55.787416193Z",
            "fingerprint": "38b5d9944684"
          },
          {
            "url": "https://docs.graphify.com/platform/support/pricing.md",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-11-07T14:06:31.034510274Z",
            "changedAt": "2026-11-06T13:28:54.739140826Z",
            "fingerprint": "c794d96bdf3a"
          },
          {
            "url": "https://docs.graphify.com/pricing/overview.md",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-11-01T06:41:48.181836313Z",
            "changedAt": "2026-11-01T06:41:48.181836313Z",
            "fingerprint": "fee6a957ecc9"
          },
          {
            "url": "https://graphify.com/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:10:37.520461313Z",
            "changedAt": "2026-11-04T08:24:40.190305801Z",
            "fingerprint": "73dc2926eb6f"
          },
          {
            "url": "https://graphify.com/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:10:40.210728135Z",
            "changedAt": "2026-11-04T08:24:42.919532095Z",
            "fingerprint": "bbde68697ee3"
          }
        ],
        "github": {
          "repo": "graphify-labs/graphify",
          "checkedAt": "2026-11-02T08:21:39.573831919Z",
          "stars": 140732,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-11-01T16:02:01Z",
          "openIssues": 728,
          "openPRs": 918,
          "issuesOpened90d": 981,
          "issuesClosed90d": 610,
          "prsMerged90d": 6,
          "ci": {
            "branch": "v8",
            "runs": 50,
            "success": 46,
            "failure": 4,
            "other": 0,
            "latest": "success",
            "latestAt": "2026-11-01T16:07:43Z"
          },
          "advisories": [
            {
              "ghsa": "GHSA-pcc4-rvhr-2pr8",
              "severity": "high",
              "published": "2026-09-27T18:26:52Z"
            }
          ],
          "replies": {
            "sampled": 13,
            "unanswered": 6,
            "medianDays": 2.5
          }
        },
        "updatedAt": "2026-11-07T15:59:55.355664959Z"
      }
    },
    "edges": [
      {
        "by": 30,
        "category": "payments",
        "leads": "graphify",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "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.",
          "b": "Read with the self-hosted rule. No payment protocol (0). The package is free under Apache 2.0, needs no account or card, and builds a code graph with no key, so 20, 20 and 20 on the last three lines. Graphify Cloud, a separate hosted product with public plan prices, is not scored here."
        },
        "scores": {
          "a": 30,
          "b": 60
        }
      },
      {
        "by": 11,
        "category": "ergonomics",
        "leads": "graphify",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "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.",
          "b": "MCP reading. Ten compact tools, about 7,900 characters of tool-definition source in serve.py (25). `token_budget` on `query_graph`, `get_neighbors` and `get_community` (default 2,000), `depth` capped at 6, `max_hops`, `top_n`, `relation_filter` and `context_filter`, and `--budget` on the CLI. No cursor paging (17 of 20). Exit codes for answer, ambiguous name and no match, ambiguous names refused with candidates instead of guessed, and a clear message when graph.json is missing or corrupt. MCP errors come back as text (15 of 20). Every tool reads, so calls are safe to repeat, but none carries readOnlyHint or destructiveHint (10 of 20). `graphify install` and `/graphify .` build a first graph, `graph_stats` is the documented first call, and code needs no key. Python only, though the CLI works from any language (10 of 15)."
        },
        "scores": {
          "a": 66,
          "b": 77
        }
      },
      {
        "by": 8,
        "category": "schema",
        "leads": "gitlab-mcp",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "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.",
          "b": "MCP reading. All ten tools carry typed JSON Schema inputs in serve.py, though `get_node` and `get_neighbors` mark no field required and no tool has an output schema (20 of 25). llms.txt at docs.graphify.com, a Markdown copy of every page, llms-full.txt, and an MCP tool reference generated from serve.py (10). Descriptions say what each tool does in one sentence; the three PR tools also say when to call them, the graph tools don't say when not to (10 of 20). Types, defaults and a `bfs`/`dfs` enum, but `depth` is limited to 1 to 6 in text and code rather than in the schema, and `relation_filter` is a free string (10 of 15). Worked examples in the README and docs, documented exit codes 0, 3 and 4, refusals that list candidate nodes, and a troubleshooting page (12 of 15). A dated CHANGELOG.md with 243 dated entries on 1 November 2026, a docs changelog, and `schema_version` in graph.json (15)."
        },
        "scores": {
          "a": 85,
          "b": 77
        }
      },
      {
        "by": 6,
        "category": "transparency",
        "leads": "gitlab-mcp",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "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.",
          "b": "The editorial half. Apache 2.0, with the MIT portion before 0.9.25 kept in LICENSE-MIT (30). The README's privacy section says what stays local, which env vars send docs to which provider, that Kimi routes to China and how to turn backends off, and the docs agree. The README still says every query is logged by default while the code and configuration docs say logging is off by default, and graphify.com's security page says the core makes no network calls of its own, which the `claude` CLI fallback for community names stretches (20 of 30). The changelog dates breaking changes and removals, SECURITY.md supports the latest 0.9.x only, and graph.json carries a schema version. No deprecation policy or notice period (8 of 20). No telemetry, stated in the README and on the security page, and none found in the source (20)."
        },
        "scores": {
          "a": 87,
          "b": 81
        }
      },
      {
        "by": 5,
        "category": "maintenance",
        "leads": "gitlab-mcp",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "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.",
          "b": "0.9.100 was tagged and dated in CHANGELOG.md on 1 November 2026, the day of this check (30). PyPI's pages didn't resolve from the shell on 1 November, so release dates come from the tags and the changelog. 68 dated releases in the 90 days to 1 November, 0.9.33 (5 August) to 0.9.100 (20). The 0.9.97 to 0.9.100 entries credit community pull requests by name, with issue and pull request numbers up to #4933, and the default branch had commits on every day from 25 October to 1 November. Issue threads and reply times weren't read, a judgement call (18 of 25). The official MCP registry still holds only `io.github.Graphify-Labs/graphify`, Graphify Cloud's hosted server at api.graphify.com/mcp; the local `graphify-mcp` isn't listed. Published on PyPI (5 of 15). A frozen uv.lock in CI on four Python versions, dependency floors raised for named CVEs (Pillow and pypdf in 0.9.96, anyio in the `mcp` extra in 0.9.97), and trusted publishing. No Dependabot configuration, and the bandit and pip-audit jobs still carry `continue-on-error` (7 of 10). 30+20+18+5+7 = 80. The 26 October check published 81 on the same lines, which add to 80, so the score is corrected to the sum."
        },
        "scores": {
          "a": 85,
          "b": 80
        }
      }
    ],
    "facts": [
      {
        "a": "MCP server",
        "b": "MCP server",
        "name": "Kind"
      },
      {
        "a": "GitLab Inc.",
        "b": "Graphify Labs",
        "name": "Vendor"
      },
      {
        "a": "https://gitlab.com/api/v4/mcp",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "Streamable HTTP",
        "b": "stdio, Streamable HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth",
        "b": "None",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Free",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "none",
        "b": "Apache-2.0 since 0.9.25 of 22 July 2026. Contributions made before then remain available under MIT, with the original text kept in LICENSE-MIT and referenced from NOTICE",
        "name": "Licence"
      },
      {
        "a": "47",
        "b": "10",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "com.gitlab/mcp",
        "b": "not listed",
        "name": "MCP registry"
      },
      {
        "a": "2026-10-15",
        "b": "2026-11-01",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "couldn't be read",
        "name": "Terms last updated"
      },
      {
        "a": "2026-04-23",
        "b": "couldn't be read",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Arbitration or class-action waiver"
      }
    ],
    "faq": [
      {
        "answer": "Graphify scores 68.8 (B) on agent readiness against GitLab MCP Server's 67.3 (B), and leads in 2 of 7 scored categories. GitLab MCP Server leads on schema \u0026 documentation, maintenance \u0026 community and transparency \u0026 trust.",
        "question": "Which is better for AI agents, GitLab MCP Server or Graphify?"
      },
      {
        "answer": "GitLab MCP Server uses an OAuth sign-in. Graphify needs no key.",
        "question": "Do GitLab MCP Server and Graphify need an API key?"
      },
      {
        "answer": "GitLab MCP Server has a hosted endpoint at https://gitlab.com/api/v4/mcp. Graphify runs on your own machine, with no hosted endpoint listed.",
        "question": "Can an agent call GitLab MCP Server and Graphify without installing anything?"
      },
      {
        "answer": "No open-source release is listed for GitLab MCP Server. Graphify is open source (Apache-2.0 since 0.9.25 of 22 July 2026. Contributions made before then remain available under MIT, with the original text kept in LICENSE-MIT and referenced from NOTICE).",
        "question": "Are GitLab MCP Server and Graphify open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Schema \u0026 documentation, 85 against 77",
          "Maintenance \u0026 community, 85 against 80",
          "Transparency \u0026 trust, 87 against 81"
        ],
        "also": [
          "A hosted endpoint, with nothing to install"
        ],
        "goodFor": "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.",
        "slug": "gitlab-mcp",
        "watchFor": "About 47 tools load by default before any toolset header"
      },
      {
        "aheadOn": [
          "Agent ergonomics, 77 against 66",
          "Payments \u0026 pricing, 60 against 30"
        ],
        "also": [
          "No key needed to call it",
          "Runs on your own machine",
          "Free to start without a card",
          "Open source"
        ],
        "goodFor": "A person or team who wants a coding agent to query a structural map of a repository, with docs and papers folded in, before grepping.",
        "slug": "graphify",
        "watchFor": "Headless extraction sends docs to whichever cloud provider's key is set, Gemini first and Kimi in China second, unless `GRAPHIFY_BACKEND` is set"
      }
    ],
    "history": {
      "gitlab-mcp": null,
      "graphify": [
        {
          "causes": [
            "correction"
          ],
          "date": "2026-11-01",
          "delta": -0.1,
          "from": 68.9,
          "fromGrade": "B",
          "to": 68.8,
          "toGrade": "B"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-30",
          "delta": -0.2,
          "from": 69.1,
          "fromGrade": "B",
          "to": 68.9,
          "toGrade": "B"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-27",
          "delta": 0.1,
          "from": 69,
          "fromGrade": "B",
          "to": 69.1,
          "toGrade": "B"
        }
      ]
    },
    "job": {
      "capability": "code.repo",
      "name": "Code repositories"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/azure-devops-mcp-vs-gitlab-mcp.json",
        "title": "Azure DevOps MCP Server vs GitLab MCP Server",
        "url": "https://www.anchorterminal.com/compare/azure-devops-mcp-vs-gitlab-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-devops-mcp-vs-graphify.json",
        "title": "Azure DevOps MCP Server vs Graphify",
        "url": "https://www.anchorterminal.com/compare/azure-devops-mcp-vs-graphify"
      },
      {
        "json": "https://www.anchorterminal.com/compare/entire-vs-gitlab-mcp.json",
        "title": "Entire vs GitLab MCP Server",
        "url": "https://www.anchorterminal.com/compare/entire-vs-gitlab-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/entire-vs-graphify.json",
        "title": "Entire vs Graphify",
        "url": "https://www.anchorterminal.com/compare/entire-vs-graphify"
      },
      {
        "json": "https://www.anchorterminal.com/compare/github-mcp-server-vs-gitlab-mcp.json",
        "title": "GitHub MCP Server vs GitLab MCP Server",
        "url": "https://www.anchorterminal.com/compare/github-mcp-server-vs-gitlab-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/github-mcp-server-vs-graphify.json",
        "title": "GitHub MCP Server vs Graphify",
        "url": "https://www.anchorterminal.com/compare/github-mcp-server-vs-graphify"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gitlab-mcp-vs-gitmcp.json",
        "title": "GitLab MCP Server vs GitMCP",
        "url": "https://www.anchorterminal.com/compare/gitlab-mcp-vs-gitmcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gitlab-mcp-vs-graft.json",
        "title": "GitLab MCP Server vs graft",
        "url": "https://www.anchorterminal.com/compare/gitlab-mcp-vs-graft"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gitlab-mcp-vs-sourcegraph-mcp.json",
        "title": "GitLab MCP Server vs Sourcegraph MCP Server",
        "url": "https://www.anchorterminal.com/compare/gitlab-mcp-vs-sourcegraph-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gitlab-mcp-vs-tokeneconomizer.json",
        "title": "GitLab MCP Server vs TokenEconomizer",
        "url": "https://www.anchorterminal.com/compare/gitlab-mcp-vs-tokeneconomizer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gitmcp-vs-graphify.json",
        "title": "GitMCP vs Graphify",
        "url": "https://www.anchorterminal.com/compare/gitmcp-vs-graphify"
      },
      {
        "json": "https://www.anchorterminal.com/compare/graphify-vs-sourcegraph-mcp.json",
        "title": "Graphify vs Sourcegraph MCP Server",
        "url": "https://www.anchorterminal.com/compare/graphify-vs-sourcegraph-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/graphify-vs-tokeneconomizer.json",
        "title": "Graphify vs TokenEconomizer",
        "url": "https://www.anchorterminal.com/compare/graphify-vs-tokeneconomizer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/git-reference-server-vs-gitlab-mcp.json",
        "title": "Git (MCP reference server) vs GitLab MCP Server",
        "url": "https://www.anchorterminal.com/compare/git-reference-server-vs-gitlab-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/git-reference-server-vs-graphify.json",
        "title": "Git (MCP reference server) vs Graphify",
        "url": "https://www.anchorterminal.com/compare/git-reference-server-vs-graphify"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gitlab-mcp-vs-superpowers.json",
        "title": "GitLab MCP Server vs Superpowers",
        "url": "https://www.anchorterminal.com/compare/gitlab-mcp-vs-superpowers"
      },
      {
        "json": "https://www.anchorterminal.com/compare/graft-vs-graphify.json",
        "title": "graft vs Graphify",
        "url": "https://www.anchorterminal.com/compare/graft-vs-graphify"
      },
      {
        "json": "https://www.anchorterminal.com/compare/graphify-vs-superpowers.json",
        "title": "Graphify vs Superpowers",
        "url": "https://www.anchorterminal.com/compare/graphify-vs-superpowers"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gitlab-mcp-vs-salesforce-dx-mcp.json",
        "title": "GitLab MCP Server vs Salesforce DX MCP Server",
        "url": "https://www.anchorterminal.com/compare/gitlab-mcp-vs-salesforce-dx-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gitlab-mcp-vs-void.json",
        "title": "GitLab MCP Server vs Void",
        "url": "https://www.anchorterminal.com/compare/gitlab-mcp-vs-void"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 4,
        "edge": "gitlab-mcp",
        "gitlab-mcp": 62,
        "graphify": 58,
        "key": "reliability",
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 8,
        "edge": "gitlab-mcp",
        "gitlab-mcp": 85,
        "graphify": 77,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "by": 11,
        "edge": "graphify",
        "gitlab-mcp": 66,
        "graphify": 77,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "by": 0,
        "edge": "",
        "gitlab-mcp": 66,
        "graphify": 66,
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "by": 30,
        "edge": "graphify",
        "gitlab-mcp": 30,
        "graphify": 60,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 5,
        "edge": "gitlab-mcp",
        "gitlab-mcp": 85,
        "graphify": 80,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "by": 6,
        "edge": "gitlab-mcp",
        "gitlab-mcp": 87,
        "graphify": 81,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Graphify scores 68.8 (B) on agent readiness against GitLab MCP Server's 67.3 (B), and leads in 2 of 7 scored categories. GitLab MCP Server leads on schema \u0026 documentation, maintenance \u0026 community and transparency \u0026 trust. Both do code repositories.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "gitlab-mcp": "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.",
      "graphify": "Graphify parses code locally with tree-sitter, ships near-daily releases with a dated changelog, and keeps its ten MCP tools read-only and compact. The optional model step picks a cloud provider from whichever API key is set, and community naming can fall back to the `claude` CLI, so `GRAPHIFY_BACKEND=none` is needed to keep everything on the machine."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/gitlab-mcp-vs-graphify",
    "json": "https://www.anchorterminal.com/compare/gitlab-mcp-vs-graphify.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/gitlab-mcp-vs-graphify.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/gitlab-mcp-vs-graphify.min.md"
  },
  "markdown": "Graphify scores 68.8 (B) on agent readiness against GitLab MCP Server's 67.3 (B), and leads in 2 of 7 scored categories. GitLab MCP Server leads on schema \u0026 documentation, maintenance \u0026 community and transparency \u0026 trust. Both do code repositories.\n\n- GitLab MCP Server: grade B, 67.3/100, rank #334 of 1486. Markdown https://www.anchorterminal.com/tools/gitlab-mcp.md · JSON https://www.anchorterminal.com/api/v1/tools/gitlab-mcp.json\n- Graphify: grade B, 68.8/100, rank #271 of 1486. Markdown https://www.anchorterminal.com/tools/graphify.md · JSON https://www.anchorterminal.com/api/v1/tools/graphify.json\n- Best code, repository and documentation tools for AI agents: https://www.anchorterminal.com/best/code/index.md\n- All 62 code comparisons: https://www.anchorterminal.com/compare/code/index.md\n\n## Which one, for what\n\n### GitLab MCP Server (B)\n\nGood 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.\n\nAhead on:\n- Schema \u0026 documentation, 85 against 77\n- Maintenance \u0026 community, 85 against 80\n- Transparency \u0026 trust, 87 against 81\n\nAlso in its favour:\n- A hosted endpoint, with nothing to install\n\nWatch for: About 47 tools load by default before any toolset header\n\n### Graphify (B)\n\nGood for: A person or team who wants a coding agent to query a structural map of a repository, with docs and papers folded in, before grepping.\n\nAhead on:\n- Agent ergonomics, 77 against 66\n- Payments \u0026 pricing, 60 against 30\n\nAlso in its favour:\n- No key needed to call it\n- Runs on your own machine\n- Free to start without a card\n- Open source\n\nWatch for: Headless extraction sends docs to whichever cloud provider's key is set, Gemini first and Kimi in China second, unless `GRAPHIFY_BACKEND` is set\n\n\n## Why the edge\n\n### Payments \u0026 pricing: Graphify +30\n\n- 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.\n- Graphify (60): Read with the self-hosted rule. No payment protocol (0). The package is free under Apache 2.0, needs no account or card, and builds a code graph with no key, so 20, 20 and 20 on the last three lines. Graphify Cloud, a separate hosted product with public plan prices, is not scored here.\n\n### Agent ergonomics: Graphify +11\n\n- 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.\n- Graphify (77): MCP reading. Ten compact tools, about 7,900 characters of tool-definition source in serve.py (25). `token_budget` on `query_graph`, `get_neighbors` and `get_community` (default 2,000), `depth` capped at 6, `max_hops`, `top_n`, `relation_filter` and `context_filter`, and `--budget` on the CLI. No cursor paging (17 of 20). Exit codes for answer, ambiguous name and no match, ambiguous names refused with candidates instead of guessed, and a clear message when graph.json is missing or corrupt. MCP errors come back as text (15 of 20). Every tool reads, so calls are safe to repeat, but none carries readOnlyHint or destructiveHint (10 of 20). `graphify install` and `/graphify .` build a first graph, `graph_stats` is the documented first call, and code needs no key. Python only, though the CLI works from any language (10 of 15).\n\n### Schema \u0026 documentation: GitLab MCP Server +8\n\n- 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.\n- Graphify (77): MCP reading. All ten tools carry typed JSON Schema inputs in serve.py, though `get_node` and `get_neighbors` mark no field required and no tool has an output schema (20 of 25). llms.txt at docs.graphify.com, a Markdown copy of every page, llms-full.txt, and an MCP tool reference generated from serve.py (10). Descriptions say what each tool does in one sentence; the three PR tools also say when to call them, the graph tools don't say when not to (10 of 20). Types, defaults and a `bfs`/`dfs` enum, but `depth` is limited to 1 to 6 in text and code rather than in the schema, and `relation_filter` is a free string (10 of 15). Worked examples in the README and docs, documented exit codes 0, 3 and 4, refusals that list candidate nodes, and a troubleshooting page (12 of 15). A dated CHANGELOG.md with 243 dated entries on 1 November 2026, a docs changelog, and `schema_version` in graph.json (15).\n\n### Transparency \u0026 trust: GitLab MCP Server +6\n\n- 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.\n- Graphify (81): The editorial half. Apache 2.0, with the MIT portion before 0.9.25 kept in LICENSE-MIT (30). The README's privacy section says what stays local, which env vars send docs to which provider, that Kimi routes to China and how to turn backends off, and the docs agree. The README still says every query is logged by default while the code and configuration docs say logging is off by default, and graphify.com's security page says the core makes no network calls of its own, which the `claude` CLI fallback for community names stretches (20 of 30). The changelog dates breaking changes and removals, SECURITY.md supports the latest 0.9.x only, and graph.json carries a schema version. No deprecation policy or notice period (8 of 20). No telemetry, stated in the README and on the security page, and none found in the source (20).\n\n### Maintenance \u0026 community: GitLab MCP Server +5\n\n- 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.\n- Graphify (80): 0.9.100 was tagged and dated in CHANGELOG.md on 1 November 2026, the day of this check (30). PyPI's pages didn't resolve from the shell on 1 November, so release dates come from the tags and the changelog. 68 dated releases in the 90 days to 1 November, 0.9.33 (5 August) to 0.9.100 (20). The 0.9.97 to 0.9.100 entries credit community pull requests by name, with issue and pull request numbers up to #4933, and the default branch had commits on every day from 25 October to 1 November. Issue threads and reply times weren't read, a judgement call (18 of 25). The official MCP registry still holds only `io.github.Graphify-Labs/graphify`, Graphify Cloud's hosted server at api.graphify.com/mcp; the local `graphify-mcp` isn't listed. Published on PyPI (5 of 15). A frozen uv.lock in CI on four Python versions, dependency floors raised for named CVEs (Pillow and pypdf in 0.9.96, anyio in the `mcp` extra in 0.9.97), and trusted publishing. No Dependabot configuration, and the bandit and pip-audit jobs still carry `continue-on-error` (7 of 10). 30+20+18+5+7 = 80. The 26 October check published 81 on the same lines, which add to 80, so the score is corrected to the sum.\n\n## Score by category\n\n| Category | Weight | GitLab MCP Server | Graphify | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 62 | 58 | GitLab MCP Server +4 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 85 | 77 | GitLab MCP Server +8 |\n| Agent ergonomics | 13% (16.2 this run) | 66 | 77 | Graphify +11 |\n| Security \u0026 auth | 14% (17.5 this run) | 66 | 66 | even |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 60 | Graphify +30 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 85 | 80 | GitLab MCP Server +5 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 87 | 81 | GitLab MCP Server +6 |\n| Negative events | ≤15 | 0 | -1 | |\n| **Total** | | **67.3 · B** | **68.8 · B** | |\n\n## Facts side by side\n\n| Fact | GitLab MCP Server | Graphify |\n| --- | --- | --- |\n| Kind | MCP server | MCP server |\n| Vendor | GitLab Inc. | Graphify Labs |\n| Hosted endpoint | `https://gitlab.com/api/v4/mcp` | no (local only) |\n| Transports | Streamable HTTP | stdio, Streamable HTTP |\n| Auth | OAuth | None |\n| Pricing | Freemium | Free |\n| x402 | no | no |\n| Licence | none | Apache-2.0 since 0.9.25 of 22 July 2026. Contributions made before then remain available under MIT, with the original text kept in LICENSE-MIT and referenced from NOTICE |\n| Tools exposed | 47 | 10 |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| MCP registry | `com.gitlab/mcp` | not listed |\n| Last release | 2026-10-15 | 2026-11-01 |\n| Terms last updated | no date given | couldn't be read |\n| Privacy policy last updated | 2026-04-23 | couldn't be read |\n| Customer content may train models | not found in the text | couldn't be read |\n| Terms restrict automated access | not found in the text | couldn't be read |\n| Terms restrict benchmarking | not found in the text | couldn't be read |\n| Terms or service can change without notice | not found in the text | couldn't be read |\n| Arbitration or class-action waiver | not found in the text | couldn't be read |\n\n## How the scores have moved\n\n### GitLab MCP Server\n\nNo score change since it was listed.\n\n### Graphify\n\n- -0.1 on 1 November 2026: correction\n- -0.2 on 30 October 2026: checklist\n- +0.1 on 27 October 2026: checklist\n\n## Verdicts\n\n**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.\n\n**Graphify.** Graphify parses code locally with tree-sitter, ships near-daily releases with a dated changelog, and keeps its ten MCP tools read-only and compact. The optional model step picks a cloud provider from whichever API key is set, and community naming can fall back to the `claude` CLI, so `GRAPHIFY_BACKEND=none` is needed to keep everything on the machine.\n\n## Before you call either\n\n### GitLab MCP Server\n\n1. Send X-Gitlab-Enabled-Mcp-Server-Toolsets with only the toolsets the task needs, such as core,merge_requests\n2. Ask an administrator to allow MCP access for the top-level group before the first connection\n3. Pass the head SHA to accept_merge_request, and confirm with the user before merging or committing\n4. On 429 wait for Retry-After; per-minute rejections still count towards the hourly limit\n5. Treat issue, merge request and file content as untrusted input; GitLab doesn't filter it\n\n### Graphify\n\n1. Install `graphifyy` with two y's; other `graphify*` packages on PyPI are not the project's\n2. Set `GRAPHIFY_BACKEND=none` or use `--code-only` when no source or doc text may leave the machine\n3. Pass an absolute path to graph.json in the MCP config, and run `graph_stats` first to check the graph loaded\n4. Set `GRAPHIFY_API_KEY` before binding the HTTP server to 0.0.0.0; it only warns when no key is set\n5. Run 0.9.70 or later before indexing an untrusted repository, because earlier versions carry the Fortran file-read advisory\n\n## Questions\n\n### Which is better for AI agents, GitLab MCP Server or Graphify?\n\nGraphify scores 68.8 (B) on agent readiness against GitLab MCP Server's 67.3 (B), and leads in 2 of 7 scored categories. GitLab MCP Server leads on schema \u0026 documentation, maintenance \u0026 community and transparency \u0026 trust.\n\n### Do GitLab MCP Server and Graphify need an API key?\n\nGitLab MCP Server uses an OAuth sign-in. Graphify needs no key.\n\n### Can an agent call GitLab MCP Server and Graphify without installing anything?\n\nGitLab MCP Server has a hosted endpoint at https://gitlab.com/api/v4/mcp. Graphify runs on your own machine, with no hosted endpoint listed.\n\n### Are GitLab MCP Server and Graphify open source?\n\nNo open-source release is listed for GitLab MCP Server. Graphify is open source (Apache-2.0 since 0.9.25 of 22 July 2026. Contributions made before then remain available under MIT, with the original text kept in LICENSE-MIT and referenced from NOTICE).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/gitlab-mcp-vs-graphify.json, and with the fewest tokens: https://www.anchorterminal.com/compare/gitlab-mcp-vs-graphify.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"gitlab-mcp\", \"b\": \"graphify\"}`. From a terminal: `anchor compare gitlab-mcp graphify`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/gitlab-mcp.json and https://www.anchorterminal.com/api/v1/tools/graphify.json\n\n## Other comparisons with GitLab MCP Server or Graphify\n\n- [Azure DevOps MCP Server vs GitLab MCP Server](https://www.anchorterminal.com/compare/azure-devops-mcp-vs-gitlab-mcp.md)\n- [Azure DevOps MCP Server vs Graphify](https://www.anchorterminal.com/compare/azure-devops-mcp-vs-graphify.md)\n- [Entire vs GitLab MCP Server](https://www.anchorterminal.com/compare/entire-vs-gitlab-mcp.md)\n- [Entire vs Graphify](https://www.anchorterminal.com/compare/entire-vs-graphify.md)\n- [GitHub MCP Server vs GitLab MCP Server](https://www.anchorterminal.com/compare/github-mcp-server-vs-gitlab-mcp.md)\n- [GitHub MCP Server vs Graphify](https://www.anchorterminal.com/compare/github-mcp-server-vs-graphify.md)\n- [GitLab MCP Server vs GitMCP](https://www.anchorterminal.com/compare/gitlab-mcp-vs-gitmcp.md)\n- [GitLab MCP Server vs graft](https://www.anchorterminal.com/compare/gitlab-mcp-vs-graft.md)\n- [GitLab MCP Server vs Sourcegraph MCP Server](https://www.anchorterminal.com/compare/gitlab-mcp-vs-sourcegraph-mcp.md)\n- [GitLab MCP Server vs TokenEconomizer](https://www.anchorterminal.com/compare/gitlab-mcp-vs-tokeneconomizer.md)\n- [GitMCP vs Graphify](https://www.anchorterminal.com/compare/gitmcp-vs-graphify.md)\n- [Graphify vs Sourcegraph MCP Server](https://www.anchorterminal.com/compare/graphify-vs-sourcegraph-mcp.md)\n- [Graphify vs TokenEconomizer](https://www.anchorterminal.com/compare/graphify-vs-tokeneconomizer.md)\n- [Git (MCP reference server) vs GitLab MCP Server](https://www.anchorterminal.com/compare/git-reference-server-vs-gitlab-mcp.md)\n- [Git (MCP reference server) vs Graphify](https://www.anchorterminal.com/compare/git-reference-server-vs-graphify.md)\n- [GitLab MCP Server vs Superpowers](https://www.anchorterminal.com/compare/gitlab-mcp-vs-superpowers.md)\n- [graft vs Graphify](https://www.anchorterminal.com/compare/graft-vs-graphify.md)\n- [Graphify vs Superpowers](https://www.anchorterminal.com/compare/graphify-vs-superpowers.md)\n- [GitLab MCP Server vs Salesforce DX MCP Server](https://www.anchorterminal.com/compare/gitlab-mcp-vs-salesforce-dx-mcp.md)\n- [GitLab MCP Server vs Void](https://www.anchorterminal.com/compare/gitlab-mcp-vs-void.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-07",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "GitLab MCP Server vs Graphify",
        "url": ""
      }
    ],
    "description": "Graphify scores 68.8 (B) to GitLab's 67.3 (B) for code repositories. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "GitLab MCP Server B 67.3",
      "Graphify B 68.8",
      "scores"
    ],
    "h1": "GitLab MCP Server vs Graphify",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/gitlab-mcp-vs-graphify",
    "published": "2026-10-01",
    "section": "tools",
    "title": "GitLab vs Graphify for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/gitlab-mcp-vs-graphify"
  },
  "tokens": {
    "markdown": 4500,
    "slim": 2680
  },
  "version": 1
}
