gitlab-api 27.3.4__tar.gz → 27.3.5__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.4/gitlab_api.egg-info → gitlab_api-27.3.5}/PKG-INFO +3 -3
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/README.md +1 -1
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/gitlab_api/mcp_server.py +1 -1
- {gitlab_api-27.3.4 → gitlab_api-27.3.5/gitlab_api.egg-info}/PKG-INFO +3 -3
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/gitlab_api.egg-info/SOURCES.txt +1 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/gitlab_api.egg-info/requires.txt +1 -1
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/pyproject.toml +2 -2
- gitlab_api-27.3.5/tests/test_default_content_surfaces.py +43 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/LICENSE +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/MANIFEST.in +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/gitlab_api/__init__.py +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/gitlab_api/__main__.py +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/gitlab_api/api/__init__.py +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/gitlab_api/api/api_client_base.py +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/gitlab_api/api/api_client_environments.py +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/gitlab_api/api/api_client_issues.py +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/gitlab_api/api/api_client_merge_requests.py +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/gitlab_api/api/api_client_other.py +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/gitlab_api/api/api_client_pipelines.py +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/gitlab_api/api/api_client_projects.py +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/gitlab_api/api/api_client_repositories.py +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/gitlab_api/api/api_client_system.py +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/gitlab_api/api/api_client_users_groups.py +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/gitlab_api/api/api_client_vulnerabilities.py +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/gitlab_api/api_client.py +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/gitlab_api/auth.py +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/gitlab_api/connector_manifest.yml +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/gitlab_api/connector_prep.py +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/gitlab_api/connectors/__init__.py +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/gitlab_api/connectors/mcp_source_presets.json +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/gitlab_api/connectors/tool_schema_fingerprints.json +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/gitlab_api/gitlab_gql.py +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/gitlab_api/gitlab_input_models.py +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/gitlab_api/gitlab_response_models.py +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/gitlab_api/instances.py +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/gitlab_api/kg_ingest.py +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/gitlab_api/mcp_config.json +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/gitlab_api/ontology/__init__.py +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/gitlab_api/ontology/certification.json +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/gitlab_api/ontology/fixtures/records.json +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/gitlab_api/ontology/gitlab.ttl +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/gitlab_api/ontology/ingest_sources.json +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/gitlab_api/ontology/mappings/source.yaml +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/gitlab_api/ontology/migrations/manifest.json +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/gitlab_api/ontology/shapes/connector.shacl.ttl +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/gitlab_api/prompts/__init__.py +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/gitlab_api/prompts/devops_specialist.json +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/gitlab_api/skills/__init__.py +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/gitlab_api/skills/gitlab-api-operations/SKILL.md +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/gitlab_api/skills/gitlab-api-operations/agents/openai.yaml +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/gitlab_api/skills/gitlab-api-operations/references/catalog.md +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/gitlab_api/skills/gitlab-issues/SKILL.md +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/gitlab_api/skills/gitlab-issues/WORKFLOW.md +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/gitlab_api/skills/gitlab-merge-request-create/SKILL.md +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/gitlab_api/skills/gitlab-merge-request-create/WORKFLOW.md +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/gitlab_api/skills/gitlab-merge-request-review/SKILL.md +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/gitlab_api/skills/gitlab-merge-request-review/WORKFLOW.md +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/gitlab_api/skills/gitlab-pipelines/SKILL.md +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/gitlab_api/skills/gitlab-pipelines/WORKFLOW.md +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/gitlab_api/skills/gitlab-vulnerabilities/SKILL.md +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/gitlab_api/skills/gitlab-vulnerabilities/WORKFLOW.md +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/gitlab_api.egg-info/dependency_links.txt +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/gitlab_api.egg-info/entry_points.txt +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/gitlab_api.egg-info/top_level.txt +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/requirements.txt +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/scripts/check_import_safety.py +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/scripts/security_contract.py +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/scripts/security_sanitizer.py +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/scripts/verify_api_integration.py +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/setup.cfg +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/tests/__init__.py +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/tests/conftest.py +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/tests/test_api_wrapper.py +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/tests/test_auth.py +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/tests/test_connector_prep.py +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/tests/test_fleet_name.py +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/tests/test_gitlab_a2a_validation.py +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/tests/test_gitlab_api_brute_force_coverage.py +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/tests/test_gitlab_gql.py +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/tests/test_gitlab_mcp_validation.py +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/tests/test_gitlab_models.py +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/tests/test_identity_context_scoping.py +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/tests/test_ingest_sources.py +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/tests/test_init_dynamics.py +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/tests/test_instances.py +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/tests/test_kg_ingest.py +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/tests/test_mock_coverage.py +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/tests/test_security_sanitizer.py +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/tests/test_startup.py +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/tests/test_tool_modes.py +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/tests/test_verify_agent.py +0 -0
- {gitlab_api-27.3.4 → gitlab_api-27.3.5}/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.5
|
|
4
4
|
Summary: GitLab API + MCP Server
|
|
5
5
|
Author-email: Project Maintainers <maintainers@users.noreply.github.com>
|
|
6
6
|
License: MIT
|
|
@@ -12,7 +12,7 @@ Classifier: Programming Language :: Python :: 3
|
|
|
12
12
|
Requires-Python: >=3.12
|
|
13
13
|
Description-Content-Type: text/markdown
|
|
14
14
|
License-File: LICENSE
|
|
15
|
-
Requires-Dist: agent-connector-sdk[graphql,mcp]<1.0.0,>=0.3.
|
|
15
|
+
Requires-Dist: agent-connector-sdk[graphql,mcp]<1.0.0,>=0.3.18
|
|
16
16
|
Requires-Dist: python-dotenv>=1.2.4
|
|
17
17
|
Provides-Extra: mcp
|
|
18
18
|
Provides-Extra: all
|
|
@@ -45,7 +45,7 @@ Dynamic: license-file
|
|
|
45
45
|

