Skip to main content
Glama
mcp-github-gitlab-pr-security-and-compliance-reviewer

mcp-github-gitlab-pr-security-and-compliance-reviewer

mcp-github-gitlab-pr-security-and-compliance-reviewer

Zero-Cost Deterministic GitHub & GitLab Pull Request Security, OWASP, WCAG 2.2 AA & SOC 2 Compliance Reviewer MCP Server

๐ŸŒ Live Interactive Storefront & Instant URL Grader: https://ronanchnlps-bit.github.io | ๐Ÿ“Š 200 Live Enterprise Audit Dossiers: https://ronanchnlps-bit.github.io/dossiers/index.html

โšก Instant Zero-Install Execution (npx)

npx -y github:ronanchnlps-bit/mcp-github-gitlab-pr-security-and-compliance-reviewer --help

Related MCP server: Security & GRC MCP Server

๐Ÿ’ณ Commercial Licensing & 48-Hour Done-For-You Remediation Sprints (Zero-Call Async Checkout)

Tier

Deliverable

Price

Instant Checkout (PayPal / Card)

1. Pro Commercial License

Unlimited CI/CD & Production Repos + Commercial SARIF/VPAT Export

$49.00

๐Ÿ’ณ Buy Pro License ($49.00) โ†’

2. Instant Quick-Fix Patch Pack

Pre-Built Edge Worker + /llms.txt + security.txt + Draft VPAT 2.5

$99.00

๐Ÿ”ฅ Buy Instant Patch Pack ($99) โ†’

3. 48-Hour Done-For-You Sprint

Full Turnkey Pull Request Remediation + Signed ITI VPAT 2.5 ACR + 7-Day SLA

$1,497.00

โšก Order 48h Done-For-You Sprint ($1,497) โ†’

4. Continuous Monthly Retainer

Automated Weekly Drift Scans + PR Gatekeeping + Certificate Renewal

$299/mo

๐Ÿ”„ Activate Monthly Retainer ($299/mo) โ†’


๐Ÿ›ก๏ธ MCP GitHub / GitLab PR Diff Security, Secret Leak & WCAG Compliance Reviewer

Commercial-Grade Model Context Protocol (MCP) Server, CLI & Interactive Studio for Automated Pull Request DevSecOps Auditing
Inspects unified Git diffs (.patch / git diff), staged commits, and CI/CD pull request payloads across 4 Simultaneous DevSecOps & Compliance Gates with Zero API Cost and 100% Local Execution.

Smithery MCP Glama MCP NPM Version OASIS SARIF v2.1.0 License: MIT


๐Ÿ’ผ Commercial Positioning & Problem Solved

Modern engineering teams building with Claude Desktop, Cursor, Windsurf, and GitHub Copilot face a compounding PR review bottleneck:

  1. Secret & Key Infiltration: AI code generation frequently autofills hardcoded API keys (sk_live_..., AKIA..., ghp_..., eyJ...) into frontend and backend diffs.

  2. Injection Vulnerabilities: Accidental unparameterized SQL concatenation, dangerouslySetInnerHTML bypasses, and unvalidated SSRF fetches slip past manual reviews.

  3. Accessibility & Regulatory Lawsuits: Under the European Accessibility Act (EU EAA) and ADA Title II, missing alt tags, keyboard focus removals (outline-none), and non-interactive div click handlers trigger substantial statutory fines.

  4. EU AI Act Article 50 & Database Exposure: Added LLM chatbot components lacking mandatory AI transparency notices violate EU Art. 50, and new PostgreSQL tables deployed without Row Level Security (RLS) expose private tenant data through PostgREST/GraphQL.

Existing cloud SaaS solutions (Snyk, SonarCloud) charge thousands per seat and require outbound code uploads.
mcp-github-gitlab-pr-security-and-compliance-reviewer runs entirely locally on your workstation or CI runner at zero API cost, delivering instant PR risk scores, committable inline GitHub/GitLab suggestion diffs, and OASIS SARIF v2.1.0 exports.


