mcp-gitlab 0.9.0__tar.gz → 0.9.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. {mcp_gitlab-0.9.0 → mcp_gitlab-0.9.2}/.github/workflows/lint.yml +1 -1
  2. {mcp_gitlab-0.9.0 → mcp_gitlab-0.9.2}/.github/workflows/publish.yml +1 -13
  3. {mcp_gitlab-0.9.0 → mcp_gitlab-0.9.2}/.github/workflows/release.yml +42 -1
  4. {mcp_gitlab-0.9.0 → mcp_gitlab-0.9.2}/.github/workflows/tests.yml +1 -1
  5. {mcp_gitlab-0.9.0 → mcp_gitlab-0.9.2}/AGENTS.md +3 -3
  6. {mcp_gitlab-0.9.0 → mcp_gitlab-0.9.2}/CHANGELOG.md +13 -0
  7. {mcp_gitlab-0.9.0 → mcp_gitlab-0.9.2}/PKG-INFO +2 -2
  8. {mcp_gitlab-0.9.0 → mcp_gitlab-0.9.2}/README.md +1 -1
  9. {mcp_gitlab-0.9.0 → mcp_gitlab-0.9.2}/gemini-extension.json +5 -3
  10. {mcp_gitlab-0.9.0 → mcp_gitlab-0.9.2}/llms-full.txt +3 -3
  11. {mcp_gitlab-0.9.0 → mcp_gitlab-0.9.2}/llms.txt +2 -2
  12. {mcp_gitlab-0.9.0 → mcp_gitlab-0.9.2}/pyproject.toml +1 -1
  13. {mcp_gitlab-0.9.0 → mcp_gitlab-0.9.2}/server.json +3 -3
  14. {mcp_gitlab-0.9.0 → mcp_gitlab-0.9.2}/uv.lock +4 -4
  15. {mcp_gitlab-0.9.0 → mcp_gitlab-0.9.2}/.env.example +0 -0
  16. {mcp_gitlab-0.9.0 → mcp_gitlab-0.9.2}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  17. {mcp_gitlab-0.9.0 → mcp_gitlab-0.9.2}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  18. {mcp_gitlab-0.9.0 → mcp_gitlab-0.9.2}/.github/dependabot.yml +0 -0
  19. {mcp_gitlab-0.9.0 → mcp_gitlab-0.9.2}/.gitignore +0 -0
  20. {mcp_gitlab-0.9.0 → mcp_gitlab-0.9.2}/GEMINI.md +0 -0
  21. {mcp_gitlab-0.9.0 → mcp_gitlab-0.9.2}/LICENSE +0 -0
  22. {mcp_gitlab-0.9.0 → mcp_gitlab-0.9.2}/evaluations/eval.xml +0 -0
  23. {mcp_gitlab-0.9.0 → mcp_gitlab-0.9.2}/src/mcp_gitlab/__init__.py +0 -0
  24. {mcp_gitlab-0.9.0 → mcp_gitlab-0.9.2}/src/mcp_gitlab/__main__.py +0 -0
  25. {mcp_gitlab-0.9.0 → mcp_gitlab-0.9.2}/src/mcp_gitlab/client.py +0 -0
  26. {mcp_gitlab-0.9.0 → mcp_gitlab-0.9.2}/src/mcp_gitlab/config.py +0 -0
  27. {mcp_gitlab-0.9.0 → mcp_gitlab-0.9.2}/src/mcp_gitlab/exceptions.py +0 -0
  28. {mcp_gitlab-0.9.0 → mcp_gitlab-0.9.2}/src/mcp_gitlab/py.typed +0 -0
  29. {mcp_gitlab-0.9.0 → mcp_gitlab-0.9.2}/src/mcp_gitlab/resources/approval-workflow.md +0 -0
  30. {mcp_gitlab-0.9.0 → mcp_gitlab-0.9.2}/src/mcp_gitlab/resources/code-review.md +0 -0
  31. {mcp_gitlab-0.9.0 → mcp_gitlab-0.9.2}/src/mcp_gitlab/resources/codeowners.md +0 -0
  32. {mcp_gitlab-0.9.0 → mcp_gitlab-0.9.2}/src/mcp_gitlab/resources/conventional-commits.md +0 -0
  33. {mcp_gitlab-0.9.0 → mcp_gitlab-0.9.2}/src/mcp_gitlab/resources/git-workflow.md +0 -0
  34. {mcp_gitlab-0.9.0 → mcp_gitlab-0.9.2}/src/mcp_gitlab/resources/gitlab-ci.md +0 -0
  35. {mcp_gitlab-0.9.0 → mcp_gitlab-0.9.2}/src/mcp_gitlab/resources/mr-hygiene.md +0 -0
  36. {mcp_gitlab-0.9.0 → mcp_gitlab-0.9.2}/src/mcp_gitlab/resources/prompts/approve-mr.md +0 -0
  37. {mcp_gitlab-0.9.0 → mcp_gitlab-0.9.2}/src/mcp_gitlab/resources/prompts/diagnose-pipeline.md +0 -0
  38. {mcp_gitlab-0.9.0 → mcp_gitlab-0.9.2}/src/mcp_gitlab/resources/prompts/prepare-release.md +0 -0
  39. {mcp_gitlab-0.9.0 → mcp_gitlab-0.9.2}/src/mcp_gitlab/resources/prompts/review-mr.md +0 -0
  40. {mcp_gitlab-0.9.0 → mcp_gitlab-0.9.2}/src/mcp_gitlab/resources/prompts/setup-branch-protection.md +0 -0
  41. {mcp_gitlab-0.9.0 → mcp_gitlab-0.9.2}/src/mcp_gitlab/resources/prompts/triage-issues.md +0 -0
  42. {mcp_gitlab-0.9.0 → mcp_gitlab-0.9.2}/src/mcp_gitlab/servers/__init__.py +0 -0
  43. {mcp_gitlab-0.9.0 → mcp_gitlab-0.9.2}/src/mcp_gitlab/servers/_helpers.py +0 -0
  44. {mcp_gitlab-0.9.0 → mcp_gitlab-0.9.2}/src/mcp_gitlab/servers/gitlab.py +0 -0
  45. {mcp_gitlab-0.9.0 → mcp_gitlab-0.9.2}/src/mcp_gitlab/servers/prompts.py +0 -0
  46. {mcp_gitlab-0.9.0 → mcp_gitlab-0.9.2}/src/mcp_gitlab/servers/resources.py +0 -0
  47. {mcp_gitlab-0.9.0 → mcp_gitlab-0.9.2}/src/mcp_gitlab/utils/__init__.py +0 -0
  48. {mcp_gitlab-0.9.0 → mcp_gitlab-0.9.2}/tests/__init__.py +0 -0
  49. {mcp_gitlab-0.9.0 → mcp_gitlab-0.9.2}/tests/conftest.py +0 -0
  50. {mcp_gitlab-0.9.0 → mcp_gitlab-0.9.2}/tests/test_links.py +0 -0
  51. {mcp_gitlab-0.9.0 → mcp_gitlab-0.9.2}/tests/unit/__init__.py +0 -0
  52. {mcp_gitlab-0.9.0 → mcp_gitlab-0.9.2}/tests/unit/test_client.py +0 -0
  53. {mcp_gitlab-0.9.0 → mcp_gitlab-0.9.2}/tests/unit/test_config.py +0 -0
  54. {mcp_gitlab-0.9.0 → mcp_gitlab-0.9.2}/tests/unit/test_exceptions.py +0 -0
  55. {mcp_gitlab-0.9.0 → mcp_gitlab-0.9.2}/tests/unit/test_prompts.py +0 -0
  56. {mcp_gitlab-0.9.0 → mcp_gitlab-0.9.2}/tests/unit/test_resources.py +0 -0
  57. {mcp_gitlab-0.9.0 → mcp_gitlab-0.9.2}/tests/unit/test_tools.py +0 -0
