← gitlab-duo-mcp-bridge

gitlab-duo-mcp-bridge 0.3.0

npm · gitlab-duo-mcp-bridge · current release

1
Tools
0
Resources
0
Templates
0
Prompts

Observation

Observed 2026-08-23T00:35:25.513Z using mcpSecurity-inventory. Status: succeeded. Negotiated protocol: 2025-06-18.

Server capabilities
{
  "tools": {
    "listChanged": true
  }
}

Tools 1

ToolCategoryAnnotationsRisk
duo_reviewRun a code review with the GitLab Duo CLI and return a normalized, fault-tolerant result. Use this to get a 'second opinion' review of a diff or set of files: pass a unified `diff` (and/or `files`/`instructions`), and you get back a stable JSON structure with a `summary` and a list of `issues` (type, severity, file, line, message, suggestion). If Duo answers with prose instead of JSON, the result is still returned with `degraded: true` and the raw text in `summary`/`raw`. Your agent can then act on the issues (e.g. write fixes).
Input schema
{
  "type": "object",
  "properties": {
    "diff": {
      "type": "string",
      "description": "Unified diff to review (e.g. output of `git diff`)."
    },
    "files": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "File paths to focus the review on."
    },
    "instructions": {
      "type": "string",
      "description": "Extra free-form guidance for the reviewer."
    },
    "goal": {
      "type": "string",
      "description": "Override the entire prompt sent to Duo. When set, diff/files/instructions are ignored."
    },
    "cwd": {
      "type": "string",
      "description": "Working directory to run Duo in for this call."
    },
    "model": {
      "type": "string",
      "description": "Override the Duo model for this call."
    },
    "timeoutMs": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "description": "Override the run timeout (milliseconds) for this call."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Output schema
{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean",
      "description": "True when Duo exited successfully and did not time out."
    },
    "degraded": {
      "type": "boolean",
      "description": "True when output could not be parsed as JSON (raw text fallback)."
    },
    "summary": {
      "type": "string",
      "description": "Review summary, or raw text when degraded."
    },
    "issues": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string"
          },
          "severity": {
            "type": "string",
            "enum": [
              "critical",
              "high",
              "medium",
              "low",
              "info"
            ]
          },
          "file": {
            "type": [
              "string",
              "null"
            ]
          },
          "line": {
            "type": [
              "number",
              "null"
            ]
          },
          "message": {
            "type": "string"
          },
          "suggestion": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "type",
          "severity",
          "file",
          "line",
          "message",
          "suggestion"
        ],
        "additionalProperties": false
      },
      "description": "Normalized list of findings."
    },
    "raw": {
      "type": "string",
      "description": "Raw (truncated) Duo output for debugging."
    },
    "meta": {
      "type": "object",
      "properties": {
        "commandLine": {
          "type": "string"
        },
        "exitCode": {
          "type": [
            "number",
            "null"
          ]
        },
        "timedOut": {
          "type": "boolean"
        },
        "durationMs": {
          "type": "number"
        },
        "mock": {
          "type": "boolean"
        },
        "parseError": {
          "type": [
            "string",
            "null"
          ]
        },
        "goalViaFile": {
          "type": "boolean"
        }
      },
      "required": [
        "commandLine",
        "exitCode",
        "timedOut",
        "durationMs",
        "mock",
        "parseError",
        "goalViaFile"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "ok",
    "degraded",
    "summary",
    "issues",
    "raw",
    "meta"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —

Resources 0

Resource templates 0

Prompts 0

Let’s talk about MCP security.

Share your details and our security team will contact you.