github Python analyzed 2141746

Knuckles-Team/gitlab-api

github

GitLab MCP Server and Python API Wrapper

maintainer
Knuckles-Team
license
MIT
first seen
2026-06-04
last seen
2026-08-28
releases · 30d
0
short id

Drift inferred · capture-to-capture

No drift recorded — single capability capture; advisories appear once its surface changes.

capabilities 34 tools
transport stdio · streamable-http · http · sse counts 34 tools · 0 res · 0 prompts permission surface via code analysis

tools

  • api_request
  • gitlab_branches
  • gitlab_commits
  • gitlab_deploy_tokens
  • gitlab_discover_graphql_schema
  • gitlab_environments
  • gitlab_epics
  • gitlab_graphql
  • gitlab_graphql_ops
  • gitlab_groups
  • gitlab_ingest_pipelines
  • gitlab_ingest_projects
  • gitlab_instances
  • gitlab_issues
  • gitlab_jobs
  • gitlab_labels
  • gitlab_members
  • gitlab_merge_requests
  • gitlab_merge_rules
  • gitlab_milestones
  • gitlab_namespaces
  • gitlab_notes
  • gitlab_packages
  • gitlab_pipeline_schedules
  • gitlab_pipelines
  • gitlab_projects
  • gitlab_protected_branches
  • gitlab_releases
  • gitlab_runners
  • gitlab_snippets
  • gitlab_tags
  • gitlab_users
  • gitlab_vulnerabilities
  • gitlab_wiki
skills & danger signals github-tarball
code evidence vv26.4.0 · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

code files: 57

filesystem 8

  • fs Knuckles-Team-gitlab-api-2141746/.security/authenticated_negative.py :10 from pathlib import Path
  • fs Knuckles-Team-gitlab-api-2141746/.security/repository_fuzz.py :10 from pathlib import Path
  • fs (weak) Knuckles-Team-gitlab-api-2141746/scripts/check_import_safety.py :51 from pathlib import Path
  • fs (weak) Knuckles-Team-gitlab-api-2141746/scripts/security_contract.py :23 from pathlib import Path
  • fs (weak) Knuckles-Team-gitlab-api-2141746/scripts/security_sanitizer.py :6 from pathlib import Path
  • fs (weak) Knuckles-Team-gitlab-api-2141746/scripts/verify_api_integration.py :38 with open(filepath, "r", encoding="utf-8") as f:
  • fs (weak) Knuckles-Team-gitlab-api-2141746/tests/test_concept_parity.py :18 with open(filepath, encoding="utf-8") as f:
  • fs (weak) Knuckles-Team-gitlab-api-2141746/tests/test_init_dynamics.py :12 import pathlib

shell / exec 3

  • shell (weak) Knuckles-Team-gitlab-api-2141746/scripts/security_contract.py :21 import subprocess
  • shell (weak) Knuckles-Team-gitlab-api-2141746/scripts/security_sanitizer.py :4 import subprocess
  • shell (weak) Knuckles-Team-gitlab-api-2141746/tests/test_verify_agent.py :9 import subprocess

network 17

  • net Knuckles-Team-gitlab-api-2141746/gitlab_api/api/api_client_base.py :7 import requests
  • net Knuckles-Team-gitlab-api-2141746/gitlab_api/api/api_client_environments.py :5 import requests
  • net Knuckles-Team-gitlab-api-2141746/gitlab_api/api/api_client_projects.py :5 import requests
  • net Knuckles-Team-gitlab-api-2141746/gitlab_api/api/api_client_users_groups.py :5 import requests
  • net Knuckles-Team-gitlab-api-2141746/gitlab_api/api/api_client_vulnerabilities.py :5 import requests
  • net Knuckles-Team-gitlab-api-2141746/gitlab_api/connector_prep.py :30 from urllib.parse import urlsplit
  • net Knuckles-Team-gitlab-api-2141746/gitlab_api/gitlab_response_models.py :7 import requests
  • net Knuckles-Team-gitlab-api-2141746/gitlab_api/instances.py :19 from urllib.parse import urlparse
  • net Knuckles-Team-gitlab-api-2141746/gitlab_api/mcp_server.py :13 from requests.exceptions import RequestsDependencyWarning
  • net (weak) Knuckles-Team-gitlab-api-2141746/scripts/validate_a2a_agent.py :7 import httpx
  • net (weak) Knuckles-Team-gitlab-api-2141746/tests/conftest.py :26 from requests import Response
  • net (weak) Knuckles-Team-gitlab-api-2141746/tests/test_auth.py :4 from requests import Response
  • net (weak) Knuckles-Team-gitlab-api-2141746/tests/test_gitlab_a2a_validation.py :7 import requests
  • net (weak) Knuckles-Team-gitlab-api-2141746/tests/test_gitlab_mcp_validation.py :5 import requests
  • net (weak) Knuckles-Team-gitlab-api-2141746/tests/test_mock_coverage.py :6 import requests
  • net (weak) Knuckles-Team-gitlab-api-2141746/tests/test_verify_agent.py :12 import requests
  • net (weak) Knuckles-Team-gitlab-api-2141746/tests/verify_a2a_queries.py :5 import requests