@@ -4,7 +4,7 @@ jobs:
4
4
  lint:
5
5
  runs-on: ubuntu-latest
6
6
  steps:
7
- - uses: actions/checkout@v6
7
+ - uses: actions/checkout@v7
8
8
  - uses: astral-sh/setup-uv@v7
9
9
  - run: uv sync
10
10
  - run: uv run ruff check .
@@ -14,7 +14,7 @@ jobs:
14
14
  contents: write
15
15
 
16
16
  steps:
17
- - uses: actions/checkout@v6
17
+ - uses: actions/checkout@v7
18
18
 
19
19
  - name: Install uv
20
20
  uses: astral-sh/setup-uv@v7
@@ -38,18 +38,6 @@ jobs:
38
38
  env:
39
39
  GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
40
40
 
41
- - name: Update server.json version
42
- run: |
43
- VERSION="${GITHUB_REF_NAME#v}"
44
- python3 -c "
45
- import json
46
- with open('server.json') as f: d = json.load(f)
47
- d['version'] = '$VERSION'
48
- for p in d.get('packages', []):
49
- p['version'] = '$VERSION'
50
- with open('server.json', 'w') as f: json.dump(d, f, indent=2); f.write('\n')
51
- "
52
-
53
41
  - name: Install mcp-publisher
