gitlab-api 25.16.0__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 (36) hide show
  1. {gitlab_api-25.16.0 → gitlab_api-25.20.1}/PKG-INFO +111 -6
  2. gitlab_api-25.16.0/gitlab_api.egg-info/PKG-INFO → gitlab_api-25.20.1/README.md +106 -29
  3. {gitlab_api-25.16.0 → gitlab_api-25.20.1}/gitlab_api/agent_server.py +1 -1
  4. gitlab_api-25.20.1/gitlab_api/mcp_config.json +3 -0
  5. {gitlab_api-25.16.0 → gitlab_api-25.20.1}/gitlab_api/mcp_server.py +1 -1
  6. gitlab_api-25.16.0/README.md → gitlab_api-25.20.1/gitlab_api.egg-info/PKG-INFO +134 -1
  7. {gitlab_api-25.16.0 → gitlab_api-25.20.1}/gitlab_api.egg-info/requires.txt +3 -3
  8. {gitlab_api-25.16.0 → gitlab_api-25.20.1}/pyproject.toml +10 -5
  9. gitlab_api-25.16.0/gitlab_api/mcp_config.json +0 -3
  10. {gitlab_api-25.16.0 → gitlab_api-25.20.1}/LICENSE +0 -0
  11. {gitlab_api-25.16.0 → gitlab_api-25.20.1}/MANIFEST.in +0 -0
  12. {gitlab_api-25.16.0 → gitlab_api-25.20.1}/gitlab_api/__init__.py +0 -0
  13. {gitlab_api-25.16.0 → gitlab_api-25.20.1}/gitlab_api/__main__.py +0 -0
  14. {gitlab_api-25.16.0 → gitlab_api-25.20.1}/gitlab_api/api_client.py +0 -0
  15. {gitlab_api-25.16.0 → gitlab_api-25.20.1}/gitlab_api/auth.py +0 -0
  16. {gitlab_api-25.16.0 → gitlab_api-25.20.1}/gitlab_api/gitlab_gql.py +0 -0
  17. {gitlab_api-25.16.0 → gitlab_api-25.20.1}/gitlab_api/gitlab_input_models.py +0 -0
  18. {gitlab_api-25.16.0 → gitlab_api-25.20.1}/gitlab_api/gitlab_response_models.py +0 -0
  19. {gitlab_api-25.16.0 → gitlab_api-25.20.1}/gitlab_api.egg-info/SOURCES.txt +0 -0
  20. {gitlab_api-25.16.0 → gitlab_api-25.20.1}/gitlab_api.egg-info/dependency_links.txt +0 -0
  21. {gitlab_api-25.16.0 → gitlab_api-25.20.1}/gitlab_api.egg-info/entry_points.txt +0 -0
  22. {gitlab_api-25.16.0 → gitlab_api-25.20.1}/gitlab_api.egg-info/top_level.txt +0 -0
  23. {gitlab_api-25.16.0 → gitlab_api-25.20.1}/requirements.txt +0 -0
  24. {gitlab_api-25.16.0 → gitlab_api-25.20.1}/scripts/validate_a2a_agent.py +0 -0
  25. {gitlab_api-25.16.0 → gitlab_api-25.20.1}/scripts/validate_agent.py +0 -0
  26. {gitlab_api-25.16.0 → gitlab_api-25.20.1}/setup.cfg +0 -0
  27. {gitlab_api-25.16.0 → gitlab_api-25.20.1}/test_setup.py +0 -0
  28. {gitlab_api-25.16.0 → gitlab_api-25.20.1}/tests/__init__.py +0 -0
  29. {gitlab_api-25.16.0 → gitlab_api-25.20.1}/tests/conftest.py +0 -0
  30. {gitlab_api-25.16.0 → gitlab_api-25.20.1}/tests/test_api_wrapper.py +0 -0
  31. {gitlab_api-25.16.0 → gitlab_api-25.20.1}/tests/test_gitlab_a2a_validation.py +0 -0
  32. {gitlab_api-25.16.0 → gitlab_api-25.20.1}/tests/test_gitlab_api_brute_force_coverage.py +0 -0
  33. {gitlab_api-25.16.0 → gitlab_api-25.20.1}/tests/test_gitlab_mcp_validation.py +0 -0
  34. {gitlab_api-25.16.0 → gitlab_api-25.20.1}/tests/test_gitlab_models.py +0 -0
  35. {gitlab_api-25.16.0 → gitlab_api-25.20.1}/tests/test_verify_agent.py +0 -0
  36. {gitlab_api-25.16.0 → gitlab_api-25.20.1}/tests/verify_a2a_queries.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: gitlab-api
