{
 "categories": [
  "devtools",
  "source-control",
  "ci-cd",
  "devsecops"
 ],
 "deployment": "hybrid",
 "evidence": [
  {
   "date": "2026-08-16",
   "fact": "homepage",
   "note": "GitLab presents its current DevSecOps platform for planning, source control, CI/CD, operations, and software security.",
   "source": "https://about.gitlab.com/",
   "tier": "declared"
  },
  {
   "date": "2026-08-16",
   "fact": "platforms",
   "note": "GitLab documents GitLab.com, Dedicated, and Self-Managed deployments; the official CLI ships current binaries for Windows, macOS, Linux, and additional operating systems.",
   "source": "https://docs.gitlab.com/install/",
   "tier": "declared"
  },
  {
   "date": "2026-08-16",
   "fact": "license",
   "note": "GitLab publishes Free, Premium, and Ultimate tiers for its hosted and self-managed offerings.",
   "source": "https://about.gitlab.com/pricing/",
   "tier": "declared"
  },
  {
   "date": "2026-08-16",
   "fact": "modalities.api.exists",
   "note": "GitLab maintains versioned REST and GraphQL API documentation for the platform.",
   "source": "https://docs.gitlab.com/api/",
   "tier": "declared"
  },
  {
   "date": "2026-08-16",
   "fact": "modalities.api.kinds",
   "note": "GitLab publishes both REST API v4 and a GraphQL endpoint with queries and authenticated mutations.",
   "source": "https://docs.gitlab.com/api/graphql/",
   "tier": "declared"
  },
  {
   "date": "2026-08-16",
   "fact": "modalities.api.auth[0]",
   "note": "The REST API accepts OAuth 2.0 bearer tokens, including refreshable two-hour access tokens.",
   "source": "https://docs.gitlab.com/api/rest/authentication/",
   "tier": "declared"
  },
  {
   "date": "2026-08-16",
   "fact": "modalities.api.auth[1]",
   "note": "GitLab supports personal, project, and group access tokens with scopes and resource permissions.",
   "source": "https://docs.gitlab.com/api/rest/authentication/",
   "tier": "declared"
  },
  {
   "date": "2026-08-16",
   "fact": "modalities.api.auth[2]",
   "note": "CI/CD job tokens authenticate pipeline jobs to a documented subset of API endpoints through the JOB-TOKEN header.",
   "source": "https://docs.gitlab.com/api/rest/authentication/",
   "tier": "declared"
  },
  {
   "date": "2026-08-16",
   "fact": "modalities.api.coverage",
   "note": "The REST catalog spans projects, repositories, work items, issues, merge requests, pipelines, jobs, releases, registries, packages, security, groups, users, runners, and administration, with current OpenAPI generation.",
   "source": "https://docs.gitlab.com/api/rest/",
   "tier": "declared"
  },
  {
   "date": "2026-08-16",
   "fact": "modalities.mcp.first_party",
   "note": "GitLab documents its own remote MCP endpoint for GitLab.com, Dedicated, and Self-Managed, using HTTP or a stdio proxy and OAuth 2.0 dynamic client registration.",
   "source": "https://docs.gitlab.com/user/model_context_protocol/mcp_server/",
   "tier": "declared"
  },
  {
   "date": "2026-08-16",
   "fact": "modalities.cli.exists",
   "note": "GitLab maintains glab as its official open-source CLI for issues, merge requests, pipelines, releases, repositories, and multiple GitLab hosts.",
   "source": "https://docs.gitlab.com/cli/",
   "tier": "declared"
  },
  {
   "date": "2026-08-16",
   "fact": "modalities.extensibility.scripting",
   "note": "GitLab CI/CD runs repository-defined pipelines, while Self-Managed file hooks support asynchronous instance event scripts.",
   "source": "https://docs.gitlab.com/ci/",
   "tier": "declared"
  },
  {
   "date": "2026-08-16",
   "fact": "modalities.extensibility.webhooks",
   "note": "Project, group, and system webhooks send JSON events for code, issues, merge requests, jobs, pipelines, deployments, releases, security, memberships, and other lifecycle changes.",
   "source": "https://docs.gitlab.com/user/project/integrations/webhook_events/",
   "tier": "declared"
  },
  {
   "date": "2026-08-16",
   "fact": "modalities.data_access.export",
   "note": "REST and GraphQL return structured platform data, while the Git protocol clones repository history and content.",
   "source": "https://docs.gitlab.com/api/",
   "tier": "declared"
  },
  {
   "date": "2026-08-16",
   "fact": "modalities.data_access.import",
   "note": "Authenticated API operations create and update platform resources, while Git pushes repository commits and references.",
   "source": "https://docs.gitlab.com/api/",
   "tier": "declared"
  },
  {
   "date": "2026-08-16",
   "fact": "verdict.scores.api",
   "note": "The API is broad, mature, versioned, machine-described, read/write, permission-scoped, and paired with GraphQL, Git, webhooks, and a first-party CLI; plan and deployment differences remain the main constraints.",
   "source": "https://docs.gitlab.com/api/openapi/",
   "tier": "declared"
  },
  {
   "date": "2026-08-16",
   "fact": "verdict.scores.mcp",
   "note": "The first-party server exposes useful read and write tools for issues, merge requests, repository files and branches, pipelines, work items, and search, but beta status and feature enablement keep it at the limited vendor-preview anchor.",
   "source": "https://docs.gitlab.com/user/model_context_protocol/mcp_server_tools/",
   "tier": "declared"
  },
  {
   "date": "2026-08-16",
   "fact": "verdict.scores.cli",
   "note": "glab is actively released, works across GitLab deployments and desktop operating systems, covers major workflows, and can call any REST or GraphQL endpoint with pagination, JSON, NDJSON, and jq support.",
   "source": "https://docs.gitlab.com/cli/api/",
   "tier": "declared"
  },
  {
   "date": "2026-08-16",
   "fact": "freshness.watch[0].url",
   "note": "Opened and verified as GitLab's current API documentation index.",
   "source": "https://docs.gitlab.com/api/",
   "tier": "declared"
  },
  {
   "date": "2026-08-16",
   "fact": "freshness.watch[1].url",
   "note": "Opened and verified as the current first-party GitLab MCP server setup and lifecycle documentation.",
   "source": "https://docs.gitlab.com/user/model_context_protocol/mcp_server/",
   "tier": "declared"
  },
  {
   "date": "2026-08-16",
   "fact": "freshness.watch[2].url",
   "note": "Opened and verified as the current glab API command documentation.",
   "source": "https://docs.gitlab.com/cli/api/",
   "tier": "declared"
  }
 ],
 "freshness": {
  "last_verified": "2026-08-16",
  "volatility": "high",
  "watch": [
   {
    "type": "docs",
    "url": "https://docs.gitlab.com/api/"
   },
   {
    "type": "mcp",
    "url": "https://docs.gitlab.com/user/model_context_protocol/mcp_server/"
   },
   {
    "type": "docs",
    "url": "https://docs.gitlab.com/cli/api/"
   }
  ]
 },
 "homepage": "https://about.gitlab.com/",
 "id": "gitlab",
 "license": "freemium",
 "modalities": {
  "agent_docs": {
   "llms_txt": "unknown"
  },
  "api": {
   "auth": [
    "oauth2",
    "access-token",
    "job-token"
   ],
   "coverage": "full",
   "docs": "https://docs.gitlab.com/api/",
   "exists": true,
   "kinds": [
    "rest",
    "graphql"
   ]
  },
  "cli": {
   "exists": true
  },
  "computer_use": {
   "issues": [],
   "viability": "unknown"
  },
  "data_access": {
   "export": [
    "api-json",
    "git-clone"
   ],
   "import": [
    "api-json",
    "git-push"
   ]
  },
  "extensibility": {
   "scripting": [
    "gitlab-ci",
    "file-hooks"
   ],
   "webhooks": true
  },
  "integrations": {
   "make": "unknown",
   "n8n": "unknown",
   "power_automate": "unknown",
   "zapier": "unknown"
  },
  "mcp": {
   "first_party": true,
   "third_party": [],
   "verdict": "official"
  },
  "rpa": {
   "drivability": "unknown",
   "notes": "No repeatable UI probe was run. GitLab's REST and GraphQL APIs, official CLI, Git protocol, webhooks, CI/CD, and MCP server cover the useful automation surfaces without browser control.",
   "ui_stack": [
    "web-dom"
   ],
   "vendor_support": []
  },
  "sdk": {
   "exists": "unknown",
   "languages": [],
   "official": "unknown"
  }
 },
 "name": "GitLab",
 "platforms": [
  "web",
  "windows",
  "macos",
  "linux"
 ],
 "related": {
  "alternatives": [
   "github",
   "azure-devops",
   "bitbucket"
  ],
  "our_products": []
 },
 "schema_version": 1,
 "score_version": 1,
 "status": "active",
 "vendor": "GitLab",
 "verdict": {
  "best_path": "api",
  "scores": {
   "api": 9,
   "cli": 8,
   "computer_use": null,
   "integrations": null,
   "mcp": 6,
   "overall": 9,
   "rpa": null
  },
  "summary": "GitLab has an unusually complete automation surface across GitLab.com, Dedicated, and Self-Managed deployments. Its versioned REST API and permission-aware GraphQL API cover source projects, repositories, issues, merge requests, CI/CD, packages, security, administration, and other platform resources. OAuth, personal, project, group, and CI job tokens support user, service, and pipeline automation. GitLab also maintains the glab CLI with domain commands, direct REST and GraphQL access, pagination, JSON and NDJSON output, jq filtering, multiple-host authentication, and active cross-platform releases. Project, group, and system webhooks provide broad event delivery. The first-party remote MCP server uses OAuth dynamic client registration and exposes practical issue, merge-request, repository, work-item, search, and pipeline tools, but remains beta and requires GitLab Duo and beta-feature enablement. No official language SDK claim is made; that path remains unknown. Computer-use viability is unassessed.\n"
 }
}