54
42
  run: |
55
43
  curl -sL https://github.com/modelcontextprotocol/registry/releases/latest/download/mcp-publisher_linux_amd64.tar.gz | tar xz -C /usr/local/bin mcp-publisher
@@ -29,7 +29,7 @@ jobs:
29
29
  contents: write
30
30
 
31
31
  steps:
32
- - uses: actions/checkout@v6
32
+ - uses: actions/checkout@v7
33
33
  with:
34
34
  fetch-depth: 0
35
35
 
@@ -77,6 +77,33 @@ jobs:
77
77
  [ -f "$f" ] && sed -i 's/^- \*\*Version\*\*: .*/- **Version**: ${{ steps.next.outputs.version }}/' "$f"
78
78
  done
79
79
 
80
+ - name: Update server.json and gemini-extension.json versions
81
+ env:
82
+ NEXT_VERSION: ${{ steps.next.outputs.version }}
83
+ run: |
84
+ python3 - <<'PY'
85
+ import json
86
+ import os
87
+
88
+ version = os.environ["NEXT_VERSION"]
89
+
90
+ with open("server.json") as f:
91
+ data = json.load(f)
92
+ data["version"] = version
93
+ for pkg in data.get("packages", []):
94
+ pkg["version"] = version
95
+ with open("server.json", "w") as f:
96
+ json.dump(data, f, indent=2)
97
+ f.write("\n")
98
+
99
+ with open("gemini-extension.json") as f:
100
+ data = json.load(f)
101
+ data["version"] = version
102
+ with open("gemini-extension.json", "w") as f:
103
+ json.dump(data, f, indent=2)
104
+ f.write("\n")
105
+ PY
106
+
80
107
  - name: Regenerate uv.lock
81
108
  run: uv lock
82
109
 
@@ -165,6 +192,8 @@ jobs:
165
192
  CHANGELOG_BLOB=$(create_blob CHANGELOG.md)
166
193
  LLMS_BLOB=$(create_blob llms.txt)
167
194
  LLMS_FULL_BLOB=$(create_blob llms-full.txt)
195
+ SERVER_BLOB=$(create_blob server.json)
196
+ GEMINI_BLOB=$(create_blob gemini-extension.json)
168
197
 
169
198
  # Create tree with all release files
170
199
  NEW_TREE=$(gh api repos/${{ github.repository }}/git/trees \
@@ -202,6 +231,18 @@ jobs:
202
231
  "mode": "100644",
203
232
  "type": "blob",
204
233
  "sha": "$LLMS_FULL_BLOB"
234
+ },
235
+ {
236
+ "path": "server.json",
237
+ "mode": "100644",
238
+ "type": "blob",
239
+ "sha": "$SERVER_BLOB"
240
+ },
241
+ {
242
+ "path": "gemini-extension.json",
243
+ "mode": "100644",
244
+ "type": "blob",
245
+ "sha": "$GEMINI_BLOB"
205
246
  }
