From 54d1ad771268467920965ce49eb7e2f493911279 Mon Sep 17 00:00:00 2001 From: Mohammod Al Amin Ashik Date: Wed, 11 Feb 2026 12:48:02 +0000 Subject: [PATCH 1/5] Add GitLab MCP server definition Reference GitLab MCP server from modelcontextprotocol/servers for managing repos, issues, merge requests, and files. Uses @modelcontextprotocol/server-gitlab npm package. https://claude.ai/code/session_013AxurW8hPAfnUNvik354Xx --- servers/community.gitlab.json | 74 +++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 servers/community.gitlab.json diff --git a/servers/community.gitlab.json b/servers/community.gitlab.json new file mode 100644 index 0000000..672cf75 --- /dev/null +++ b/servers/community.gitlab.json @@ -0,0 +1,74 @@ +{ + "$schema": "../schemas/server-definition.schema.json", + "id": "community.gitlab", + "name": "GitLab", + "alias": "gitlab", + "description": "Manage GitLab repositories, issues, merge requests, and files. Search projects, create branches, push files, and manage code reviews.", + "icon": "https://avatars.githubusercontent.com/u/182288589?v=4", + "schema_version": "2.1", + "categories": ["version-control", "developer-tools"], + "tags": ["gitlab", "git", "version-control", "merge-requests", "issues", "ci-cd"], + + "transport": { + "type": "stdio", + "command": "npx", + "args": ["-y", "@modelcontextprotocol/server-gitlab"], + "env": { + "GITLAB_PERSONAL_ACCESS_TOKEN": "${input:GITLAB_PERSONAL_ACCESS_TOKEN}", + "GITLAB_API_URL": "${input:GITLAB_API_URL}" + }, + "metadata": { + "inputs": [ + { + "id": "GITLAB_PERSONAL_ACCESS_TOKEN", + "label": "GitLab Personal Access Token", + "description": "Personal Access Token for the GitLab API. Requires 'api' scope.", + "type": "password", + "required": true, + "secret": true, + "placeholder": "glpat-xxxxxxxxxxxxxxxxxxxx", + "obtain": { + "url": "https://gitlab.com/-/user_settings/personal_access_tokens", + "instructions": "1. Go to GitLab > User Settings > Access Tokens\n2. Click 'Add new token'\n3. Select the 'api' scope\n4. Click 'Create personal access token' and copy it", + "button_label": "Create Token" + } + }, + { + "id": "GITLAB_API_URL", + "label": "GitLab API URL", + "description": "GitLab API base URL. Defaults to https://gitlab.com/api/v4 for gitlab.com. Change for self-hosted instances.", + "type": "url", + "required": false, + "secret": false, + "placeholder": "https://gitlab.com/api/v4" + } + ] + } + }, + + "auth": { + "type": "api_key", + "instructions": "Create a Personal Access Token with 'api' scope at https://gitlab.com/-/user_settings/personal_access_tokens" + }, + + "contributor": { + "name": "Model Context Protocol", + "github": "modelcontextprotocol", + "url": "https://modelcontextprotocol.io" + }, + + "links": { + "repository": "https://github.com/modelcontextprotocol/servers", + "homepage": "https://gitlab.com", + "documentation": "https://github.com/modelcontextprotocol/servers/tree/main/src/gitlab#readme" + }, + + "platforms": ["all"], + + "capabilities": { + "tools": true, + "resources": false, + "prompts": false, + "read_only_mode": false + } +} From 73f16630c549d322136e1f51558a30d246b1c384 Mon Sep 17 00:00:00 2001 From: Mohammod Al Amin Ashik Date: Thu, 19 Feb 2026 19:09:11 +0800 Subject: [PATCH 2/5] fix: update server definition (input type 'password' -> 'text' for GITLAB_PERSONAL_ACCESS_TOKEN; icon updated) --- servers/community.gitlab.json | 33 +++++++++++++++++++++------------ 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/servers/community.gitlab.json b/servers/community.gitlab.json index 672cf75..f08ce7a 100644 --- a/servers/community.gitlab.json +++ b/servers/community.gitlab.json @@ -4,15 +4,27 @@ "name": "GitLab", "alias": "gitlab", "description": "Manage GitLab repositories, issues, merge requests, and files. Search projects, create branches, push files, and manage code reviews.", - "icon": "https://avatars.githubusercontent.com/u/182288589?v=4", + "icon": "https://avatars.githubusercontent.com/u/1086321?v=4", "schema_version": "2.1", - "categories": ["version-control", "developer-tools"], - "tags": ["gitlab", "git", "version-control", "merge-requests", "issues", "ci-cd"], - + "categories": [ + "version-control", + "developer-tools" + ], + "tags": [ + "gitlab", + "git", + "version-control", + "merge-requests", + "issues", + "ci-cd" + ], "transport": { "type": "stdio", "command": "npx", - "args": ["-y", "@modelcontextprotocol/server-gitlab"], + "args": [ + "-y", + "@modelcontextprotocol/server-gitlab" + ], "env": { "GITLAB_PERSONAL_ACCESS_TOKEN": "${input:GITLAB_PERSONAL_ACCESS_TOKEN}", "GITLAB_API_URL": "${input:GITLAB_API_URL}" @@ -23,7 +35,7 @@ "id": "GITLAB_PERSONAL_ACCESS_TOKEN", "label": "GitLab Personal Access Token", "description": "Personal Access Token for the GitLab API. Requires 'api' scope.", - "type": "password", + "type": "text", "required": true, "secret": true, "placeholder": "glpat-xxxxxxxxxxxxxxxxxxxx", @@ -45,26 +57,23 @@ ] } }, - "auth": { "type": "api_key", "instructions": "Create a Personal Access Token with 'api' scope at https://gitlab.com/-/user_settings/personal_access_tokens" }, - "contributor": { "name": "Model Context Protocol", "github": "modelcontextprotocol", "url": "https://modelcontextprotocol.io" }, - "links": { "repository": "https://github.com/modelcontextprotocol/servers", "homepage": "https://gitlab.com", "documentation": "https://github.com/modelcontextprotocol/servers/tree/main/src/gitlab#readme" }, - - "platforms": ["all"], - + "platforms": [ + "all" + ], "capabilities": { "tools": true, "resources": false, From 92ea06532cc621568db27cab08f4a064e9d52327 Mon Sep 17 00:00:00 2001 From: Mohammod Al Amin Ashik Date: Thu, 19 Feb 2026 19:20:46 +0800 Subject: [PATCH 3/5] fix: update GitLab documentation URL (servers repo archived) --- servers/community.gitlab.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/servers/community.gitlab.json b/servers/community.gitlab.json index f08ce7a..78f965d 100644 --- a/servers/community.gitlab.json +++ b/servers/community.gitlab.json @@ -69,7 +69,7 @@ "links": { "repository": "https://github.com/modelcontextprotocol/servers", "homepage": "https://gitlab.com", - "documentation": "https://github.com/modelcontextprotocol/servers/tree/main/src/gitlab#readme" + "documentation": "https://github.com/modelcontextprotocol/servers-archived/tree/main/src/gitlab" }, "platforms": [ "all" From 493c2f31f58f4aeb40c4b7af825f421324bceefb Mon Sep 17 00:00:00 2001 From: Mohammod Al Amin Ashik Date: Thu, 19 Feb 2026 22:44:34 +0800 Subject: [PATCH 4/5] fix: rename server files with transport suffix - community.gitlab.json -> community.gitlab-npx.json (id: community.gitlab-npx) Signed-off-by: Mohammod Al Amin Ashik --- servers/{community.gitlab.json => community.gitlab-npx.json} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename servers/{community.gitlab.json => community.gitlab-npx.json} (97%) diff --git a/servers/community.gitlab.json b/servers/community.gitlab-npx.json similarity index 97% rename from servers/community.gitlab.json rename to servers/community.gitlab-npx.json index 78f965d..eaa31a7 100644 --- a/servers/community.gitlab.json +++ b/servers/community.gitlab-npx.json @@ -1,7 +1,7 @@ { "$schema": "../schemas/server-definition.schema.json", - "id": "community.gitlab", - "name": "GitLab", + "id": "community.gitlab-npx", + "name": "GitLab (npx)", "alias": "gitlab", "description": "Manage GitLab repositories, issues, merge requests, and files. Search projects, create branches, push files, and manage code reviews.", "icon": "https://avatars.githubusercontent.com/u/1086321?v=4", From 0f53fe21903f33d056d3f2337f7cca73c06975cd Mon Sep 17 00:00:00 2001 From: Mohammod Al Amin Ashik Date: Fri, 20 Feb 2026 12:54:15 +0800 Subject: [PATCH 5/5] Replace GitLab definition with zereight/gitlab-mcp + official HTTP - Remove community.gitlab-npx.json (archived @modelcontextprotocol/server-gitlab, 9 tools) - Add zereight.gitlab-mcp-npx.json (@zereight/mcp-gitlab, 107+ tools, PAT auth) - Add zereight.gitlab-mcp-docker.json (zereight050/gitlab-mcp image) - Add com.gitlab-mcp.json (official GitLab HTTP endpoint, OAuth, 15 tools) Signed-off-by: Mohammod Al Amin Ashik --- servers/com.gitlab-mcp.json | 59 ++++++++++++ servers/zereight.gitlab-mcp-docker.json | 93 +++++++++++++++++++ ...-npx.json => zereight.gitlab-mcp-npx.json} | 40 +++++--- 3 files changed, 177 insertions(+), 15 deletions(-) create mode 100644 servers/com.gitlab-mcp.json create mode 100644 servers/zereight.gitlab-mcp-docker.json rename servers/{community.gitlab-npx.json => zereight.gitlab-mcp-npx.json} (68%) diff --git a/servers/com.gitlab-mcp.json b/servers/com.gitlab-mcp.json new file mode 100644 index 0000000..06a70c7 --- /dev/null +++ b/servers/com.gitlab-mcp.json @@ -0,0 +1,59 @@ +{ + "$schema": "../schemas/server-definition.schema.json", + "id": "com.gitlab-mcp", + "name": "GitLab", + "alias": "gitlab-http", + "description": "GitLab's built-in MCP server for managing issues, merge requests, pipelines, and semantic code search. Requires GitLab 18.6+ with Duo enabled. Connects directly to any GitLab instance via OAuth.", + "icon": "https://avatars.githubusercontent.com/u/1086321?v=4", + "schema_version": "2.1", + "categories": [ + "version-control", + "developer-tools" + ], + "tags": [ + "gitlab", + "git", + "version-control", + "merge-requests", + "issues", + "ci-cd", + "pipelines", + "code-search" + ], + + "transport": { + "type": "http", + "url": "https://gitlab.com/api/v4/mcp", + "metadata": { + "inputs": [] + } + }, + + "auth": { + "type": "oauth", + "instructions": "Connect via OAuth when prompted. Your browser will open to authorize access to your GitLab account. Requires GitLab 18.6+ with Duo enabled." + }, + + "contributor": { + "name": "GitLab", + "github": "gitlabhq", + "url": "https://about.gitlab.com" + }, + + "links": { + "repository": "https://gitlab.com/gitlab-org/gitlab", + "homepage": "https://about.gitlab.com", + "documentation": "https://docs.gitlab.com/user/gitlab_duo/model_context_protocol/mcp_server" + }, + + "platforms": [ + "all" + ], + + "capabilities": { + "tools": true, + "resources": false, + "prompts": false, + "read_only_mode": false + } +} diff --git a/servers/zereight.gitlab-mcp-docker.json b/servers/zereight.gitlab-mcp-docker.json new file mode 100644 index 0000000..3aa958d --- /dev/null +++ b/servers/zereight.gitlab-mcp-docker.json @@ -0,0 +1,93 @@ +{ + "$schema": "../schemas/server-definition.schema.json", + "id": "zereight.gitlab-mcp-docker", + "name": "GitLab (Docker)", + "alias": "gitlab-docker", + "description": "Manage GitLab repositories, issues, merge requests, pipelines, wikis, milestones, and releases via Docker. 107+ tools with configurable toolsets, read-only mode, and project scoping.", + "icon": "https://avatars.githubusercontent.com/u/42544600?v=4", + "schema_version": "2.1", + "categories": [ + "version-control", + "developer-tools" + ], + "tags": [ + "gitlab", + "git", + "version-control", + "merge-requests", + "issues", + "ci-cd", + "docker" + ], + + "transport": { + "type": "stdio", + "command": "docker", + "args": [ + "run", "-i", "--rm", + "-e", "GITLAB_PERSONAL_ACCESS_TOKEN", + "-e", "GITLAB_API_URL", + "zereight050/gitlab-mcp" + ], + "env": { + "GITLAB_PERSONAL_ACCESS_TOKEN": "${input:GITLAB_PERSONAL_ACCESS_TOKEN}", + "GITLAB_API_URL": "${input:GITLAB_API_URL}" + }, + "metadata": { + "inputs": [ + { + "id": "GITLAB_PERSONAL_ACCESS_TOKEN", + "label": "GitLab Personal Access Token", + "description": "Personal Access Token for the GitLab API. Requires 'api' scope for full access, or 'read_api' for read-only mode.", + "type": "text", + "required": true, + "secret": true, + "placeholder": "glpat-xxxxxxxxxxxxxxxxxxxx", + "obtain": { + "url": "https://gitlab.com/-/user_settings/personal_access_tokens", + "instructions": "1. Go to GitLab > User Settings > Access Tokens\n2. Click 'Add new token'\n3. Select the 'api' scope (or 'read_api' for read-only)\n4. Click 'Create personal access token' and copy it", + "button_label": "Create Token" + } + }, + { + "id": "GITLAB_API_URL", + "label": "GitLab API URL", + "description": "GitLab API base URL. Defaults to https://gitlab.com/api/v4 for gitlab.com. Change for self-hosted instances.", + "type": "url", + "required": false, + "secret": false, + "default": "https://gitlab.com/api/v4", + "placeholder": "https://gitlab.example.com/api/v4" + } + ] + } + }, + + "auth": { + "type": "api_key", + "instructions": "Create a Personal Access Token with 'api' scope at https://gitlab.com/-/user_settings/personal_access_tokens" + }, + + "contributor": { + "name": "zereight", + "github": "zereight", + "url": "https://github.com/zereight/gitlab-mcp" + }, + + "links": { + "repository": "https://github.com/zereight/gitlab-mcp", + "homepage": "https://gitlab.com", + "documentation": "https://github.com/zereight/gitlab-mcp#readme" + }, + + "platforms": [ + "all" + ], + + "capabilities": { + "tools": true, + "resources": false, + "prompts": false, + "read_only_mode": true + } +} diff --git a/servers/community.gitlab-npx.json b/servers/zereight.gitlab-mcp-npx.json similarity index 68% rename from servers/community.gitlab-npx.json rename to servers/zereight.gitlab-mcp-npx.json index eaa31a7..9403391 100644 --- a/servers/community.gitlab-npx.json +++ b/servers/zereight.gitlab-mcp-npx.json @@ -1,10 +1,10 @@ { "$schema": "../schemas/server-definition.schema.json", - "id": "community.gitlab-npx", + "id": "zereight.gitlab-mcp-npx", "name": "GitLab (npx)", "alias": "gitlab", - "description": "Manage GitLab repositories, issues, merge requests, and files. Search projects, create branches, push files, and manage code reviews.", - "icon": "https://avatars.githubusercontent.com/u/1086321?v=4", + "description": "Manage GitLab repositories, issues, merge requests, pipelines, wikis, milestones, and releases. 107+ tools with configurable toolsets, read-only mode, and project scoping.", + "icon": "https://avatars.githubusercontent.com/u/42544600?v=4", "schema_version": "2.1", "categories": [ "version-control", @@ -16,14 +16,16 @@ "version-control", "merge-requests", "issues", - "ci-cd" + "ci-cd", + "pipelines" ], + "transport": { "type": "stdio", "command": "npx", "args": [ "-y", - "@modelcontextprotocol/server-gitlab" + "@zereight/mcp-gitlab" ], "env": { "GITLAB_PERSONAL_ACCESS_TOKEN": "${input:GITLAB_PERSONAL_ACCESS_TOKEN}", @@ -34,14 +36,14 @@ { "id": "GITLAB_PERSONAL_ACCESS_TOKEN", "label": "GitLab Personal Access Token", - "description": "Personal Access Token for the GitLab API. Requires 'api' scope.", + "description": "Personal Access Token for the GitLab API. Requires 'api' scope for full access, or 'read_api' for read-only mode.", "type": "text", "required": true, "secret": true, "placeholder": "glpat-xxxxxxxxxxxxxxxxxxxx", "obtain": { "url": "https://gitlab.com/-/user_settings/personal_access_tokens", - "instructions": "1. Go to GitLab > User Settings > Access Tokens\n2. Click 'Add new token'\n3. Select the 'api' scope\n4. Click 'Create personal access token' and copy it", + "instructions": "1. Go to GitLab > User Settings > Access Tokens\n2. Click 'Add new token'\n3. Select the 'api' scope (or 'read_api' for read-only)\n4. Click 'Create personal access token' and copy it", "button_label": "Create Token" } }, @@ -52,32 +54,40 @@ "type": "url", "required": false, "secret": false, - "placeholder": "https://gitlab.com/api/v4" + "default": "https://gitlab.com/api/v4", + "placeholder": "https://gitlab.example.com/api/v4" } ] } }, + "auth": { "type": "api_key", "instructions": "Create a Personal Access Token with 'api' scope at https://gitlab.com/-/user_settings/personal_access_tokens" }, + "contributor": { - "name": "Model Context Protocol", - "github": "modelcontextprotocol", - "url": "https://modelcontextprotocol.io" + "name": "zereight", + "github": "zereight", + "url": "https://github.com/zereight/gitlab-mcp" }, + "links": { - "repository": "https://github.com/modelcontextprotocol/servers", + "repository": "https://github.com/zereight/gitlab-mcp", "homepage": "https://gitlab.com", - "documentation": "https://github.com/modelcontextprotocol/servers-archived/tree/main/src/gitlab" + "documentation": "https://github.com/zereight/gitlab-mcp#readme" }, + "platforms": [ "all" ], + "capabilities": { "tools": true, "resources": false, "prompts": false, - "read_only_mode": false - } + "read_only_mode": true + }, + + "changelog_url": "https://github.com/zereight/gitlab-mcp/releases" }