You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
|`GITLAB_API_URL`| 예 | GitLab 인스턴스 API URL(예: `https://gitlab.com/api/v4`) |
466
467
|`STREAMABLE_HTTP`| 예 | 반드시 `true`(SSE 미지원) |
467
468
|`GITLAB_OAUTH_SCOPES`| 아니오 | 요청할 GitLab scope 목록(쉼표 구분). 기본값은 `api` 또는 `GITLAB_READ_ONLY_MODE=true`일 때 `read_api`입니다. 사전 등록 애플리케이션에 해당 scope가 설정되어 있어야 합니다. |
469
+
|`OAUTH_REGISTER_RATE_LIMIT_PER_HOUR`| 아니오 | Dynamic Client Registration(`POST /register`)의 클라이언트 IP당 rolling 한도. 기본 `20`/시간, 범위 `1`–`1000`. IDE 창 여러 개 등으로 등록이 막히면 올리세요. GitLab API 한도와 무관합니다. |
-**DCR rate limiting:**`POST /register`는 클라이언트 IP당 `OAUTH_REGISTER_RATE_LIMIT_PER_HOUR`로 제한됩니다(기본 20/시간). `/mcp` 한도 및 GitLab API quota와 별개입니다. [environment-variables.md](docs/configuration/environment-variables.md#oauth_register_rate_limit_per_hour) 참고.
475
478
-**헤더 인증 fallback:**`Private-Token` 또는 `JOB-TOKEN` 요청 헤더가 있으면 OAuth 검증을 건너뛰고 raw token을 해당 세션에 직접 사용합니다. 같은 서버 인스턴스에서 OAuth 플로우와 함께 PAT 및 CI job token을 사용할 수 있습니다. `Authorization: Bearer`는 항상 OAuth token으로 처리됩니다. PAT 기반 헤더 인증에는 `Private-Token`을 사용하세요.
@@ -505,6 +506,7 @@ No `headers` field is needed — Claude.ai obtains the token via OAuth automatic
505
506
|`GITLAB_API_URL`| Yes | Your GitLab instance API URL (e.g. `https://gitlab.com/api/v4`) |
506
507
|`STREAMABLE_HTTP`| Yes | Must be `true` (SSE is not supported) |
507
508
|`GITLAB_OAUTH_SCOPES`| No | Comma-separated GitLab scopes to request (e.g. `api,read_user`). Defaults to `api` (or `read_api` when `GITLAB_READ_ONLY_MODE=true`). The pre-registered application must be configured with at least these scopes. |
509
+
|`OAUTH_REGISTER_RATE_LIMIT_PER_HOUR`| No | Per-IP rolling limit for Dynamic Client Registration (`POST /register`). Default `20`/hour; range `1`–`1000`. Raise when clients (e.g. multiple IDE windows) hit registration throttling. Not a GitLab API limit. |
508
510
|`MCP_DANGEROUSLY_ALLOW_INSECURE_ISSUER_URL`| No | Set `true` for local HTTP dev only |
509
511
510
512
**Important Notes:**
@@ -514,6 +516,9 @@ No `headers` field is needed — Claude.ai obtains the token via OAuth automatic
514
516
- Session timeout, rate limiting, and capacity limits apply identically to the
|`OAUTH_REGISTER_RATE_LIMIT_PER_HOUR`| 否 | Dynamic Client Registration(`POST /register`)的每客户端 IP rolling 限制。默认 `20`/小时,范围 `1`–`1000`。多个 IDE 窗口等导致注册被限流时可调高。与 GitLab API 限额无关。 |
Copy file name to clipboardExpand all lines: skills/gitlab-mcp/SKILL.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -123,5 +123,6 @@ Enable with `GITLAB_TOOLSETS=vulnerabilities` (requires GitLab Ultimate).
123
123
-**Dynamic discovery**: `discover_tools` lists and activates opt-in toolsets at runtime
124
124
-**GraphQL**: `execute_graphql` for queries not covered by REST tools
125
125
-**Tool docs**: `docs/tools/` is generated from `tools/registry.ts`; prefer it for exact schemas
126
+
-**Remote MCP OAuth**: when `GITLAB_MCP_OAUTH=true`, `POST /register` (DCR) is rate-limited per client IP (default 20/hour via MCP SDK; tune with `OAUTH_REGISTER_RATE_LIMIT_PER_HOUR`). Separate from `MAX_REQUESTS_PER_MINUTE` and GitLab API quotas — see [environment-variables.md](../../docs/configuration/environment-variables.md#oauth_register_rate_limit_per_hour)
0 commit comments