This guide explains how to use @zereight/mcp-gitlab with Codex.
Codex supports MCP in two main ways:
codex mcp addfrom the CLIconfig.tomlin~/.codex/config.tomlor project.codex/config.toml
- Codex installed
- Node.js available in your shell
- GitLab access via either:
- Personal Access Token (PAT), or
- OAuth for compatible remote MCP servers
For this local stdio server, PAT is the simplest path.
Use an API URL, not the web root:
https://gitlab.com/api/v4https://your-gitlab.example.com/api/v4
PAT example:
codex mcp add gitlab \
--env GITLAB_PERSONAL_ACCESS_TOKEN=glpat-your-token \
--env GITLAB_API_URL=https://gitlab.com/api/v4 \
-- npx -y @zereight/mcp-gitlabOptional extra environment variables:
--env GITLAB_READ_ONLY_MODE=true
--env USE_GITLAB_WIKI=true
--env USE_MILESTONE=true
--env USE_PIPELINE=trueCodex stores MCP config in:
~/.codex/config.toml- or project-scoped
.codex/config.toml
Example:
[mcp_servers.gitlab]
command = "npx"
args = ["-y", "@zereight/mcp-gitlab"]
[mcp_servers.gitlab.env]
GITLAB_PERSONAL_ACCESS_TOKEN = "glpat-your-token"
GITLAB_API_URL = "https://gitlab.com/api/v4"
GITLAB_READ_ONLY_MODE = "false"Useful commands:
codex mcp --helpIn the Codex TUI, use:
/mcp
to see active MCP servers.
List my GitLab projects and recent merge requests.
Wrong:
https://gitlab.com
Correct:
https://gitlab.com/api/v4
Use a token with at least:
read_apifor read-only workflowsapifor write workflows
Codex supports OAuth for remote MCP flows, but for this local stdio GitLab setup, PAT is the most reliable starting point.
If npx is not available in the environment where Codex launches subprocesses, use the full command path or ensure Node.js is on your PATH.