๐Ÿš€ The 4 Simultaneous DevSecOps & Compliance Gates

                               โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                               โ”‚           Unified Git Diff (.patch / PR Diff)          โ”‚
                               โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                                                           โ”‚
              โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
              โ–ผ                        โ–ผ                                    โ–ผ                        โ–ผ
      โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”        โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”                    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”        โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
      โ”‚    Gate 1     โ”‚        โ”‚    Gate 2     โ”‚                    โ”‚    Gate 3     โ”‚        โ”‚    Gate 4     โ”‚
      โ”‚ Secret Leaks  โ”‚        โ”‚ OWASP Top 10  โ”‚                    โ”‚ WCAG 2.2 AA   โ”‚        โ”‚ EU AI Act &   โ”‚
      โ”‚ & Credentials โ”‚        โ”‚  & Injections โ”‚                    โ”‚  & EU EAA     โ”‚        โ”‚ Database RLS  โ”‚
      โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜        โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜        โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
              โ”‚                        โ”‚                                    โ”‚                        โ”‚
              โ–ผ                        โ–ผ                                    โ–ผ                        โ–ผ
         โ€ข AWS AKIA               โ€ข SQLi Concat                        โ€ข Missing img alt        โ€ข EU AI Act Art. 50
         โ€ข Stripe Live            โ€ข eval() / Function()                โ€ข Button type/label        disclosure notice
         โ€ข Supabase JWT           โ€ข Raw dangerous HTML                 โ€ข outline-none focus     โ€ข CREATE TABLE
         โ€ข OpenAI/Claude          โ€ข SSRF fetch(req.query)              โ€ข div onClick a11y         without ENABLE
         โ€ข GitHub PAT             โ€ข Path traversal                     โ€ข Undersized targets       ROW LEVEL SECURITY
         โ€ข PEM Private Keys       โ€ข Insecure Cookies                     (<44x44px)
              โ”‚                        โ”‚                                    โ”‚                        โ”‚
              โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                                                           โ”‚
                                                           โ–ผ
                                      โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                                      โ”‚ PR Risk Score (0โ€“100) & Merge Decision   โ”‚
                                      โ”‚ โ€ข BLOCK_MERGE_CRITICAL (Score >= 70)     โ”‚
                                      โ”‚ โ€ข CHANGES_REQUESTED    (Score >= 40)     โ”‚
                                      โ”‚ โ€ข APPROVED_WITH_ADVISORIES               โ”‚
                                      โ”‚ โ€ข CLEAN_APPROVAL                         โ”‚
                                      โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                                                           โ”‚
                              โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                              โ–ผ                            โ–ผ                            โ–ผ
                    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”         โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”         โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                    โ”‚ Committable Fix  โ”‚         โ”‚  GitHub / GitLab โ”‚         โ”‚  OASIS SARIF     โ”‚
                    โ”‚ ```suggestion    โ”‚         โ”‚  Markdown Review โ”‚         โ”‚  v2.1.0 JSON     โ”‚
                    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜         โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜         โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Gate 1: Secret & Credential Leak Detection

  • AWS Access Keys: Identifies AKIA[0-9A-Z]{16} and suggests process.env.AWS_ACCESS_KEY_ID.

  • Stripe Live Keys: Intercepts sk_live_[0-9a-zA-Z]{24,} and rk_live_....

  • Supabase Service Role JWTs: Intercepts high-privilege service-role tokens that bypass RLS.

  • AI Model Keys: Catches OpenAI (sk-..., sk-proj-...) and Anthropic Claude (sk-ant-api...).

  • GitHub PATs: Detects classic ghp_... and fine-grained github_pat_... tokens.

  • Slack Incoming Webhooks: Identifies private team channel webhooks.

  • Private Cryptographic Keys: Detects committed -----BEGIN RSA/EC PRIVATE KEY-----.

  • High-Entropy Secrets: Analyzes Shannon entropy ($\ge 3.0$) on sensitive key assignments (api_key, secret, password).

Gate 2: OWASP Top 10 & Injection Vulnerability Scanner

  • SQL Injection (CWE-89 / OWASP A03): Catches unparameterized string concatenation and template literal variable interpolations in query executions (query("SELECT * FROM users WHERE id = '" + id + "'")). Generates parameterized $1, $2 replacement diffs.

  • Dynamic Code Execution (CWE-95): Flags eval(), new Function(), and timer string concatenation.

  • Cross-Site Scripting (XSS / CWE-79): Intercepts dangerouslySetInnerHTML lacking DOMPurify.sanitize(...).

  • Server-Side Request Forgery (SSRF / CWE-918): Flags outbound fetch(req.query.url) and axios calls dispatched without hostname allowlist verification.

  • Path Traversal (CWE-22 / OWASP A01): Catches unsanitized file system reads (fs.readFileSync(path.join('/tmp', req.query.file))).

  • Insecure Cookies (CWE-614 / OWASP A05): Flags res.cookie() invocations missing httpOnly: true or secure: true.

Gate 3: WCAG 2.2 AA & EU EAA UI Diff Gate

  • Image Accessibility (WCAG 1.1.1 / EU EAA EN 301 549): Scans added JSX/TSX/Vue/HTML lines for <img> and <Image> tags lacking an alt attribute.

  • Button Name & Type (WCAG 4.1.2): Flags <button> elements missing explicit type="button"|"submit" or missing accessible screen-reader labels (aria-label).

  • Focus Indicator Suppression (WCAG 2.4.7): Detects outline-none or focus:outline-none used without visible focus rings (focus-visible:ring-2).

  • Non-Interactive Click Handlers (WCAG 2.1.1): Catches onClick listeners placed on <div> or <span> without role="button", tabIndex, or keyboard handlers.

  • Touch Target Size (WCAG 2.2 SC 2.5.8): Flags undersized buttons (<44x44px) lacking required touch padding.

Gate 4: EU AI Act Art. 50 & Database RLS Diff Gate

  • EU AI Act Article 50 (Transparency Obligations): Flags new AI/LLM conversational UI components (<AiAssistant>, <ChatBot>, useChat) that do not disclose to natural persons that they are interacting with an AI system (aria-label="AI-generated response" data-ai-generated="true").

  • PostgreSQL / Supabase Row Level Security (RLS): Flags added CREATE TABLE DDL migration statements lacking corresponding ALTER TABLE <name> ENABLE ROW LEVEL SECURITY;.


๐Ÿ› ๏ธ MCP Tools Reference (Stdio JSON-RPC 2.0)

When configured inside Claude Desktop, Cursor, or Windsurf, the reviewer exposes 4 Native MCP Tools:

MCP Tool Name

Description

Key Parameters

review_git_diff

Full 4-gate audit returning prRiskScore (0-100), mergeDecision, categorized findings, and a formatted PR review comment.

diff (string, required), failOnSeverity (CRITICAL, HIGH, MEDIUM)

scan_diff_for_secrets

Fast credential leak scan returning detected keys and exact .env replacement diffs.

diff (string, required)

generate_github_pr_suggestions

Generates committable GitHub/GitLab ```suggestion blocks mapped to target files and exact new-file line numbers.

