Manage projects, issues, merge requests, pipelines, branches, and code search on GitLab — AI-native DevOps platform access.
Use with AI AssistantsMCP
Connect Claude, Cursor, or any MCP-compatible client — then call tools directly
① Add This MCP Server
Paste into your AI client config — then all its tools are available instantly.
{
"mcpServers": {
"gitlab": {
"url": "https://mcp.aerostack.dev/s/aerostack/mcp-gitlab",
"headers": {
"Authorization": "Bearer YOUR_AEROSTACK_TOKEN"
}
}
}
}Replace YOUR_AEROSTACK_TOKEN with your API token from the dashboard.
② Call a Tool
Ask your AI assistant to call a specific tool, or send raw JSON-RPC:
Natural Language Prompt
“Use the _ping tool to verify gitlab connectivity by fetching the authenticated user. used internally by aerostack to validate credentials”
Using a Workspace?
Add this MCP to your Workspace — your team shares one token, secrets are stored securely, and every AI agent in the workspace can call it without per-user setup.
Manage projects, issues, merge requests, pipelines, branches, and code search on GitLab — AI-native DevOps platform access.
Give your AI agents full access to GitLab. Browse projects, manage issues and merge requests, monitor CI/CD pipelines, search code, read files, and track branches — works with gitlab.com and self-hosted instances.
Live endpoint: https://mcp.aerostack.dev/s/aerostack/mcp-gitlab
| Tool | Description |
|---|---|
_ping | Verify GitLab connectivity and show authenticated user |
list_projects | List accessible projects with stars, forks, and activity |
get_project | Get project details with statistics and description |
list_issues | List issues with state, label, assignee, and search filters |
create_issue | Create a new issue with title, description, labels, assignees |
list_merge_requests | List MRs with state, branch, and author filters |
get_merge_request | Get MR details — diff stats, conflicts, reviewers, pipeline |
list_pipelines | List CI/CD pipelines with status and ref filters |
list_branches | List branches with protected/merged status |
search_code | Search code by keyword across a project |
get_file | Read a file from the repository by path and branch |
| Variable | Required | Description | How to Get |
|---|---|---|---|
GITLAB_TOKEN | Yes | GitLab Personal Access Token with api scope | gitlab.com → Preferences → Access Tokens → Add new token → select api scope |
GITLAB_URL | No | GitLab instance URL (default: https://gitlab.com) | For self-hosted: your GitLab instance URL (e.g. https://gitlab.company.com) |
GITLAB_TOKEN and optionally GITLAB_URL under Project → Secrets"List all my GitLab projects sorted by last activity"
"Show open issues labeled 'bug' in the frontend project"
"Create an issue: 'Fix login timeout' with label 'bug' in group/backend"
"List open merge requests targeting the main branch"
"Show me the last 5 pipeline runs for the API project — any failures?"
"Search for 'database_url' across the backend repository"
"Read the docker-compose.yml file from the main branch"
curl -X POST https://mcp.aerostack.dev/s/aerostack/mcp-gitlab \
-H 'Content-Type: application/json' \
-H 'X-Mcp-Secret-GITLAB-TOKEN: glpat-xxxxxxxxxxxx' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"list_projects","arguments":{"owned":true}}}'
read_api is sufficient for read-only operationsMIT
Live Endpoint
https://mcp.aerostack.dev/s/aerostack/mcp-gitlab
Sub-50ms globally · Zero cold start
@aerostack
Pre-built functions for the most common MCP tool patterns. Clone, extend, and deploy.
by @aerostack
Tasks, projects, sections, comments, teams, custom fields via Asana's official MCP
by @aerostack
Jira issues, sprints, Confluence pages via Atlassian's official MCP
by @aerostack
Cloudflare Workers, KV, R2, D1, Pages, DNS via Cloudflare's official MCP
by @aerostack
Dashboards, monitors, logs, metrics, incidents, SLOs, APM traces via Datadog's official MCP
by @aerostack
Files, frames, components, comments, variables via Figma's official MCP
by @aerostack
GitHub repos, PRs, issues, branches, code search via GitHub's official hosted MCP
Yes. search_code accepts a query string and optional project scope. Claude returns file path, line number, and snippet for each match — useful for cross-repo audits or finding all usages of a deprecated API.
create_issue accepts title, description, label array, and assignee IDs. Claude maps user-provided context to the correct fields and posts to the target project ID returned by list_projects or get_project.
list_pipelines returns pipeline IDs and statuses for a project. Claude can filter by status=failed and then use get_file on .gitlab-ci.yml to correlate the failing stage with the pipeline config.
get_merge_request returns full MR details including diff refs, approvals, and pipeline status. Claude can analyze the MR state and recommend merge readiness, though approval and merge actions require direct API calls.