gitlab-api 25.15.56__tar.gz → 25.20.1__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 (48) hide show
  1. {gitlab_api-25.15.56 → gitlab_api-25.20.1}/PKG-INFO +115 -7
  2. gitlab_api-25.15.56/gitlab_api.egg-info/PKG-INFO → gitlab_api-25.20.1/README.md +106 -26
  3. {gitlab_api-25.15.56 → gitlab_api-25.20.1}/gitlab_api/__init__.py +3 -4
  4. {gitlab_api-25.15.56 → gitlab_api-25.20.1}/gitlab_api/agent_server.py +2 -3
  5. gitlab_api-25.15.56/gitlab_api/api_wrapper.py → gitlab_api-25.20.1/gitlab_api/api_client.py +264 -244
  6. {gitlab_api-25.15.56 → gitlab_api-25.20.1}/gitlab_api/auth.py +10 -10
  7. {gitlab_api-25.15.56 → gitlab_api-25.20.1}/gitlab_api/gitlab_gql.py +395 -422
  8. {gitlab_api-25.15.56 → gitlab_api-25.20.1}/gitlab_api/gitlab_input_models.py +495 -518
  9. {gitlab_api-25.15.56 → gitlab_api-25.20.1}/gitlab_api/gitlab_response_models.py +1139 -1206
  10. gitlab_api-25.20.1/gitlab_api/mcp_config.json +3 -0
  11. {gitlab_api-25.15.56 → gitlab_api-25.20.1}/gitlab_api/mcp_server.py +1950 -1456
  12. gitlab_api-25.15.56/README.md → gitlab_api-25.20.1/gitlab_api.egg-info/PKG-INFO +134 -1
  13. {gitlab_api-25.15.56 → gitlab_api-25.20.1}/gitlab_api.egg-info/SOURCES.txt +5 -11
  14. {gitlab_api-25.15.56 → gitlab_api-25.20.1}/gitlab_api.egg-info/entry_points.txt +1 -0
  15. gitlab_api-25.20.1/gitlab_api.egg-info/requires.txt +17 -0
  16. gitlab_api-25.20.1/pyproject.toml +56 -0
  17. gitlab_api-25.20.1/requirements.txt +2 -0
  18. {gitlab_api-25.15.56 → gitlab_api-25.20.1}/scripts/validate_agent.py +2 -2
  19. gitlab_api-25.20.1/tests/__init__.py +0 -0
  20. gitlab_api-25.20.1/tests/conftest.py +68 -0
  21. {gitlab_api-25.15.56 → gitlab_api-25.20.1}/tests/test_api_wrapper.py +36 -24
  22. {gitlab_api-25.15.56 → gitlab_api-25.20.1}/tests/test_gitlab_a2a_validation.py +7 -4
  23. gitlab_api-25.20.1/tests/test_gitlab_api_brute_force_coverage.py +164 -0
  24. {gitlab_api-25.15.56 → gitlab_api-25.20.1}/tests/test_gitlab_mcp_validation.py +5 -1
  25. {gitlab_api-25.15.56 → gitlab_api-25.20.1}/tests/test_gitlab_models.py +593 -557
  26. {gitlab_api-25.15.56 → gitlab_api-25.20.1}/tests/test_verify_agent.py +23 -20
  27. {gitlab_api-25.15.56 → gitlab_api-25.20.1}/tests/verify_a2a_queries.py +3 -2
  28. gitlab_api-25.15.56/gitlab_api/agent_data/CRON.md +0 -12
  29. gitlab_api-25.15.56/gitlab_api/agent_data/CRON_LOG.md +0 -56
  30. gitlab_api-25.15.56/gitlab_api/agent_data/HEARTBEAT.md +0 -30
  31. gitlab_api-25.15.56/gitlab_api/agent_data/IDENTITY.md +0 -45
  32. gitlab_api-25.15.56/gitlab_api/agent_data/MEMORY.md +0 -8
  33. gitlab_api-25.15.56/gitlab_api/agent_data/NODE_AGENTS.md +0 -85
  34. gitlab_api-25.15.56/gitlab_api/agent_data/USER.md +0 -7
  35. gitlab_api-25.15.56/gitlab_api/agent_data/chats +0 -3
  36. gitlab_api-25.15.56/gitlab_api/agent_data/icon.png +0 -3
  37. gitlab_api-25.15.56/gitlab_api/agent_data/mcp_config.json +0 -36
  38. gitlab_api-25.15.56/gitlab_api.egg-info/requires.txt +0 -13
  39. gitlab_api-25.15.56/pyproject.toml +0 -45
  40. gitlab_api-25.15.56/requirements.txt +0 -5
  41. {gitlab_api-25.15.56 → gitlab_api-25.20.1}/LICENSE +0 -0
  42. {gitlab_api-25.15.56 → gitlab_api-25.20.1}/MANIFEST.in +0 -0
  43. {gitlab_api-25.15.56 → gitlab_api-25.20.1}/gitlab_api/__main__.py +0 -0
  44. {gitlab_api-25.15.56 → gitlab_api-25.20.1}/gitlab_api.egg-info/dependency_links.txt +0 -0
  45. {gitlab_api-25.15.56 → gitlab_api-25.20.1}/gitlab_api.egg-info/top_level.txt +0 -0
  46. {gitlab_api-25.15.56 → gitlab_api-25.20.1}/scripts/validate_a2a_agent.py +2 -2
  47. {gitlab_api-25.15.56 → gitlab_api-25.20.1}/setup.cfg +0 -0
  48. {gitlab_api-25.15.56 → gitlab_api-25.20.1}/test_setup.py +1 -1
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: gitlab-api
3
- Version: 25.15.56
3
+ Version: 25.20.1
4
4
  Summary: GitLab API + MCP Server + A2A Server