diff (string, required)

export_pr_sarif_report

Generates standard OASIS SARIF v2.1.0 JSON format for GitHub Advanced Security and CI/CD code scanning dashboards.

diff (string, required), toolName (string, optional)


โš™๏ธ Quickstart & Installation

1. Claude Desktop Configuration

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "pr-security-reviewer": {
      "command": "npx",
      "args": ["-y", "mcp-github-gitlab-pr-security-and-compliance-reviewer"]
    }
  }
}

2. Cursor IDE Configuration

In Cursor Settings > Features > MCP, click Add New MCP Server:

  • Name: pr-security-reviewer

  • Type: command

  • Command: npx -y mcp-github-gitlab-pr-security-and-compliance-reviewer

3. CLI Usage

Run directly from terminal or in git hooks:

# Audit active unstaged or staged git diff
git diff | npx mcp-pr-reviewer --fail-on CRITICAL

# Audit PR diff between feature branch and main
git diff origin/main...HEAD | npx mcp-pr-reviewer --format markdown

# Audit a saved .patch file and export SARIF report
npx mcp-pr-reviewer --file ./pr.patch --format sarif --output ./pr-security.sarif.json

# Test with built-in enterprise PR scenario
npx mcp-pr-reviewer --preset 1 --format markdown

# Launch/build interactive Dark UI Studio
npx mcp-pr-reviewer --studio