206
247
  ]
207
248
  }
@@ -7,7 +7,7 @@ jobs:
7
7
  matrix:
8
8
  python-version: ["3.10", "3.11", "3.12", "3.13"]
9
9
  steps:
10
- - uses: actions/checkout@v6
10
+ - uses: actions/checkout@v7
11
11
  - uses: astral-sh/setup-uv@v7
12
12
  with:
13
13
  python-version: ${{ matrix.python-version }}
@@ -58,7 +58,7 @@ Every tool MUST have `annotations={}` with at minimum `readOnlyHint`.
58
58
 
59
59
  ## Tool Categories
60
60
 
61
- Projects (4), Approvals (10), Groups (6), Branches (3), Commits (4), Merge Requests (16), MR Notes (6), MR Discussions (4), Pipelines (5), Jobs (4), Tags (4), Releases (5), CI/CD Variables (8), Issues (5)
61
+ Projects (4), Approvals (10), Groups (6), Branches (3), Commits (4), Merge Requests (15), MR Notes (6), MR Discussions (4), Pipelines (5), Jobs (4), Tags (4), Releases (5), CI/CD Variables (8), Issues (5)
62
62
 
63
63
  ## Environment Variables
64
64
 
@@ -86,8 +86,8 @@ gh workflow run release.yml -f bump=minor -f dry_run=true
86
86
 
87
87
  ### What happens
88
88
 
89
- 1. `release.yml` (workflow_dispatch) — bumps `pyproject.toml` version, regenerates `uv.lock`, generates CHANGELOG.md, creates release commit + tag via GitHub API
90
- 2. `publish.yml` (triggered by `v*` tag push) — builds wheel, publishes to PyPI, creates GitHub Release with auto-generated notes
89
+ 1. `release.yml` (workflow_dispatch) — bumps the version in `pyproject.toml`, `llms.txt`, `llms-full.txt`, `server.json`, `gemini-extension.json`; regenerates `uv.lock`; prepends a CHANGELOG.md entry; creates the release commit + tag via the GitHub API
90
+ 2. `publish.yml` (triggered by `v*` tag push) — builds wheel, publishes to PyPI, creates GitHub Release with auto-generated notes, then publishes to the MCP Registry
91
91
 
92
92
  ### Rules
93
93
  - Never edit `pyproject.toml` version directly — the workflow owns it
@@ -1,5 +1,18 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.9.2] - 2026-07-08
4
+
5
+ ### Chores
6
+ - chore(ci): bump actions/checkout from 6 to 7 (c32bdfb)
7
+ - chore(deps): bump pydantic-settings in the uv group across 1 directory (41a233e)
8
+
9
+
10
+ ## [0.9.1] - 2026-06-16
11
+
12
+ ### Documentation
13
+ - docs: fix doc drifts and bump server.json/gemini-extension.json in release workflow (458c169)
14
+
15
+
3
16
  ## [0.9.0] - 2026-06-16
4
17
 
5
18
  ### Features
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mcp-gitlab
3
- Version: 0.9.0
3
+ Version: 0.9.2
4
4
  Summary: MCP server for GitLab API — projects, MRs, pipelines, CI/CD variables, approvals, and more
5
5
  Project-URL: Homepage, https://github.com/vish288/mcp-gitlab
6
6
  Project-URL: Repository, https://github.com/vish288/mcp-gitlab
@@ -147,7 +147,7 @@ These accept any of the following token types:
147
147
  | Windsurf | Yes | `~/.codeium/windsurf/mcp_config.json` |
148
148
  | Any MCP client | Yes | stdio or HTTP transport |
149
149
 
150
- ## Tools (84)
150
+ ## Tools (83)
151
151
 
152
152
  | Category | Count | Tools |
153
153
  |----------|-------|-------|
@@ -111,7 +111,7 @@ These accept any of the following token types:
111
111
  | Windsurf | Yes | `~/.codeium/windsurf/mcp_config.json` |
112
112
  | Any MCP client | Yes | stdio or HTTP transport |