5
5
  Author-email: Audel Rouhi <knucklessg1@gmail.com>
6
6
  License: MIT
@@ -9,18 +9,21 @@ Classifier: License :: Public Domain
9
9
  Classifier: Environment :: Console
10
10
  Classifier: Operating System :: POSIX :: Linux
11
11
  Classifier: Programming Language :: Python :: 3
12
- Requires-Python: >=3.10
12
+ Requires-Python: <3.14,>=3.11
13
13
  Description-Content-Type: text/markdown
14
14
  License-File: LICENSE
15
- Requires-Dist: agent-utilities>=0.2.31
15
+ Requires-Dist: agent-utilities>=0.6.2
16
16
  Provides-Extra: mcp
17
- Requires-Dist: agent-utilities[mcp]>=0.2.31; extra == "mcp"
17
+ Requires-Dist: agent-utilities[mcp]>=0.6.2; extra == "mcp"
18
18
  Provides-Extra: agent
19
- Requires-Dist: agent-utilities[agent,logfire]>=0.2.31; extra == "agent"
19
+ Requires-Dist: agent-utilities[agent,logfire]>=0.6.2; extra == "agent"
20
20
  Provides-Extra: gql
21
21
  Requires-Dist: gql>=4.0.0; extra == "gql"
22
22
  Provides-Extra: all
23
- Requires-Dist: gitlab-api[agent,gql,logfire,mcp]>=25.15.15; extra == "all"
23
+ Requires-Dist: gitlab-api[agent,gql,logfire,mcp]>=25.15.56; extra == "all"
24
+ Provides-Extra: test
25
+ Requires-Dist: pytest; extra == "test"
26
+ Requires-Dist: pytest-asyncio; extra == "test"
24
27
  Dynamic: license-file
25
28
 
26
29
  # GitLab API - A2A | AG-UI | MCP