๐Ÿค– GitHub Actions CI/CD Integration

Block insecure pull requests automatically in your repository:

# .github/workflows/pr-security-gate.yml
name: PR DevSecOps & Compliance Gate

on:
  pull_request:
    types: [opened, synchronize, reopened]

jobs:
  security-audit:
    runs-on: ubuntu-latest
    permissions:
      contents: read
      pull-requests: write
      security-events: write

    steps:
      - name: Checkout Code
        uses: actions/checkout@v4
        with:
          fetch-depth: 0

      - name: Setup Node.js
        uses: actions/setup-node@v4
        with:
          node-version: 20

      - name: Generate PR Unified Diff
        run: git diff ${{ github.event.pull_request.base.sha }} ${{ github.event.pull_request.head.sha }} > pr.diff

      - name: Run MCP PR Reviewer Audit
        run: |
          npx mcp-github-gitlab-pr-security-and-compliance-reviewer \
            --file pr.diff \
            --format sarif \
            --output pr-audit.sarif.json \
            --fail-on CRITICAL

      - name: Upload SARIF to GitHub Code Scanning
        if: always()
        uses: github/codeql-action/upload-sarif@v3
        with:
          sarif_file: pr-audit.sarif.json

๐ŸŽจ Interactive Studio (dist/mcp-pr-security-studio.html)

The package includes an Interactive Dark UI PR Diff Security & Compliance Studio adhering to strict Frontend Craftsmanship standards:

  • Zero generic AI tropes: Clean #090D14 canvas, #111827 surface, 1px #1E293B borders, and high-contrast semantic tokens (Emerald #10B981, Rose #F43F5E, Amber #F59E0B, Sky #0EA5E9).

  • 4 Built-In Enterprise Scenarios: Switch between critical leaks, AI Act transparency issues, Express SSRF risks, and 100% clean production PRs with one click.

  • In-Browser Diff Auditing: Paste any custom git diff and audit it instantly in-browser.

  • One-Click Exports: Copy committable GitHub suggestions, full PR review comments, or download standard SARIF v2.1.0 reports.

To open the studio:

npm run demo
# Open dist/mcp-pr-security-studio.html in your browser

๐Ÿงช Comprehensive Verification Suite

Product 62 is backed by 45 automated tests covering line number tracking, all 4 gates, committable suggestions, SARIF schema compliance, MCP JSON-RPC protocol, and CLI execution:

npm test -- --run
 โœ“ tests/pr-diff-engine.test.js (45)
   โœ“ Unified Git Diff Parsing & Hunk Extraction (6)
   โœ“ Gate 1: Secret & Credential Leak Detection (9)
   โœ“ Gate 2: OWASP Top 10 & Injection Vulnerability Scanner (8)
   โœ“ Gate 3: WCAG 2.2 AA & EU EAA UI Diff Gate (5)
   โœ“ Gate 4: EU AI Act Art. 50 & Database RLS Diff Gate (4)
   โœ“ Risk Scoring, Merge Decisions & Suggestion Formatting (5)
   โœ“ SARIF v2.1.0 Export (2)
   โœ“ MCP Server & Tool Handlers (5)
   โœ“ Interactive Studio HTML Generation (1)

 Test Files  1 passed (1)
      Tests  45 passed (45)

๐Ÿ“„ License & Commercial Support

Licensed under the MIT License.
Part of the Prong 2 Commercial Marketplace Suite. Available for standalone enterprise licensing, custom gate rule authoring, and private MCP deployment on Smithery.ai and Glama.ai.

Available Tools

4 tools
export_pr_sarif_reportB

Converts git diff audit results into standard OASIS SARIF v2.1.0 format for native integration into GitHub Advanced Security, GitLab Code Quality, and CI/CD security dashboards.

