Code & repos
Step-by-step connection and configuration for GitHub and GitLab.
These let the agent read code, issues and merge requests while it investigates.
Reading repos is not the same as filing issues
Filing a finished triage as a new issue is a separate, per-user connection made in the desktop app — see Filing issues. Nothing configured here can write.
GitHub
github · runs GitHub's official server image via Docker · read-only is pinned on
via the server's own GITHUB_READ_ONLY mode, regardless of what else is configured.
Create a fine-grained personal access token. GitHub → Settings → Developer settings → Personal access tokens → Fine-grained tokens.
- Repository access: only the repositories the agent should see.
- Permissions, all read-only: Contents, Issues, Pull requests, Metadata.
For a token on an organization's repositories, an org owner may need to approve it.
Confirm Docker is installed on every member's machine. This integration reports degraded without it.
Fill the form.
| Field | Required | What to put |
|---|---|---|
| Personal access token | yes | github_pat_… |
| Toolsets | no, defaults repos,issues,pull_requests | Comma-separated GitHub toolsets. Whatever you type, the context toolset is always kept on — it owns the identity call used as the health check. |
Verify. Health check is get_me.
| If it reports | It usually means |
|---|---|
Bad credentials / 401 | Expired, revoked or mistyped token. |
Resource not accessible by personal access token | The token is valid but wasn't granted this repository or organization. Extend its repository access, or get org approval. |
| A missing-runtime error | Docker isn't installed or isn't running on that machine. |
GitLab
gitlab · runs @zereight/mcp-gitlab via npx with read-only mode on · works with
gitlab.com and self-hosted.
Create a personal access token with the read_api scope — GitLab →
Preferences → Access tokens. read_api is enough for projects, issues and merge
requests; api would grant writes the server is already refusing.
Fill the form.
| Field | Required | What to put |
|---|---|---|
| Personal access token | yes | glpat-… |
| API URL | no | Self-hosted only, and it must include the /api/v4 suffix: https://gitlab.example.com/api/v4. Leave blank for gitlab.com. |
Verify. Start-checked only — this server documents no zero-argument read tool, so the first real tool call is what proves the credential.
| If it reports | It usually means |
|---|---|
404 / not found | Nearly always the API URL missing its /api/v4 suffix. |
401 / invalid token | Expired token, or one without read_api. |