✨ From vibe coding to vibe deployment. UBOS MCP turns ideas into infra with one message.

Learn more

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


Features

  • List Attacks: List all the attack available on Garak.
  • Run Attack: Run the attack on a given model.

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

Clone this repository:

git clone https://github.com/BIGdeadLock/Garak-MCP.git
cd src

Configuration

For Cursor users:

{
  "mcpServers": {
    "garak-mcp": {
      "command": "uv",
      "args": ["--directory", "path-to/Garak-MCP", "run", "garak-server"],
      "env": {}
    }
  }
}


Tools Provided

Overview

NameDescription
list_model_typesList all available model types (ollama, openai, huggingface, ggml)
list_modelsList all available models for a given model type
list_garak_probesList all available Garak attacks/probes
get_reportGet the report of the last run
run_attackRun 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

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

Featured Templates

View More
AI Agents
AI Video Generator
249 1348 5.0
Customer service
Service ERP
125 756
Verified Icon
AI Assistants
Speech to Text
134 1510
Data Analysis
Pharmacy Admin Panel
238 1704

Start your free trial

Build your solution today. No credit card required.

Sign In

Register

Reset Password

Please enter your username or email address, you will receive a link to create a new password via email.