NameRequiredDescriptionDefault
diffYesUnified git diff string to audit and export as SARIF v2.1.0 JSON.
toolNameNoOptional custom tool name for the SARIF driver.

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It usefully discloses the output format (SARIF v2.1.0) and target consumers, but leaves key behavior unstated: whether the tool performs the audit itself or only formats pre-computed results, whether it writes a file or returns a string, and whether any permissions or side effects apply.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single dense sentence that front-loads the conversion and immediately names the output standard and integrations; no wasted wording. Mildly loose phrasing ('git diff audit results') is the only blemish.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter tool with no annotations and no output schema, the definition covers what the output is but not how it is delivered (returned JSON vs. written artifact) or how the audit step relates to the conversion, leaving an agent to infer the return behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so both parameters (diff, toolName) are already documented in the schema. The description adds no meaning beyond that baseline and does not explain the optional toolName driver field or expected diff format.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Converts') and resource (git diff audit results) plus a concrete output standard (OASIS SARIF v2.1.0). Slight imprecision: the input schema says the parameter is a raw unified diff, not 'audit results', and no sibling (scan_diff_for_secrets, review_git_diff, generate_github_pr_suggestions) is named for differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage context is only implied through the destination list (GitHub Advanced Security, GitLab Code Quality, CI/CD dashboards), which suggests 'use when you need SARIF output'. There is no explicit when-to-use vs. the three sibling tools and no statement of prerequisites or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_github_pr_suggestionsB