secrets 3

  • secrets Knuckles-Team-gitlab-api-2141746/gitlab_api/instances.py :73 token = os.getenv("GITLAB_TOKEN")
  • secrets (weak) Knuckles-Team-gitlab-api-2141746/scripts/validate_agent.py :25 api_key=os.getenv("LLM_API_KEY", "ollama"),
  • secrets (weak) Knuckles-Team-gitlab-api-2141746/tests/test_api_wrapper.py :30 token = os.environ.get("GITLAB_TOKEN", default="NA")

tool registrations 34

  • gitlab_instances Knuckles-Team-gitlab-api-2141746/gitlab_api/mcp_server.py :458
  • gitlab_ingest_projects Knuckles-Team-gitlab-api-2141746/gitlab_api/mcp_server.py :489
  • gitlab_ingest_pipelines Knuckles-Team-gitlab-api-2141746/gitlab_api/mcp_server.py :515
  • gitlab_branches Knuckles-Team-gitlab-api-2141746/gitlab_api/mcp_server.py :564
  • gitlab_protected_branches Knuckles-Team-gitlab-api-2141746/gitlab_api/mcp_server.py :584
  • gitlab_commits Knuckles-Team-gitlab-api-2141746/gitlab_api/mcp_server.py :604
  • gitlab_deploy_tokens Knuckles-Team-gitlab-api-2141746/gitlab_api/mcp_server.py :624
  • gitlab_environments Knuckles-Team-gitlab-api-2141746/gitlab_api/mcp_server.py :644
  • gitlab_groups Knuckles-Team-gitlab-api-2141746/gitlab_api/mcp_server.py :664
  • gitlab_jobs Knuckles-Team-gitlab-api-2141746/gitlab_api/mcp_server.py :684
  • gitlab_members Knuckles-Team-gitlab-api-2141746/gitlab_api/mcp_server.py :704
  • gitlab_merge_requests Knuckles-Team-gitlab-api-2141746/gitlab_api/mcp_server.py :724
  • gitlab_merge_rules Knuckles-Team-gitlab-api-2141746/gitlab_api/mcp_server.py :744
  • gitlab_packages Knuckles-Team-gitlab-api-2141746/gitlab_api/mcp_server.py :764
  • gitlab_pipelines Knuckles-Team-gitlab-api-2141746/gitlab_api/mcp_server.py :784
  • gitlab_pipeline_schedules Knuckles-Team-gitlab-api-2141746/gitlab_api/mcp_server.py :804
  • gitlab_projects Knuckles-Team-gitlab-api-2141746/gitlab_api/mcp_server.py :824
  • gitlab_releases Knuckles-Team-gitlab-api-2141746/gitlab_api/mcp_server.py :844
  • gitlab_runners Knuckles-Team-gitlab-api-2141746/gitlab_api/mcp_server.py :864
  • gitlab_tags Knuckles-Team-gitlab-api-2141746/gitlab_api/mcp_server.py :884
  • gitlab_labels Knuckles-Team-gitlab-api-2141746/gitlab_api/mcp_server.py :904
  • gitlab_milestones Knuckles-Team-gitlab-api-2141746/gitlab_api/mcp_server.py :924
  • gitlab_snippets Knuckles-Team-gitlab-api-2141746/gitlab_api/mcp_server.py :944
  • gitlab_notes Knuckles-Team-gitlab-api-2141746/gitlab_api/mcp_server.py :964
  • gitlab_epics Knuckles-Team-gitlab-api-2141746/gitlab_api/mcp_server.py :984
  • gitlab_issues Knuckles-Team-gitlab-api-2141746/gitlab_api/mcp_server.py :1004
  • api_request Knuckles-Team-gitlab-api-2141746/gitlab_api/mcp_server.py :1024
  • gitlab_users Knuckles-Team-gitlab-api-2141746/gitlab_api/mcp_server.py :1058
  • gitlab_wiki Knuckles-Team-gitlab-api-2141746/gitlab_api/mcp_server.py :1078
  • gitlab_namespaces Knuckles-Team-gitlab-api-2141746/gitlab_api/mcp_server.py :1098
  • gitlab_vulnerabilities Knuckles-Team-gitlab-api-2141746/gitlab_api/mcp_server.py :1118
  • gitlab_graphql Knuckles-Team-gitlab-api-2141746/gitlab_api/mcp_server.py :1197
  • gitlab_discover_graphql_schema Knuckles-Team-gitlab-api-2141746/gitlab_api/mcp_server.py :1235
  • gitlab_graphql_ops Knuckles-Team-gitlab-api-2141746/gitlab_api/mcp_server.py :1283

declared dependencies 8

  • agent-utilities@>=2.0.0,<3.0.0
  • python-dotenv@>=1.2.2
  • gql@>=4.0.0
  • gitlab-api@>=27.1.0
  • pytest-xdist@>=3.8.0
  • pytest@>=9.1.1
  • pytest-asyncio@>=1.4.0
  • pytest-cov@>=7.1.0