|
|
46
46
|

|
|
47
47
|
|
|
48
|
-
*Version: 27.3.
|
|
48
|
+
*Version: 27.3.5*
|
|
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.5*
|
|
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.5"
|
|
39
39
|
print(f"Gitlab MCP v{__version__}", file=sys.stderr)
|
|
40
40
|
|
|
41
41
|
logger = get_logger(name="mcp_server")
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: gitlab-api
|
|
3
|
-
Version: 27.3.
|
|
3
|
+
Version: 27.3.5
|
|
4
4
|
Summary: GitLab API + MCP Server
|
|
5
5
|
Author-email: Project Maintainers <maintainers@users.noreply.github.com>
|
|
6
6
|
License: MIT
|
|
@@ -12,7 +12,7 @@ Classifier: Programming Language :: Python :: 3
|
|
|
12
12
|
Requires-Python: >=3.12
|
|
13
13
|
Description-Content-Type: text/markdown
|
|
14
14
|
License-File: LICENSE
|
|
15
|
-
Requires-Dist: agent-connector-sdk[graphql,mcp]<1.0.0,>=0.3.
|
|
15
|
+
Requires-Dist: agent-connector-sdk[graphql,mcp]<1.0.0,>=0.3.18
|
|
16
16
|
Requires-Dist: python-dotenv>=1.2.4
|
|
17
17
|
Provides-Extra: mcp
|
|
18
18
|
Provides-Extra: all
|
|
@@ -45,7 +45,7 @@ Dynamic: license-file
|
|
|
45
45
|

|
|
46
46
|

|
|
47
47
|
|
|
48
|
-
*Version: 27.3.
|
|
48
|
+
*Version: 27.3.5*
|
|
49
49
|
|
|
50
50
|
> **Documentation** — Installation, deployment, usage across the API, CLI, and MCP
|
|
51
51
|
> backing GitLab instance are maintained in the
|
|
@@ -4,12 +4,12 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "gitlab-api"
|
|
7
|
-
version = "27.3.
|
|
7
|
+
version = "27.3.5"
|
|
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",]
|
|
11
11
|
requires-python = ">=3.12"
|
|
12
|
-
dependencies = [ "agent-connector-sdk[mcp,graphql]>=0.3.
|
|
12
|
+
dependencies = [ "agent-connector-sdk[mcp,graphql]>=0.3.18,<1.0.0", "python-dotenv>=1.2.4",]
|
|
13
13
|
[[project.authors]]
|
|
14
14
|
name = "Project Maintainers"
|
|
15
15
|
email = "maintainers@users.noreply.github.com"
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"""CONN-GITLAB-API-CONNECTOR-CONTENT-R001: the server lists its packaged skills, ontology and prompts by default."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
import asyncio
|
|
6
|
+
import importlib
|
|
7
|
+
from pathlib import Path
|
|
8
|
+
|
|
9
|
+
import pytest
|
|
10
|
+
from fastmcp import Client
|
|
11
|
+
|
|
12
|
+
PACKAGE = "gitlab_api"
|
|
13
|
+
ROOT = Path(list(importlib.import_module(PACKAGE).__path__)[0])
|
|
14
|
+
|
|
15
|
+
pytestmark = pytest.mark.spec("CONN-GITLAB-API-CONNECTOR-CONTENT-R001")
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
def _server():
|
|
19
|
+
namespace = {"__name__": PACKAGE + ".mcp_server"}
|
|
20
|
+
exec(
|
|
21
|
+
"from agent_connector_sdk.mcp.server import create_mcp_server\n"
|
|
22
|
+
"result = create_mcp_server('gitlab-mcp', version='0', command_args=[])",
|
|
23
|
+
namespace,
|
|
24
|
+
)
|
|
25
|
+
return namespace["result"][1]
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
async def _listings():
|
|
29
|
+
async with Client(_server()) as client:
|
|
30
|
+
resources = {str(r.uri) for r in await client.list_resources()}
|
|
31
|
+
prompts = {p.name for p in await client.list_prompts()}
|
|
32
|
+
return resources, prompts
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
def test_default_content_surfaces() -> None:
|
|
36
|
+
resources, prompts = asyncio.run(_listings())
|
|
37
|
+
if list(ROOT.glob("skills/*/SKILL.md")):
|
|
38
|
+
assert any(u.startswith("skill://") for u in resources)
|
|
39
|
+
if list(ROOT.glob("ontology/*.ttl")):
|
|
40
|
+
assert any(u.startswith("ontology://gitlab-mcp/") for u in resources)
|
|
41
|
+
for path in ROOT.glob("prompts/*.json"):
|
|
42
|
+
if not path.name.startswith("_"):
|
|
43
|
+
assert path.stem in prompts
|
|
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
|
|
File without changes
|
{gitlab_api-27.3.4 → gitlab_api-27.3.5}/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.4 → gitlab_api-27.3.5}/gitlab_api/skills/gitlab-merge-request-create/SKILL.md
RENAMED
|
File without changes
|
{gitlab_api-27.3.4 → gitlab_api-27.3.5}/gitlab_api/skills/gitlab-merge-request-create/WORKFLOW.md
RENAMED
|
File without changes
|
{gitlab_api-27.3.4 → gitlab_api-27.3.5}/gitlab_api/skills/gitlab-merge-request-review/SKILL.md
RENAMED
|
File without changes
|
{gitlab_api-27.3.4 → gitlab_api-27.3.5}/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.4 → gitlab_api-27.3.5}/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
|