Generates committable GitHub/GitLab inline review suggestions (```suggestion blocks) mapped to exact target files and new-file line numbers for all security, injection, WCAG, and AI Act compliance findings.

NameRequiredDescriptionDefault
diffYesUnified git diff string to generate committable code suggestions for.

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden, and it does disclose the output shape (```suggestion blocks anchored to exact target files and new-file line numbers) and the finding taxonomy, which is genuinely useful. However, it does not say whether anything is posted back to GitHub/GitLab or whether output is purely returned text, nor does it mention repo context requirements, size limits, or determinism of the generated suggestions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One tightly packed sentence with the artifact type front-loaded and no redundant filler. It is dense but every clause carries information; the only mild cost is that the finding list and mapping details run together in a single breath.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description must carry the return contract, and it only partially does โ€“ it names the artifact (suggestion blocks mapped to file/line) but not the container format (markdown text, JSON array, etc.) or how multiple findings are ordered/grouped. For a moderately complex generation tool that's adequate but leaves a real gap an agent would want closed before invoking it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single parameter has 100% schema description coverage ('Unified git diff string'), so the schema already does the heavy lifting. The description adds only the notion that findings must map to new-file line numbers, not any diff format or syntax guidance beyond the schema; baseline 3 applies for this near-zero parameter count.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and artifact: 'Generates committable GitHub/GitLab inline review suggestions (```suggestion blocks)' mapped to files and line numbers, and it scopes the findings to security, injection, WCAG, and AI Act categories. This clearly separates it from scan_diff_for_secrets and export_pr_sarif_report, though it never names review_git_diff as the non-suggestion alternative.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: the word 'committable' hints that this is the tool to pick when you want apply-ready patch suggestions rather than a plain review or SARIF export. There is no explicit when-to-use statement, no prerequisite (e.g., must the diff be unified/complete?), and no named alternative to route away from.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

review_git_diffA

Performs a full multi-gate DevSecOps and compliance audit of a unified git diff (.patch / git diff / PR payload). Returns prRiskScore (0-100), mergeDecision (BLOCK_MERGE_CRITICAL, CHANGES_REQUESTED, APPROVED_WITH_ADVISORIES, CLEAN_APPROVAL), categorized findings, and a formatted GitHub review comment.

NameRequiredDescriptionDefault
diffYesThe unified git diff string to audit (e.g. output from git diff, git show, or PR .patch).
failOnSeverityNoMinimum severity required to trigger a blocking merge decision (default: CRITICAL).

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden, and it does add real value by disclosing the decision model (BLOCK_MERGE_CRITICAL through CLEAN_APPROVAL) and that it returns a formatted comment rather than posting one. However, it omits operational traits an auditor would need: whether external services are contacted, diff size limits, latency, or determinism.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two dense sentences, front-loaded with the action and followed by the return contract; nothing is redundant. The enum list is verbose but functional, and the jargon-heavy phrasing is the only mild drag.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, and the description compensates by naming the primary return fields and the full decision vocabulary, which is the main thing an agent needs. It falls short only on the failOnSeverity/threshold relationship and any practical limits on diff size or cost.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and both parameters are fully documented in-schema, so baseline 3 applies. The description never mentions failOnSeverity, which materially changes which mergeDecision tier fires โ€” a missed opportunity to explain how the threshold interacts with the returned decision.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource โ€” auditing a unified git diff (.patch / git diff / PR payload) โ€” and enumerates concrete outputs (prRiskScore, mergeDecision tiers, findings, formatted review comment). It implicitly distinguishes itself from scan_diff_for_secrets by calling itself a 'full multi-gate' audit, but never names siblings explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: 'full multi-gate DevSecOps and compliance audit' suggests this is the comprehensive option versus narrower siblings, but there is no explicit 'use this when / use X instead' guidance or stated prerequisites. An agent must infer the routing from wording rather than being told.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

scan_diff_for_secretsB

Scans added git diff lines for hardcoded credentials (AWS, Stripe, Supabase JWT, OpenAI, Anthropic, GitHub PAT, Slack webhooks, PEM keys, high-entropy secrets) and returns exact .env replacement diffs.

NameRequiredDescriptionDefault
diffYesUnified git diff to inspect for credentials and secret leaks.

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden: it discloses the detection categories and the return artifact (replacement .env diffs), which is genuinely useful. It does not state that the operation is non-mutating/read-only, whether findings include line numbers or severity, or how false positives/high-entropy matches are handled.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One dense sentence, front-loaded with the verb and scope, with the detection list and output type attached without filler. Every clause earns its place and nothing is redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter, read-only analysis tool with no output schema, the description covers input expectations and the shape of the result (replacement diffs) well enough to call it. Missing only the reporting details (line references, severity, empty-result behavior) that an agent would want before relying on the output.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% with a single required parameter, so the schema already defines that a unified git diff goes in. The description adds only a slight nuance by emphasizing 'added' lines are scanned, which implies context lines are ignored; nothing beyond that is contributed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('scans') plus resource ('added git diff lines') and enumerates the credential families it detects, then names the deliverable ('.env replacement diffs'). It is unmistakably distinct in intent from review_git_diff, but never names or contrasts with that sibling, so differentiation is inferred rather than stated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use / when-not-to-use guidance and no mention of the sibling tools (review_git_diff, generate_github_pr_suggestions) that an agent must choose between. The only usage signal is 'added git diff lines', which narrows scope but does not tell the agent when this tool is the right pick.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 4 tool updatesv1.0.0
    • First observedexport_pr_sarif_report
    • First observedgenerate_github_pr_suggestions
    • First observedreview_git_diff
    • First observedscan_diff_for_secrets

TDQS

A3.7/5.0

Scored across 4 tools

Disambiguation4/5

The tools target mostly distinct outputs: secret scanning with .env replacements, full diff audit, inline review suggestions, and SARIF export. There is minor potential overlap because review_git_diff performs a broad security audit that may include secret-related findings, but the specialized replacement-diff behavior of scan_diff_for_secrets helps distinguish it.

Naming Consistency5/5

All tool names use snake_case and begin with a clear action verb: scan, review, generate, export. The object/context phrasing varies slightly but remains predictable and readable.

Tool Count5/5

Four tools are well-scoped for a focused PR security and compliance review workflow. Each tool has a distinct role in the pipeline: detect secrets, audit the diff, generate suggestions, and export findings.

Completeness4/5

The surface covers the core review flow from diff input through secret detection, audit, remediation suggestions, and SARIF export. Minor gaps remain around directly fetching PRs/diffs or posting review comments back to GitHub/GitLab, but these may be outside the intended diff-processing scope.

Maintenance

ActivityMaintained
ResponsivenessNo recent community issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI-powered, zero-trust code review with multiple models, supporting single files, git diffs, and multiple files, with security, performance, and architecture checks across 10+ languages.
    15
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables local security scanning and compliance gap analysis for code and text, detecting secrets, PII, and OWASP vulnerabilities, and assessing readiness across major frameworks like NCA, ISO 27001, NIST CSF, and SOC 2.
    -
  • A
    license
    D
    quality
    D
    maintenance
    Enables AI agents to perform security audits on pull request diffs by detecting secrets, dangerous code patterns, and new dependencies, outputting structured JSON for generating PR review comments.
    1
    MIT