@@ -46,7 +49,7 @@ Dynamic: license-file
46
49
  ![PyPI - Wheel](https://img.shields.io/pypi/wheel/gitlab-api)
47
50
  ![PyPI - Implementation](https://img.shields.io/pypi/implementation/gitlab-api)
48
51
 
49
- *Version: 25.15.56*
52
+ *Version: 25.20.1*
50
53
 
51
54
  ## Overview
52
55
 
@@ -924,3 +927,108 @@ npx @modelcontextprotocol/inspector gitlab-mcp
924
927
 
925
928
  ![GitHub followers](https://img.shields.io/github/followers/Knucklessg1)
926
929
  ![GitHub User's stars](https://img.shields.io/github/stars/Knucklessg1)
930
+
931
+
932
+ ## MCP Configuration Examples
933
+
934
+ ### 1. Standard IO (stdio) Deployment
935
+
936
+ ```json
937
+ {
938
+ "mcpServers": {
939
+ "gitlab-api": {
940
+ "command": "uv",
941
+ "args": [
942
+ "run",
943
+ "gitlab-mcp"
944
+ ],
945
+ "env": {
946
+ "AGENT_DESCRIPTION": "<YOUR_AGENT_DESCRIPTION>",
947
+ "AGENT_SYSTEM_PROMPT": "<YOUR_AGENT_SYSTEM_PROMPT>",
948
+ "BRANCHESTOOL": "True",
949
+ "COMMITSTOOL": "True",
950
+ "CUSTOM_APITOOL": "True",
951
+ "DEFAULT_AGENT_NAME": "<YOUR_DEFAULT_AGENT_NAME>",
952
+ "DEPLOY_TOKENSTOOL": "True",
953
+ "ENVIRONMENTSTOOL": "True",
954
+ "GITLAB_SSL_VERIFY": "<YOUR_GITLAB_SSL_VERIFY>",
955
+ "GITLAB_TOKEN": "<YOUR_GITLAB_TOKEN>",
956
+ "GITLAB_URL": "<YOUR_GITLAB_URL>",
957
+ "GITLAB_VERIFY": "<YOUR_GITLAB_VERIFY>",
958
+ "GROUPSTOOL": "True",
959
+ "JOBSTOOL": "True",
960
+ "LLM_API_KEY": "<YOUR_LLM_API_KEY>",
961
+ "LLM_BASE_URL": "<YOUR_LLM_BASE_URL>",
962
+ "MCP_URL": "<YOUR_MCP_URL>",
963
+ "MEMBERSTOOL": "True",
964
+ "MERGE_REQUESTSTOOL": "True",
965
+ "MERGE_RULESTOOL": "True",
966
+ "MISCTOOL": "True",
967
+ "MODEL_ID": "<YOUR_MODEL_ID>",
968
+ "PACKAGESTOOL": "True",
969
+ "PIPELINESTOOL": "True",
970
+ "PIPELINE_SCHEDULESTOOL": "True",
971
+ "PROJECTSTOOL": "True",
972
+ "PROTECTED_BRANCHESTOOL": "True",
973
+ "RELEASESTOOL": "True",
974
+ "RUNNERSTOOL": "True",
975
+ "TAGSTOOL": "True"
976
+ }
977
+ }
978
+ }
979
+ }
980
+ ```
981
+
982
+ ### 2. Streamable HTTP (SSE) Deployment
983
+
984
+ ```json
985
+ {
986
+ "mcpServers": {
987
+ "gitlab-api": {
988
+ "command": "uv",
989
+ "args": [
990
+ "run",
991
+ "gitlab-mcp",
992
+ "--transport",
993
+ "http",
994
+ "--host",
995
+ "0.0.0.0",
996
+ "--port",
997
+ "8000"
998
+ ],
999
+ "env": {
1000
+ "AGENT_DESCRIPTION": "<YOUR_AGENT_DESCRIPTION>",
1001
+ "AGENT_SYSTEM_PROMPT": "<YOUR_AGENT_SYSTEM_PROMPT>",
1002
+ "BRANCHESTOOL": "True",
1003
+ "COMMITSTOOL": "True",
1004
+ "CUSTOM_APITOOL": "True",
1005
+ "DEFAULT_AGENT_NAME": "<YOUR_DEFAULT_AGENT_NAME>",
1006
+ "DEPLOY_TOKENSTOOL": "True",
1007
+ "ENVIRONMENTSTOOL": "True",
1008
+ "GITLAB_SSL_VERIFY": "<YOUR_GITLAB_SSL_VERIFY>",
1009
+ "GITLAB_TOKEN": "<YOUR_GITLAB_TOKEN>",
1010
+ "GITLAB_URL": "<YOUR_GITLAB_URL>",
1011
+ "GITLAB_VERIFY": "<YOUR_GITLAB_VERIFY>",
1012
+ "GROUPSTOOL": "True",
1013
+ "JOBSTOOL": "True",
1014
+ "LLM_API_KEY": "<YOUR_LLM_API_KEY>",
1015
+ "LLM_BASE_URL": "<YOUR_LLM_BASE_URL>",
1016
+ "MCP_URL": "<YOUR_MCP_URL>",
1017
+ "MEMBERSTOOL": "True",
1018
+ "MERGE_REQUESTSTOOL": "True",
1019
+ "MERGE_RULESTOOL": "True",
1020
+ "MISCTOOL": "True",
1021
+ "MODEL_ID": "<YOUR_MODEL_ID>",
1022
+ "PACKAGESTOOL": "True",
1023
+ "PIPELINESTOOL": "True",
1024
+ "PIPELINE_SCHEDULESTOOL": "True",
1025
+ "PROJECTSTOOL": "True",
1026
+ "PROTECTED_BRANCHESTOOL": "True",
1027
+ "RELEASESTOOL": "True",
1028
+ "RUNNERSTOOL": "True",
1029
+ "TAGSTOOL": "True"
1030
+ }
1031
+ }
1032
+ }
1033
+ }
1034
+ ```
@@ -1,28 +1,3 @@
1
- Metadata-Version: 2.4
2
- Name: gitlab-api
3
- Version: 25.15.56
4
- Summary: GitLab API + MCP Server + A2A Server
5
- Author-email: Audel Rouhi <knucklessg1@gmail.com>
6
- License: MIT
7
- Classifier: Development Status :: 5 - Production/Stable
8
- Classifier: License :: Public Domain
9
- Classifier: Environment :: Console
10
- Classifier: Operating System :: POSIX :: Linux
11
- Classifier: Programming Language :: Python :: 3
12
- Requires-Python: >=3.10
13
- Description-Content-Type: text/markdown
14
- License-File: LICENSE
15
- Requires-Dist: agent-utilities>=0.2.31
16
- Provides-Extra: mcp
17
- Requires-Dist: agent-utilities[mcp]>=0.2.31; extra == "mcp"
18
- Provides-Extra: agent
19
- Requires-Dist: agent-utilities[agent,logfire]>=0.2.31; extra == "agent"
20
- Provides-Extra: gql
21
- Requires-Dist: gql>=4.0.0; extra == "gql"
22
- Provides-Extra: all
23
- Requires-Dist: gitlab-api[agent,gql,logfire,mcp]>=25.15.15; extra == "all"
24
- Dynamic: license-file
25
-
26
1
  # GitLab API - A2A | AG-UI | MCP
27
2
 
28
3
  ![PyPI - Version](https://img.shields.io/pypi/v/gitlab-api)
@@ -46,7 +21,7 @@ Dynamic: license-file
46
21
  ![PyPI - Wheel](https://img.shields.io/pypi/wheel/gitlab-api)
47
22
  ![PyPI - Implementation](https://img.shields.io/pypi/implementation/gitlab-api)
48
23
 
49
- *Version: 25.15.56*
24
+ *Version: 25.20.1*
50
25
 
51
26
  ## Overview
52
27
 
@@ -924,3 +899,108 @@ npx @modelcontextprotocol/inspector gitlab-mcp
924
899
 
925
900
  ![GitHub followers](https://img.shields.io/github/followers/Knucklessg1)
926
901
  ![GitHub User's stars](https://img.shields.io/github/stars/Knucklessg1)
902
+
903
+
904
+ ## MCP Configuration Examples
905
+
906
+ ### 1. Standard IO (stdio) Deployment
907
+
908
+ ```json
909
+ {
910
+ "mcpServers": {
911
+ "gitlab-api": {
912
+ "command": "uv",
913
+ "args": [
914
+ "run",
915
+ "gitlab-mcp"
916
+ ],
917
+ "env": {
918
+ "AGENT_DESCRIPTION": "<YOUR_AGENT_DESCRIPTION>",
919
+ "AGENT_SYSTEM_PROMPT": "<YOUR_AGENT_SYSTEM_PROMPT>",
920
+ "BRANCHESTOOL": "True",
921
+ "COMMITSTOOL": "True",
922
+ "CUSTOM_APITOOL": "True",
923
+ "DEFAULT_AGENT_NAME": "<YOUR_DEFAULT_AGENT_NAME>",
924
+ "DEPLOY_TOKENSTOOL": "True",
925
+ "ENVIRONMENTSTOOL": "True",
926
+ "GITLAB_SSL_VERIFY": "<YOUR_GITLAB_SSL_VERIFY>",
927
+ "GITLAB_TOKEN": "<YOUR_GITLAB_TOKEN>",
928
+ "GITLAB_URL": "<YOUR_GITLAB_URL>",
929
+ "GITLAB_VERIFY": "<YOUR_GITLAB_VERIFY>",
930
+ "GROUPSTOOL": "True",
931
+ "JOBSTOOL": "True",
932
+ "LLM_API_KEY": "<YOUR_LLM_API_KEY>",
933
+ "LLM_BASE_URL": "<YOUR_LLM_BASE_URL>",
934
+ "MCP_URL": "<YOUR_MCP_URL>",
935
+ "MEMBERSTOOL": "True",
936
+ "MERGE_REQUESTSTOOL": "True",
937
+ "MERGE_RULESTOOL": "True",
938
+ "MISCTOOL": "True",
939
+ "MODEL_ID": "<YOUR_MODEL_ID>",
940
+ "PACKAGESTOOL": "True",
941
+ "PIPELINESTOOL": "True",
942
+ "PIPELINE_SCHEDULESTOOL": "True",
943
+ "PROJECTSTOOL": "True",
944
+ "PROTECTED_BRANCHESTOOL": "True",
945
+ "RELEASESTOOL": "True",
946
+ "RUNNERSTOOL": "True",
947
+ "TAGSTOOL": "True"
948
+ }
949
+ }
950
+ }
951
+ }
952
+ ```
953
+
954
+ ### 2. Streamable HTTP (SSE) Deployment
955
+
956
+ ```json
957
+ {
958
+ "mcpServers": {
959
+ "gitlab-api": {
960
+ "command": "uv",
961
+ "args": [
962
+ "run",
963
+ "gitlab-mcp",
964
+ "--transport",
965
+ "http",
966
+ "--host",
967
+ "0.0.0.0",
968
+ "--port",
969
+ "8000"
970
+ ],
971
+ "env": {
972
+ "AGENT_DESCRIPTION": "<YOUR_AGENT_DESCRIPTION>",
973
+ "AGENT_SYSTEM_PROMPT": "<YOUR_AGENT_SYSTEM_PROMPT>",
974
+ "BRANCHESTOOL": "True",
975
+ "COMMITSTOOL": "True",
976
+ "CUSTOM_APITOOL": "True",
977
+ "DEFAULT_AGENT_NAME": "<YOUR_DEFAULT_AGENT_NAME>",
978
+ "DEPLOY_TOKENSTOOL": "True",
979
+ "ENVIRONMENTSTOOL": "True",
980
+ "GITLAB_SSL_VERIFY": "<YOUR_GITLAB_SSL_VERIFY>",
981
+ "GITLAB_TOKEN": "<YOUR_GITLAB_TOKEN>",
982
+ "GITLAB_URL": "<YOUR_GITLAB_URL>",
983
+ "GITLAB_VERIFY": "<YOUR_GITLAB_VERIFY>",
984
+ "GROUPSTOOL": "True",
985
+ "JOBSTOOL": "True",
986
+ "LLM_API_KEY": "<YOUR_LLM_API_KEY>",
987
+ "LLM_BASE_URL": "<YOUR_LLM_BASE_URL>",
988
+ "MCP_URL": "<YOUR_MCP_URL>",
989
+ "MEMBERSTOOL": "True",
990
+ "MERGE_REQUESTSTOOL": "True",
991
+ "MERGE_RULESTOOL": "True",
992
+ "MISCTOOL": "True",
993
+ "MODEL_ID": "<YOUR_MODEL_ID>",
994
+ "PACKAGESTOOL": "True",
995
+ "PIPELINESTOOL": "True",
996
+ "PIPELINE_SCHEDULESTOOL": "True",
997
+ "PROJECTSTOOL": "True",
998
+ "PROTECTED_BRANCHESTOOL": "True",
999
+ "RELEASESTOOL": "True",
1000
+ "RUNNERSTOOL": "True",
1001
+ "TAGSTOOL": "True"
1002
+ }
1003
+ }
1004
+ }
1005
+ }
1006
+ ```
@@ -1,14 +1,13 @@
1
1
  import importlib
2
- import sys
3
2
  import inspect
4
- from typing import List
3
+ import sys
5
4
 
6
- __all__: List[str] = []
5
+ __all__: list[str] = []
7
6
 
8
7
  CORE_MODULES = [
9
8
  "gitlab_api.gitlab_input_models",
10
9
  "gitlab_api.gitlab_response_models",
11
- "gitlab_api.api_wrapper",
10
+ "gitlab_api.api_client",
12
11
  ]
13
12
 
14
13
  OPTIONAL_MODULES = {
@@ -1,8 +1,7 @@
1
1
  #!/usr/bin/python
2
- # coding: utf-8
2
+ import logging
3
3
  import os
4
4
  import sys
5
- import logging
6
5
  import warnings
7
6
 
8
7
  from agent_utilities import (
@@ -13,7 +12,7 @@ from agent_utilities import (
13
12
  load_identity,
14
13
  )
15
14
 
16
- __version__ = "25.15.56"
15
+ __version__ = "25.20.1"
17
16
 
18
17
  logging.basicConfig(
19
18
  level=logging.INFO,