Skip to main content

MCP Server For Garak LLM Vulnerability Scanner

A lightweight MCP (Model Context Protocol) server for Garak.

Example:

https://github.com/user-attachments/assets/f6095d26-2b79-4ef7-a889-fd6be27bbbda


Tools Provided

Overview

Name Description
list_model_types List all available model types (ollama, openai, huggingface, ggml)
list_models List all available models for a given model type
list_garak_probes List all available Garak attacks/probes
get_report Get the report of the last run
run_attack Run an attack with a given model and probe

Detailed Description

  • list_model_types

    • List all available model types that can be used for attacks
    • Returns a list of supported model types (ollama, openai, huggingface, ggml)
  • list_models

    • List all available models for a given model type
    • Input parameters:
      • model_type (string, required): The type of model to list (ollama, openai, huggingface, ggml)
    • Returns a list of available models for the specified type
  • list_garak_probes

    • List all available Garak attacks/probes
    • Returns a list of available probes/attacks that can be run
  • get_report

    • Get the report of the last run
    • Returns the path to the report file
  • run_attack

    • Run an attack with the given model and probe
    • Input parameters:
      • model_type (string, required): The type of model to use
      • model_name (string, required): The name of the model to use
      • probe_name (string, required): The name of the attack/probe to use
    • Returns a list of vulnerabilities found

Prerequisites

  1. Python 3.11 or higher: This project requires Python 3.11 or newer.

    # Check your Python version
    python --version
    
  2. Install uv: A fast Python package installer and resolver.

    pip install uv
    

    Or use Homebrew:

    brew install uv
    
  3. Optional: Ollama: If you want to run attacks on ollama models be sure that the ollama server is running.

ollama serve

Installation

  1. Clone this repository:
git clone https://github.com/BIGdeadLock/Garak-MCP.git
  1. Configure your MCP Host (Claude Desktop ,Cursor, etc):
{
  "mcpServers": {
    "garak-mcp": {
      "command": "uv",
      "args": ["--directory", "path-to/Garak-MCP", "run", "garak-server"],
      "env": {}
    }
  }
}

Tested on:

  • Cursor
  • Claude Desktop

Running Vulnerability Scans

You can run Garak vulnerability scans directly using the included CLI tool.

Prerequisites for Scanning

  1. Ollama must be running:

    ollama serve
    
  2. Pull a model to scan:

    ollama pull llama2
    

Using the CLI Scanner

After installation, you can use the garak-scan command:

# List available Ollama models
uv run garak-scan --list-models

# Scan a specific model with all probes
uv run garak-scan --model llama2

# Scan with specific probes
uv run garak-scan --model llama2 --probes encoding

# Scan with custom output directory
uv run garak-scan --model llama2 --output-dir ./my_scans

# Run multiple parallel attempts
uv run garak-scan --model llama2 --parallel-attempts 4

Scan Results

Scan results are saved in the output/ directory (or your specified directory) as JSONL files. Each scan creates a timestamped report file:

output/scan_llama2_20250125_143022.report.jsonl

GitHub Actions Integration

This repository includes a GitHub Actions workflow that automatically runs vulnerability scans:

  • Triggers: Push to main/master, pull requests, weekly schedule (Mondays at 2am UTC)
  • Manual runs: Go to Actions → Garak LLM Vulnerability Scan → Run workflow
  • Custom options: Specify model and probes when running manually
  • Results: Scan results are uploaded as workflow artifacts

To enable automated scanning:

  1. Ensure the workflow file exists at .github/workflows/garak-scan.yml
  2. Push to your repository
  3. Check the Actions tab to view scan results

Future Steps

  • Add support for Smithery AI: Docker and config
  • Improve Reporting
  • Test and validate OpenAI models (GPT-3.5, GPT-4)
  • Test and validate HuggingFace models
  • Test and validate local GGML models

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

iflow_mcp_edenyavin_garakr_mcp-0.1.0.tar.gz (8.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

iflow_mcp_edenyavin_garakr_mcp-0.1.0-py3-none-any.whl (11.1 kB view details)

Uploaded Python 3

File details

Details for the file iflow_mcp_edenyavin_garakr_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: iflow_mcp_edenyavin_garakr_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 8.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for iflow_mcp_edenyavin_garakr_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 07423cb5220b0985da017426b18a9fcaeedfd284bd1590bb0284ced351dfbbb3
MD5 18424768d5c0c04776e5bb454c0820fa
BLAKE2b-256 ed802be184028ec6d4a543aaee992a4a03315c2c787d479146f751326d5467e3

See more details on using hashes here.

File details

Details for the file iflow_mcp_edenyavin_garakr_mcp-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: iflow_mcp_edenyavin_garakr_mcp-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 11.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for iflow_mcp_edenyavin_garakr_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9c29d792f64ebc5e1e49a3892b01d555dad8c9ad34ed51a5edc382a71c2c3108
MD5 4ad58be28761e06a5035880311be250c
BLAKE2b-256 96ae47595becf04e055e072a2be91d1a4dba01a5da48c476134abe5fd4421c9b

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page