113
113
 
114
- ## Tools (84)
114
+ ## Tools (83)
115
115
 
116
116
  | Category | Count | Tools |
117
117
  |----------|-------|-------|
@@ -1,11 +1,13 @@
1
1
  {
2
2
  "name": "mcp-gitlab",
3
- "version": "0.6.8",
4
- "description": "MCP server for GitLab API — projects, MRs, pipelines, CI/CD variables, approvals, and more",
3
+ "version": "0.9.2",
4
+ "description": "MCP server for GitLab API \u2014 projects, MRs, pipelines, CI/CD variables, approvals, and more",
5
5
  "mcpServers": {
6
6
  "mcp-gitlab": {
7
7
  "command": "uvx",
8
- "args": ["mcp-gitlab"]
8
+ "args": [
9
+ "mcp-gitlab"
10
+ ]
9
11
  }
10
12
  },
11
13
  "settings": [
@@ -5,7 +5,7 @@
5
5
  MCP server that wraps the GitLab REST API. Works with GitLab.com and self-hosted instances (CE/EE). No GitLab Duo or Premium required. Built with FastMCP, httpx, and Pydantic.
6
6
 
7
7
  - **Install**: `uvx mcp-gitlab`
8
- - **Version**: 0.9.0
8
+ - **Version**: 0.9.2
9
9
  - **Python**: >=3.10
10
10
  - **License**: MIT
11
11
  - **Transport**: stdio (default), SSE, streamable-http
@@ -15,7 +15,7 @@ MCP server that wraps the GitLab REST API. Works with GitLab.com and self-hosted
15
15
 
16
16
  ## Documentation
17
17
 
18
- - [README](https://github.com/vish288/mcp-gitlab#readme): canonical reference for setup, env vars, all 83 tools, 6 resources, 5 prompts
18
+ - [README](https://github.com/vish288/mcp-gitlab#readme): canonical reference for setup, env vars, all 83 tools, 7 resources, 6 prompts
19
19
  - [PyPI](https://pypi.org/project/mcp-gitlab/): install via `pip install mcp-gitlab` or `uvx mcp-gitlab`
20
20
  - [GitHub](https://github.com/vish288/mcp-gitlab): source code, issue tracker, development setup
21
21
  - [MCP Registry](https://registry.modelcontextprotocol.io): discover and install MCP servers
@@ -79,7 +79,7 @@ uvx mcp-gitlab --gitlab-url https://gitlab.example.com --gitlab-token glpat-xxx
79
79
  | Delete projects, manage approval rules | Maintainer/Owner |
80
80
  | Share projects/groups | Owner (or Admin) |
81
81
 
82
- ## Tools (84)
82
+ ## Tools (83)
83
83
 
84
84
  ### Projects (4)
85
85
 
@@ -5,7 +5,7 @@
5
5
  MCP server that wraps the GitLab REST API. Works with GitLab.com and self-hosted instances (CE/EE). No GitLab Duo or Premium required. Built with FastMCP, httpx, and Pydantic.
6
6
 
7
7
  - **Install**: `uvx mcp-gitlab`
8
- - **Version**: 0.9.0
8
+ - **Version**: 0.9.2
9
9
  - **Python**: >=3.10
10
10
  - **License**: MIT
11
11
  - **Transport**: stdio (default), SSE, streamable-http
@@ -15,7 +15,7 @@ MCP server that wraps the GitLab REST API. Works with GitLab.com and self-hosted
15
15
 
16
16
  ## Documentation
17
17
 
18
- - [README](https://github.com/vish288/mcp-gitlab#readme): canonical reference for setup, env vars, all 83 tools, 6 resources, 5 prompts
18
+ - [README](https://github.com/vish288/mcp-gitlab#readme): canonical reference for setup, env vars, all 83 tools, 7 resources, 6 prompts
19
19
  - [PyPI](https://pypi.org/project/mcp-gitlab/): install via `pip install mcp-gitlab` or `uvx mcp-gitlab`
20
20
  - [GitHub](https://github.com/vish288/mcp-gitlab): source code, issue tracker, development setup
21
21
  - [MCP Registry](https://registry.modelcontextprotocol.io): discover and install MCP servers
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "mcp-gitlab"
3
- version = "0.9.0"
3
+ version = "0.9.2"
4
4
  description = "MCP server for GitLab API — projects, MRs, pipelines, CI/CD variables, approvals, and more"
5
5
  readme = "README.md"
6
6
  license = {text = "MIT"}
@@ -1,17 +1,17 @@
1
1
  {
2
2
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
3
3
  "name": "io.github.vish288/mcp-gitlab",
4
- "description": "MCP server for GitLab API — projects, MRs, pipelines, CI/CD, approvals, issues, code review.",
4
+ "description": "MCP server for GitLab API \u2014 projects, MRs, pipelines, CI/CD, approvals, issues, code review.",
5
5
  "repository": {
6
6
  "url": "https://github.com/vish288/mcp-gitlab",
7
7
  "source": "github"
8
8
  },
9
- "version": "0.6.8",
9
+ "version": "0.9.2",
10
10
  "packages": [
11
11
  {
12
12
  "registryType": "pypi",
13
13
  "identifier": "mcp-gitlab",
14
- "version": "0.6.8",
14
+ "version": "0.9.2",
15
15
  "transport": {
16
16
  "type": "stdio"
17
17
  },
@@ -827,7 +827,7 @@ wheels = [
827
827
 
828
828
  [[package]]
829
829
  name = "mcp-gitlab"
830
- version = "0.9.0"
830
+ version = "0.9.2"
831
831
  source = { editable = "." }
832
832
  dependencies = [
833
833
  { name = "click" },
@@ -1183,16 +1183,16 @@ wheels = [
1183
1183
 
1184
1184
  [[package]]
1185
1185
  name = "pydantic-settings"
1186
- version = "2.13.1"
1186
+ version = "2.14.2"
1187
1187
  source = { registry = "https://pypi.org/simple" }
1188
1188
  dependencies = [
1189
1189
  { name = "pydantic" },
1190
1190
  { name = "python-dotenv" },
1191
1191
  { name = "typing-inspection" },
1192
1192
  ]
1193
- sdist = { url = "https://files.pythonhosted.org/packages/52/6d/fffca34caecc4a3f97bda81b2098da5e8ab7efc9a66e819074a11955d87e/pydantic_settings-2.13.1.tar.gz", hash = "sha256:b4c11847b15237fb0171e1462bf540e294affb9b86db4d9aa5c01730bdbe4025", size = 223826, upload-time = "2026-02-19T13:45:08.055Z" }
1193
+ sdist = { url = "https://files.pythonhosted.org/packages/5c/b5/8f48e906c3e0205276e8bd8cb7512217a87b2685304d64be27cad5b3019f/pydantic_settings-2.14.2.tar.gz", hash = "sha256:c19dd64b19097f1de80184f0cc7b0272a13ae6e170cbf240a3e27e381ed14a5f", size = 237700, upload-time = "2026-06-19T13:44:56.324Z" }
1194
1194
  wheels = [
1195
- { url = "https://files.pythonhosted.org/packages/00/4b/ccc026168948fec4f7555b9164c724cf4125eac006e176541483d2c959be/pydantic_settings-2.13.1-py3-none-any.whl", hash = "sha256:d56fd801823dbeae7f0975e1f8c8e25c258eb75d278ea7abb5d9cebb01b56237", size = 58929, upload-time = "2026-02-19T13:45:06.034Z" },
1195
+ { url = "https://files.pythonhosted.org/packages/77/c1/6e422f34e569cf8e18df68d1939c81c099d2b61e4f7d9621c8a77560799c/pydantic_settings-2.14.2-py3-none-any.whl", hash = "sha256:a20c97b37910b6550d5ea50fbcc2d4187defe58cd57070b73863d069419c9440", size = 61715, upload-time = "2026-06-19T13:44:55.02Z" },
1196
1196
  ]
1197
1197
 
1198
1198
  [[package]]
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes