gitlab-api 27.3.6__tar.gz → 27.3.7__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-27.3.6/gitlab_api.egg-info → gitlab_api-27.3.7}/PKG-INFO +2 -2
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/README.md +1 -1
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/mcp_server.py +1 -1
- gitlab_api-27.3.7/gitlab_api/ontology/ingest_sources.json +38 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7/gitlab_api.egg-info}/PKG-INFO +2 -2
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/pyproject.toml +1 -1
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/tests/test_ingest_sources.py +20 -0
- gitlab_api-27.3.6/gitlab_api/ontology/ingest_sources.json +0 -19
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/LICENSE +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/MANIFEST.in +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/__init__.py +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/__main__.py +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/api/__init__.py +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/api/api_client_base.py +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/api/api_client_environments.py +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/api/api_client_issues.py +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/api/api_client_merge_requests.py +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/api/api_client_other.py +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/api/api_client_pipelines.py +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/api/api_client_projects.py +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/api/api_client_repositories.py +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/api/api_client_system.py +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/api/api_client_users_groups.py +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/api/api_client_vulnerabilities.py +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/api_client.py +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/auth.py +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/connector_manifest.yml +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/connector_prep.py +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/connectors/__init__.py +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/connectors/mcp_source_presets.json +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/connectors/tool_schema_fingerprints.json +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/gitlab_gql.py +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/gitlab_input_models.py +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/gitlab_response_models.py +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/instances.py +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/kg_ingest.py +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/mcp_config.json +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/ontology/__init__.py +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/ontology/certification.json +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/ontology/fixtures/records.json +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/ontology/gitlab.ttl +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/ontology/mappings/source.yaml +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/ontology/migrations/manifest.json +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/ontology/shapes/connector.shacl.ttl +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/prompts/__init__.py +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/prompts/devops_specialist.json +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/skills/__init__.py +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/skills/gitlab-api-operations/SKILL.md +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/skills/gitlab-api-operations/agents/openai.yaml +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/skills/gitlab-api-operations/references/catalog.md +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/skills/gitlab-issues/SKILL.md +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/skills/gitlab-issues/WORKFLOW.md +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/skills/gitlab-merge-request-create/SKILL.md +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/skills/gitlab-merge-request-create/WORKFLOW.md +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/skills/gitlab-merge-request-review/SKILL.md +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/skills/gitlab-merge-request-review/WORKFLOW.md +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/skills/gitlab-pipelines/SKILL.md +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/skills/gitlab-pipelines/WORKFLOW.md +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/skills/gitlab-vulnerabilities/SKILL.md +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/skills/gitlab-vulnerabilities/WORKFLOW.md +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api.egg-info/SOURCES.txt +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api.egg-info/dependency_links.txt +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api.egg-info/entry_points.txt +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api.egg-info/requires.txt +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api.egg-info/top_level.txt +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/requirements.txt +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/scripts/check_import_safety.py +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/scripts/security_contract.py +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/scripts/security_sanitizer.py +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/scripts/verify_api_integration.py +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/setup.cfg +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/tests/__init__.py +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/tests/conftest.py +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/tests/test_api_wrapper.py +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/tests/test_auth.py +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/tests/test_connector_prep.py +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/tests/test_default_content_surfaces.py +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/tests/test_fleet_name.py +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/tests/test_gitlab_a2a_validation.py +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/tests/test_gitlab_api_brute_force_coverage.py +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/tests/test_gitlab_gql.py +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/tests/test_gitlab_mcp_validation.py +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/tests/test_gitlab_models.py +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/tests/test_identity_context_scoping.py +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/tests/test_init_dynamics.py +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/tests/test_instances.py +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/tests/test_kg_ingest.py +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/tests/test_mock_coverage.py +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/tests/test_ontology_parent_link.py +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/tests/test_security_sanitizer.py +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/tests/test_startup.py +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/tests/test_tool_modes.py +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/tests/test_verify_agent.py +0 -0
- {gitlab_api-27.3.6 → gitlab_api-27.3.7}/tests/verify_a2a_queries.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: gitlab-api
|
|
3
|
-
Version: 27.3.
|
|
3
|
+
Version: 27.3.7
|
|
4
4
|
Summary: GitLab API + MCP Server
|
|
5
5
|
Author-email: Project Maintainers <maintainers@users.noreply.github.com>
|
|
6
6
|
License: MIT
|
|
@@ -45,7 +45,7 @@ Dynamic: license-file
|
|
|
45
45
|

|
|
46
46
|

|
|
47
47
|
|
|
48
|
-
*Version: 27.3.
|
|
48
|
+
*Version: 27.3.7*
|
|
49
49
|
|
|
50
50
|
> **Documentation** — Installation, deployment, usage across the API, CLI, and MCP
|
|
51
51
|
> backing GitLab instance are maintained in the
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|

|
|
21
21
|

|
|
22
22
|
|
|
23
|
-
*Version: 27.3.
|
|
23
|
+
*Version: 27.3.7*
|
|
24
24
|
|
|
25
25
|
> **Documentation** — Installation, deployment, usage across the API, CLI, and MCP
|
|
26
26
|
> backing GitLab instance are maintained in the
|
|
@@ -35,7 +35,7 @@ from agent_connector_sdk.mcp.tool_surface import register_tool_surface
|
|
|
35
35
|
from gitlab_api.api_client import Api
|
|
36
36
|
from gitlab_api.auth import get_client
|
|
37
37
|
|
|
38
|
-
__version__ = "27.3.
|
|
38
|
+
__version__ = "27.3.7"
|
|
39
39
|
print(f"Gitlab MCP v{__version__}", file=sys.stderr)
|
|
40
40
|
|
|
41
41
|
logger = get_logger(name="mcp_server")
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"connector": "gitlab-mcp",
|
|
3
|
+
"sources": [
|
|
4
|
+
{
|
|
5
|
+
"source_id": "projects",
|
|
6
|
+
"record_type": "Project",
|
|
7
|
+
"tools": [
|
|
8
|
+
"gitlab_get_projects"
|
|
9
|
+
],
|
|
10
|
+
"records_path": "data",
|
|
11
|
+
"id_field": "id",
|
|
12
|
+
"title_field": "path_with_namespace",
|
|
13
|
+
"text_field": "description",
|
|
14
|
+
"cursor_field": "last_activity_at",
|
|
15
|
+
"incremental": true,
|
|
16
|
+
"description": "GitLab projects visible to the configured token."
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"source_id": "issues",
|
|
20
|
+
"record_type": "Issue",
|
|
21
|
+
"tools": [
|
|
22
|
+
"gitlab_get_issues"
|
|
23
|
+
],
|
|
24
|
+
"records_path": "data",
|
|
25
|
+
"id_field": "id",
|
|
26
|
+
"title_field": "title",
|
|
27
|
+
"text_field": "description",
|
|
28
|
+
"cursor_field": "updated_at",
|
|
29
|
+
"incremental": false,
|
|
30
|
+
"arguments": {
|
|
31
|
+
"state": "opened",
|
|
32
|
+
"per_page": 50,
|
|
33
|
+
"max_pages": 1
|
|
34
|
+
},
|
|
35
|
+
"description": "Open GitLab issues visible to the configured token (first 50)."
|
|
36
|
+
}
|
|
37
|
+
]
|
|
38
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: gitlab-api
|
|
3
|
-
Version: 27.3.
|
|
3
|
+
Version: 27.3.7
|
|
4
4
|
Summary: GitLab API + MCP Server
|
|
5
5
|
Author-email: Project Maintainers <maintainers@users.noreply.github.com>
|
|
6
6
|
License: MIT
|
|
@@ -45,7 +45,7 @@ Dynamic: license-file
|
|
|
45
45
|

|
|
46
46
|

|
|
47
47
|
|
|
48
|
-
*Version: 27.3.
|
|
48
|
+
*Version: 27.3.7*
|
|
49
49
|
|
|
50
50
|
> **Documentation** — Installation, deployment, usage across the API, CLI, and MCP
|
|
51
51
|
> backing GitLab instance are maintained in the
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "gitlab-api"
|
|
7
|
-
version = "27.3.
|
|
7
|
+
version = "27.3.7"
|
|
8
8
|
description = "GitLab API + MCP Server"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
classifiers = [ "Development Status :: 5 - Production/Stable", "License :: OSI Approved :: MIT License", "Environment :: Console", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 3",]
|
|
@@ -33,3 +33,23 @@ def test_declares_ingestible_sources() -> None:
|
|
|
33
33
|
method = getattr(Api, "get_projects")
|
|
34
34
|
annotations = operation_annotations("get_projects", operation_verb(method))
|
|
35
35
|
assert annotations.read_only_hint is True
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
@pytest.mark.spec("CONN-GITLAB-API-R001")
|
|
39
|
+
def test_declares_issues_source() -> None:
|
|
40
|
+
declaration = load_ingest_sources(Path(gitlab_api.__file__).parent)
|
|
41
|
+
assert declaration is not None
|
|
42
|
+
assert declaration.connector == "gitlab-mcp"
|
|
43
|
+
source = declaration.source("issues")
|
|
44
|
+
assert source is not None and source.record_type == "Issue"
|
|
45
|
+
prefix = operation_prefix("gitlab-api")
|
|
46
|
+
assert source.tools == (f"{prefix}_get_issues",)
|
|
47
|
+
manifest = yaml.safe_load(
|
|
48
|
+
(Path(gitlab_api.__file__).parent / "connector_manifest.yml").read_text(
|
|
49
|
+
"utf-8"
|
|
50
|
+
)
|
|
51
|
+
)
|
|
52
|
+
assert source.record_type in manifest["schema_mappings"]
|
|
53
|
+
method = getattr(Api, "get_issues")
|
|
54
|
+
annotations = operation_annotations("get_issues", operation_verb(method))
|
|
55
|
+
assert annotations.read_only_hint is True
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"connector": "gitlab-mcp",
|
|
3
|
-
"sources": [
|
|
4
|
-
{
|
|
5
|
-
"source_id": "projects",
|
|
6
|
-
"record_type": "Project",
|
|
7
|
-
"tools": [
|
|
8
|
-
"gitlab_get_projects"
|
|
9
|
-
],
|
|
10
|
-
"records_path": "data",
|
|
11
|
-
"id_field": "id",
|
|
12
|
-
"title_field": "path_with_namespace",
|
|
13
|
-
"text_field": "description",
|
|
14
|
-
"cursor_field": "last_activity_at",
|
|
15
|
-
"incremental": true,
|
|
16
|
-
"description": "GitLab projects visible to the configured token."
|
|
17
|
-
}
|
|
18
|
-
]
|
|
19
|
-
}
|
|
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
|
|
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
|
{gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/skills/gitlab-api-operations/agents/openai.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/skills/gitlab-merge-request-create/SKILL.md
RENAMED
|
File without changes
|
{gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/skills/gitlab-merge-request-create/WORKFLOW.md
RENAMED
|
File without changes
|
{gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/skills/gitlab-merge-request-review/SKILL.md
RENAMED
|
File without changes
|
{gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/skills/gitlab-merge-request-review/WORKFLOW.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/skills/gitlab-vulnerabilities/WORKFLOW.md
RENAMED
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|