Model Registry
gitlab_model_registryDownload ML model files from GitLab Model Registry for inference, evaluation, or vendoring into build pipelines.
Instructions
Example: {"action":"download","params":{...}} For the params schema of any action, read the MCP resource gitlab://schema/meta/gitlab_model_registry/.
Download ML model package files from the GitLab Model Registry. Read-only — cannot publish or delete model versions through this tool. The underlying GitLab API requires a Premium/Ultimate plan on the target instance (server enforces it with 403); the tool itself is always registered and is not gated by GITLAB_ENTERPRISE. When to use: pull a model artifact (.pkl, .onnx, .safetensors, .bin, .gguf, etc.) attached to a registered model version, e.g. for inference, evaluation or vendoring into a build pipeline. NOT for: generic packages (use gitlab_package), container images (use gitlab_package registry_), release attachments (use gitlab_release link_), training jobs or experiment tracking, model publishing or versioning (not yet exposed through MCP).
Returns:
download: {file_name, model_version_id, size, content_base64} — binary content is base64-encoded; large models can produce very large responses. Errors: 404 (hint: project_id, model_version_id and path are model-registry-scoped; verify in the GitLab UI under Deploy → Model registry), 403 (hint: requires Reporter+ on the project and a Premium/Ultimate plan), 400 (hint: filename must match an asset attached to the version).
download: project_id*, model_version_id*, path*, filename*. Returns base64-encoded file content.
project_id (string | int, required) — numeric ID or URL-encoded full path of the project that owns the registered model.
model_version_id (int, required) — registered model version ID; visible in the GitLab UI under Deploy → Model registry → → Versions.
path (string, required) — package-relative directory of the asset (use '/' for the package root, otherwise e.g. 'artifacts/' or 'weights/').
filename (string, required) — exact asset filename within the package, including extension (e.g. 'model.safetensors', 'config.json').
Any unrecognized parameter name is rejected by the meta-tool router (strict unknown-field validation); only the reserved meta key 'confirm' is stripped before unmarshalling.
See also: gitlab_package (generic / npm / maven / conan / pypi / nuget / container packages), gitlab_release (asset links per release), gitlab_repository (raw files in the repo).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action to perform. Pick exactly one of the values in `enum`. Each action expects its own `params` object — see the tool description for the per-action parameter list. | |
| params | No | Action-specific parameters as a JSON object. Required and optional fields differ per action; consult this tool's description for the chosen action. Send only the fields documented for that action — unknown keys are rejected with a validation error (only reserved meta keys like `confirm` are stripped before validation). For the JSON Schema of a specific action's `params`, read the MCP resource `gitlab://schema/meta/{tool}/{action}` (replace placeholders with the tool name and the chosen action). |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| next_steps | No | Optional. Suggested follow-up actions or tool calls for the LLM, contextual to the result. | |
| pagination | No | Present on list actions. Use `has_more` and `next_page` to paginate through results. |