3
- Version: 25.16.0
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,14 +9,14 @@ 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.42
15
+ Requires-Dist: agent-utilities>=0.6.2
16
16
  Provides-Extra: mcp
17
- Requires-Dist: agent-utilities[mcp]>=0.2.42; 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.42; 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
@@ -49,7 +49,7 @@ Dynamic: license-file
49
49
  ![PyPI - Wheel](https://img.shields.io/pypi/wheel/gitlab-api)
50
50
  ![PyPI - Implementation](https://img.shields.io/pypi/implementation/gitlab-api)
51
51
 
52
- *Version: 25.16.0*
52
+ *Version: 25.20.1*
53
53
 
54
54
  ## Overview
55
55
 
@@ -927,3 +927,108 @@ npx @modelcontextprotocol/inspector gitlab-mcp
927
927
 
928
928
  ![GitHub followers](https://img.shields.io/github/followers/Knucklessg1)
929
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,31 +1,3 @@
1
- Metadata-Version: 2.4
2
- Name: gitlab-api
3
- Version: 25.16.0
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.42
16
- Provides-Extra: mcp
17
- Requires-Dist: agent-utilities[mcp]>=0.2.42; extra == "mcp"
18
- Provides-Extra: agent
19
- Requires-Dist: agent-utilities[agent,logfire]>=0.2.42; 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.56; extra == "all"
24
- Provides-Extra: test
25
- Requires-Dist: pytest; extra == "test"
26
- Requires-Dist: pytest-asyncio; extra == "test"
27
- Dynamic: license-file
28
-
29
1
  # GitLab API - A2A | AG-UI | MCP
30
2
 
31
3
  ![PyPI - Version](https://img.shields.io/pypi/v/gitlab-api)
@@ -49,7 +21,7 @@ Dynamic: license-file
49
21
  ![PyPI - Wheel](https://img.shields.io/pypi/wheel/gitlab-api)
50
22
  ![PyPI - Implementation](https://img.shields.io/pypi/implementation/gitlab-api)
51
23
 
52
- *Version: 25.16.0*
24
+ *Version: 25.20.1*
53
25
 
54
26
  ## Overview
55
27
 
@@ -927,3 +899,108 @@ npx @modelcontextprotocol/inspector gitlab-mcp
927
899
 
928
900
  ![GitHub followers](https://img.shields.io/github/followers/Knucklessg1)
929
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
+ ```
@@ -12,7 +12,7 @@ from agent_utilities import (
12
12
  load_identity,
13
13
  )
14
14
 
15
- __version__ = "25.16.0"
15
+ __version__ = "25.20.1"
16
16
 
17
17
  logging.basicConfig(
18
18
  level=logging.INFO,
@@ -0,0 +1,3 @@
1
+ {
2
+ "mcpServers": {}
3
+ }
@@ -38,7 +38,7 @@ from starlette.responses import JSONResponse
38
38
  from gitlab_api.auth import get_client
39
39
  from gitlab_api.gitlab_response_models import Response
40
40
 
41
- __version__ = "25.16.0"
41
+ __version__ = "25.20.1"
42
42
  print(f"Gitlab MCP v{__version__}", file=sys.stderr)
43
43
 
44
44
  logger = get_logger(name="mcp_server")
@@ -1,3 +1,31 @@
1
+ Metadata-Version: 2.4
2
+ Name: gitlab-api
3
+ Version: 25.20.1
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.14,>=3.11
13
+ Description-Content-Type: text/markdown
14
+ License-File: LICENSE
15
+ Requires-Dist: agent-utilities>=0.6.2
16
+ Provides-Extra: mcp
17
+ Requires-Dist: agent-utilities[mcp]>=0.6.2; extra == "mcp"
18
+ Provides-Extra: agent
19
+ Requires-Dist: agent-utilities[agent,logfire]>=0.6.2; 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.56; extra == "all"
24
+ Provides-Extra: test
25
+ Requires-Dist: pytest; extra == "test"
26
+ Requires-Dist: pytest-asyncio; extra == "test"
27
+ Dynamic: license-file
28
+
1
29
  # GitLab API - A2A | AG-UI | MCP
2
30
 
3
31
  ![PyPI - Version](https://img.shields.io/pypi/v/gitlab-api)
@@ -21,7 +49,7 @@
21
49
  ![PyPI - Wheel](https://img.shields.io/pypi/wheel/gitlab-api)
22
50
  ![PyPI - Implementation](https://img.shields.io/pypi/implementation/gitlab-api)
23
51
 
24
- *Version: 25.16.0*
52
+ *Version: 25.20.1*
25
53
 
26
54
  ## Overview
27
55
 
@@ -899,3 +927,108 @@ npx @modelcontextprotocol/inspector gitlab-mcp
899
927
 
900
928
  ![GitHub followers](https://img.shields.io/github/followers/Knucklessg1)
901
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,7 +1,7 @@
1
- agent-utilities>=0.2.42
1
+ agent-utilities>=0.6.2
2
2
 
3
3
  [agent]
4
- agent-utilities[agent,logfire]>=0.2.42
4
+ agent-utilities[agent,logfire]>=0.6.2
5
5
 
6
6
  [all]
7
7
  gitlab-api[agent,gql,logfire,mcp]>=25.15.56
@@ -10,7 +10,7 @@ gitlab-api[agent,gql,logfire,mcp]>=25.15.56
10
10
  gql>=4.0.0
11
11
 
12
12
  [mcp]
13
- agent-utilities[mcp]>=0.2.42
13
+ agent-utilities[mcp]>=0.6.2
14
14
 
15
15
  [test]
16
16
  pytest
@@ -4,12 +4,12 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "gitlab-api"
7
- version = "25.16.0"
7
+ version = "25.20.1"
8
8
  description = "GitLab API + MCP Server + A2A Server"
9
9
  readme = "README.md"
10
10
  classifiers = [ "Development Status :: 5 - Production/Stable", "License :: Public Domain", "Environment :: Console", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 3",]
11
- requires-python = ">=3.10"
12
- dependencies = [ "agent-utilities>=0.2.42",]
11
+ requires-python = ">=3.11, <3.14"
12
+ dependencies = [ "agent-utilities>=0.6.2",]
13
13
  [[project.authors]]
14
14
  name = "Audel Rouhi"
15
15
  email = "knucklessg1@gmail.com"
@@ -18,8 +18,8 @@ email = "knucklessg1@gmail.com"
18
18
  text = "MIT"
19
19
 
20
20
  [project.optional-dependencies]
21
- mcp = [ "agent-utilities[mcp]>=0.2.42",]
22
- agent = [ "agent-utilities[agent,logfire]>=0.2.42",]
21
+ mcp = [ "agent-utilities[mcp]>=0.6.2",]
22
+ agent = [ "agent-utilities[agent,logfire]>=0.6.2",]
23
23
  gql = [ "gql>=4.0.0",]
24
24
  all = [ "gitlab-api[mcp,agent,gql,logfire]>=25.15.56",]
25
25
  test = [ "pytest", "pytest-asyncio",]
@@ -40,6 +40,11 @@ python_version = "3.10"
40
40
  ignore_missing_imports = true
41
41
  check_untyped_defs = true
42
42
 
43
+ [dependency-groups]
44
+ dev = [
45
+ "pytest-timeout>=2.4.0",
46
+ ]
47
+
43
48
  [tool.setuptools.package-data]
44
49
  gitlab_api = [ "mcp_config.json", "agent_data/**",]
45
50
 
@@ -1,3 +0,0 @@
1
- {
2
- "mcpServers": {}
3
- }
File without changes
File without changes
File without changes
File without changes