✨ 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
Data Analysis
Pharmacy Admin Panel
252 1957
AI Characters
Your Speaking Avatar
169 928
AI Assistants
Talk with Claude 3
159 1523
AI Assistants
AI Chatbot Starter Kit v0.1
140 913
AI Agents
AI Video Generator
252 2007 5.0

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.