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.
- {gitlab_api-25.16.0 → gitlab_api-25.20.1}/PKG-INFO +111 -6
- gitlab_api-25.16.0/gitlab_api.egg-info/PKG-INFO → gitlab_api-25.20.1/README.md +106 -29
- {gitlab_api-25.16.0 → gitlab_api-25.20.1}/gitlab_api/agent_server.py +1 -1
- gitlab_api-25.20.1/gitlab_api/mcp_config.json +3 -0
- {gitlab_api-25.16.0 → gitlab_api-25.20.1}/gitlab_api/mcp_server.py +1 -1
- gitlab_api-25.16.0/README.md → gitlab_api-25.20.1/gitlab_api.egg-info/PKG-INFO +134 -1
- {gitlab_api-25.16.0 → gitlab_api-25.20.1}/gitlab_api.egg-info/requires.txt +3 -3
- {gitlab_api-25.16.0 → gitlab_api-25.20.1}/pyproject.toml +10 -5
- gitlab_api-25.16.0/gitlab_api/mcp_config.json +0 -3
- {gitlab_api-25.16.0 → gitlab_api-25.20.1}/LICENSE +0 -0
- {gitlab_api-25.16.0 → gitlab_api-25.20.1}/MANIFEST.in +0 -0
- {gitlab_api-25.16.0 → gitlab_api-25.20.1}/gitlab_api/__init__.py +0 -0
- {gitlab_api-25.16.0 → gitlab_api-25.20.1}/gitlab_api/__main__.py +0 -0
- {gitlab_api-25.16.0 → gitlab_api-25.20.1}/gitlab_api/api_client.py +0 -0
- {gitlab_api-25.16.0 → gitlab_api-25.20.1}/gitlab_api/auth.py +0 -0
- {gitlab_api-25.16.0 → gitlab_api-25.20.1}/gitlab_api/gitlab_gql.py +0 -0
- {gitlab_api-25.16.0 → gitlab_api-25.20.1}/gitlab_api/gitlab_input_models.py +0 -0
- {gitlab_api-25.16.0 → gitlab_api-25.20.1}/gitlab_api/gitlab_response_models.py +0 -0
- {gitlab_api-25.16.0 → gitlab_api-25.20.1}/gitlab_api.egg-info/SOURCES.txt +0 -0
- {gitlab_api-25.16.0 → gitlab_api-25.20.1}/gitlab_api.egg-info/dependency_links.txt +0 -0
- {gitlab_api-25.16.0 → gitlab_api-25.20.1}/gitlab_api.egg-info/entry_points.txt +0 -0
- {gitlab_api-25.16.0 → gitlab_api-25.20.1}/gitlab_api.egg-info/top_level.txt +0 -0
- {gitlab_api-25.16.0 → gitlab_api-25.20.1}/requirements.txt +0 -0
- {gitlab_api-25.16.0 → gitlab_api-25.20.1}/scripts/validate_a2a_agent.py +0 -0
- {gitlab_api-25.16.0 → gitlab_api-25.20.1}/scripts/validate_agent.py +0 -0
- {gitlab_api-25.16.0 → gitlab_api-25.20.1}/setup.cfg +0 -0
- {gitlab_api-25.16.0 → gitlab_api-25.20.1}/test_setup.py +0 -0
- {gitlab_api-25.16.0 → gitlab_api-25.20.1}/tests/__init__.py +0 -0
- {gitlab_api-25.16.0 → gitlab_api-25.20.1}/tests/conftest.py +0 -0
- {gitlab_api-25.16.0 → gitlab_api-25.20.1}/tests/test_api_wrapper.py +0 -0
- {gitlab_api-25.16.0 → gitlab_api-25.20.1}/tests/test_gitlab_a2a_validation.py +0 -0
- {gitlab_api-25.16.0 → gitlab_api-25.20.1}/tests/test_gitlab_api_brute_force_coverage.py +0 -0
- {gitlab_api-25.16.0 → gitlab_api-25.20.1}/tests/test_gitlab_mcp_validation.py +0 -0
- {gitlab_api-25.16.0 → gitlab_api-25.20.1}/tests/test_gitlab_models.py +0 -0
- {gitlab_api-25.16.0 → gitlab_api-25.20.1}/tests/test_verify_agent.py +0 -0
- {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.
|
|
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:
|
|
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
|
|
15
|
+
Requires-Dist: agent-utilities>=0.6.2
|
|
16
16
|
Provides-Extra: mcp
|
|
17
|
-
Requires-Dist: agent-utilities[mcp]>=0.2
|
|
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
|
|
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
|

|
|
50
50
|

|
|
51
51
|
|
|
52
|
-
*Version: 25.
|
|
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
|

|
|
929
929
|

|
|
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
|

|
|
@@ -49,7 +21,7 @@ Dynamic: license-file
|
|
|
49
21
|

|
|
50
22
|

|
|
51
23
|
|
|
52
|
-
*Version: 25.
|
|
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
|

|
|
929
901
|

|
|
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
|
+
```
|
|
@@ -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.
|
|
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
|

|
|
@@ -21,7 +49,7 @@
|
|
|
21
49
|

|
|
22
50
|

|
|
23
51
|
|
|
24
|
-
*Version: 25.
|
|
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
|

|
|
901
929
|

|
|
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
|
|
1
|
+
agent-utilities>=0.6.2
|
|
2
2
|
|
|
3
3
|
[agent]
|
|
4
|
-
agent-utilities[agent,logfire]>=0.2
|
|
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
|
|
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.
|
|
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.
|
|
12
|
-
dependencies = [ "agent-utilities>=0.2
|
|
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
|
|
22
|
-
agent = [ "agent-utilities[agent,logfire]>=0.2
|
|
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
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|