
GitLab Documentation MCP Server
io.github.nunolimaPublished by GitHub account nunolimav0.1.1Updated Oct 24, 2026
Searchable access to GitLab documentation from multiple repositories with full-text search.
The publisher's own server: Gitlab
Overview
A local MCP server that gives an AI assistant full-text search over indexed GitLab documentation from several official repositories, versioned to match your Git
- What you can do
- Search GitLab documentation across indexed repositories and get paths, titles and repository names for each hit (search_docs). Retrieve a specific document by its exact path from search results (get_doc). Search and return the full markdown of every hit in a single call (search_and_fetch). Browse indexed repository keys and read full markdown of an indexed document through resources.
- When to use it
- Useful when you want an assistant to answer GitLab questions from official docs rather than memory, for example CI/CD pipeline syntax, Runner setup, Pages configuration, or backup and restore, and you want answers tied to a specific GitLab version.
- Requirements
- Docker installed and running, plus an MCP-compatible client. The server runs as a local stdio process from the published container image; no authentication, API keys or environment variables are declared. The image is built for a chosen GitLab version or latest.
Installation
In SourceWeft
- Open GitLab Documentation MCP Server in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
GitLab Documentation MCP Server
A Model Context Protocol (MCP) server that provides searchable access to GitLab's official documentation. This server indexes markdown documentation from multiple GitLab OSS repositories and makes it available for AI assistants and other MCP clients.
Features
- Full-text search across GitLab documentation using SQLite FTS5
- Version-specific docs - Build for any GitLab version (e.g., 18.7.2) or latest
- Multiple repositories indexed:
- GitLab CE/EE (main application)
- GitLab Runner (CI/CD runner)
- Omnibus GitLab (installation packages)
- Gitaly (Git RPC service)
- GitLab Pages (static sites)
- GitLab Agent (Kubernetes integration, includes KAS)
- Optimized Docker image - Uses sparse checkout and filters to minimize size
Building the Docker Image
Find the GitLab Version
Look for the latest patch version for your desired GitLab release:
Build for Specific Version
Build for Latest (Main Branch)
- Restart Claude Desktop - The server will appear in the MCP tools menu (🔌 icon)
Cline (VS Code Extension)
- Open Cline settings in VS Code
- Navigate to MCP Servers section
- Add this configuration:
- Reload VS Code window
Cursor
- Open Cursor settings
- Go to Features → Model Context Protocol
- Add the server configuration:
Version Selection
Choose the version that matches your GitLab deployment:
Verification
After setup, verify the server is working:
- In Claude Desktop: Look for the 🔌 icon - you should see "gitlab-docs" listed
- Test a query: Ask Claude to search GitLab documentation, e.g., "Search GitLab docs for CI/CD pipeline configuration"
- Check Docker: Run
docker ps -aafter making a query to see if the container ran
An good test AI request message is: Using only the "gitlab-docs-mcp" mcp tools as source, what is the latest x.y.z GitLab version covered in the GitLab upgrade notes (doc/update/versions/)?
Troubleshooting
Server not appearing in client:
- Ensure Docker is running:
docker info - Check config file JSON is valid (no trailing commas, proper quotes)
- Restart your MCP client completely
"Cannot connect to Docker daemon" error:
- Start Docker Desktop
- Verify Docker is accessible:
docker ps
Old documentation version:
- Use a different version tag (see Version Selection above)
- Check available tags: https://hub.docker.com/r/nunolima/gitlab-docs-mcp/tags
Available Tools
Once connected, the server provides these tools (MCP Python SDK v2, structured outputs):
search_docs: Full-text search across all GitLab documentation (returns paths, titles, repos)get_doc: Retrieve a specific document by exact path from search resultssearch_and_fetch: Search and return full markdown for each hit in one call
Resources
docs://repos: Indexed repository keysdocs://{+path}: Full markdown for an indexed document path
Example Queries
Try asking your AI assistant:
- "Search GitLab docs for how to set up GitLab Runner with Docker"
- "Find documentation about GitLab CI/CD pipeline syntax"
- "What does the GitLab documentation say about backup and restore?"
- "Search for GitLab Pages custom domain configuration"
How It Works
- Build time: Clones doc folders from GitLab repositories using sparse checkout
- Indexing: Parses markdown files and builds an SQLite FTS5 search index
- Runtime: MCP server provides search tools to query the indexed documentation
Versioning Strategy
- Main GitLab repo: Uses full version tag (e.g.,
v18.7.2-ee) - Omnibus GitLab: Uses full version with +ee suffix (e.g.,
18.7.2+ee.0) - Other repositories: Use major.minor.0 version (e.g.,
v18.7.0)- This uses the first stable release (.0) for each major.minor version
- Example: Building GitLab 18.7.2 will use Runner/Gitaly/Pages/Agent v18.7.0
Development
Project Structure
Local Development
Integration tests (curl + jq)
test.sh starts the Docker image with Streamable HTTP and validates discover, tools, and resources against MCP protocol 2026-07-28:
License
MIT License - Copyright (c) 2026 Nuno Lima
This project indexes documentation from GitLab's open source repositories. See individual repository licenses for details.
Acknowledgments
Development of this project was supported by OLX, which provided access to AI-assisted development tools.
Source: README.md at commit 30cc1f2
Tools
0Version history
1- v0.1.1LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts
Other Gitlab integrations
Gitlab
com.gitlabOfficial publisher
Gitlab's hosted MCP server, published by gitlab.com; credential required; Streamable HTTP.

GitLab MCP Server
Published by GitHub account sumirati
A local GitLab MCP server that lets an assistant read and manage projects, branches, commits, merge requests, issues and CI/CD pipelines on GitLab.com or self‑h

Gitlab Mcp
Published by GitHub account mmedum
Local stdio MCP server that lets an assistant work inside your gitlab.com projects as you: issues, merge requests, reviews, repository and CI.

Gitlab Ci Break Lint
Published by GitHub account jmshinhwa
A local MCP server that flags lines in a .gitlab-ci.yml file that a GitLab runner will reject after the next major upgrade.

Gitlab Mcp
Published by GitHub account mrfentmen
Lets an assistant look up public GitLab projects and users without any API key.