Catalog PyPI
PACKAGE EXPLORERView in registry

adversary-mcp-server

PyPI

MCP server for security vulnerability scanning and detection

mcpscannersecuritystatic-analysisvulnerability
Versions collected1
Direct dependencies31From release 1.11.1
Last observed20 Oct, 20:03 UTC

README

Version 1.11.1 documentation

Adversary MCP Server

PyPI version Python 3.10+ License: MIT Tests Coverage Version

🔒 Clean Architecture security analysis with AI-powered vulnerability detection and validation

We think about your vulns so you don't have to.

Installation • Quick Start • Claude Code Setup • Cursor Setup • CLI Usage • MCP Tools • Architecture


Features

  • AI-Powered Analysis - OpenAI/Anthropic LLM integration for intelligent vulnerability detection
  • Smart Validation - Reduces false positives with LLM validation (70% confidence threshold)
  • Multi-Engine Scanning - Combines Semgrep static analysis & AI analysis
  • Automatic Persistence - Auto-saves scan results in JSON, Markdown, and CSV formats
  • MCP Integration - Native support for Claude Code and Cursor IDE
  • Comprehensive CLI - Full command-line interface with all scanning capabilities
  • Rich Telemetry - Comprehensive tracking with dashboard visualization

Installation

Prerequisites

  • Python 3.10+ (tested on 3.11, 3.12, 3.13)
  • Semgrep - Static analysis engine (install)

Quick Install

# Install python uv
brew install uv

# Install Semgrep (required)
brew install semgrep  # macOS
# or
pip install semgrep   # Other platforms

# Install Adversary MCP Server
uv pip install adversary-mcp-server

Verify Installation

adv --version
adv status

Quick Start

1. Configure Security Engine

# Initial setup (interactive)
adv configure setup

# Or configure directly with options
adv configure --llm-provider openai --llm-api-key $OPENAI_API_KEY
adv configure --llm-provider anthropic --llm-api-key $ANTHROPIC_API_KEY

# Check configuration status
adv status

2. Run Your First Scan

# Scan a single file (basic)
adv scan-file path/to/file.py

# Scan with AI analysis and validation (recommended)
adv scan-file path/to/file.py --use-llm --use-validation

# Scan entire directory
adv scan-folder ./src --use-llm --use-validation

# Scan code snippet directly
adv scan-code "print('Hello World')" --language python

3. View Comprehensive Dashboard

# Launch interactive telemetry dashboard
adv dashboard

Claude Code Setup

Configure MCP Server

Create or update ~/.config/claude-code/mcp.json:

{
    "mcpServers": {
        "adversary": {
            "command": "uvx",
            "args": ["adversary-mcp-server"]
        }
    }
}

Using MCP Tools in Claude Code

Once configured, these tools are available in Claude Code:

  • Ask Claude: "Scan this file for security issues using adv_scan_file"
  • Ask Claude: "Check for vulnerabilities in the current project with adv_scan_folder"
  • Ask Claude: "Analyze this code snippet for security issues using adv_scan_code"

Cursor IDE Setup

Configure MCP Server

Create .cursor/mcp.json in your project:

{
    "mcpServers": {
        "adversary": {
            "command": "uvx",
            "args": ["adversary-mcp-server"]
        }
    }
}
Alternative Cursor setups (click to expand)

Using pip installation:

{
  "mcpServers": {
    "adversary": {
      "command": "python",
      "args": ["-m", "adversary_mcp_server.sync_main"]
    }
  }
}

For development:

{
  "mcpServers": {
    "adversary": {
      "command": "/path/to/.venv/bin/python",
      "args": ["-m", "adversary_mcp_server.sync_main"]
    }
  }
}

Using MCP Tools in Cursor

Once configured, these tools are available in Cursor's chat:

  • Ask Cursor: "Scan this file for security issues using adv_scan_file"
  • Ask Cursor: "Check for vulnerabilities in the current project with adv_scan_folder"
  • Ask Cursor: "Analyze this code snippet for security issues using adv_scan_code"

CLI Usage

Basic Commands

# Configure the scanner
adv configure setup

# Check status and configuration
adv status

# Scan individual files
adv scan-file <file-path> [options]

# Scan directories
adv scan-folder <directory-path> [options]

# Scan code snippets
adv scan-code <code-content> --language <lang> [options]

# Launch comprehensive telemetry dashboard
adv dashboard

Scanning Examples

# Basic file scan
adv scan-file app.py

# Scan with AI analysis and validation (recommended)
adv scan-file app.py --use-llm --use-validation

# Directory scan with full analysis
adv scan-folder ./src --use-llm --use-validation

# Code snippet scan
adv scan-code "SELECT * FROM users WHERE id = ?" --language sql

# Scan with specific severity threshold
adv scan-file app.py --severity high

# Output results in different formats
adv scan-file app.py --output-format json --output-file results.json
adv scan-file app.py --output-format markdown --verbose

Configuration Commands

# Interactive setup
adv configure setup

# Direct configuration
adv configure --llm-provider openai --llm-api-key your-key
adv configure --llm-provider anthropic --llm-api-key your-key

# Reset configuration
adv configure reset

# Check current configuration
adv status

Available Options

--use-llm / --no-llm              # Enable/disable AI analysis
--use-validation / --no-validation # Enable/disable false positive filtering
--use-semgrep / --no-semgrep      # Enable/disable Semgrep analysis (default: true)
--severity [low|medium|high|critical] # Minimum severity threshold
--output-format [json|markdown|csv]   # Output format for results
--output-file <file>              # Save results to specific file
--verbose                         # Verbose output with detailed information

MCP Tools

Available Tools

ToolDescriptionExample Usage
adv_scan_codeScan code snippets directly"Scan this code for vulnerabilities"
adv_scan_fileScan specific files with full analysis"Check security issues in auth.py"
adv_scan_folderScan entire directories recursively"Analyze the src folder for vulnerabilities"
adv_get_statusCheck server status and capabilities"Is the security scanner configured?"
adv_get_versionGet server version information"What version is running?"
adv_mark_false_positiveMark findings as false positives"Mark finding XYZ as false positive"
adv_unmark_false_positiveRemove false positive marking"Unmark finding ABC as false positive"

MCP Tool Examples

// In Claude Code or Cursor, ask the AI assistant:

// Scan current file with full analysis
"Use adv_scan_file to check this file for security issues with LLM validation"

// Scan directory with specific options
"Run adv_scan_folder on the src directory with severity threshold of high"

// Scan code snippet
"Use adv_scan_code to analyze this SQL query for injection vulnerabilities"

// Check scanner status
"Use adv_get_status to see what scan engines are available"

Automatic Result Persistence

All MCP tools automatically save scan results in multiple formats:

  • JSON: .adversary.json - Machine-readable results with full metadata
  • Markdown: .adversary.md - Human-readable report with remediation guidance
  • CSV: .adversary.csv - Spreadsheet-compatible format for analysis

Results are automatically placed alongside scanned files/directories with intelligent conflict resolution.

Dashboard & Telemetry

Comprehensive HTML Dashboard

The scanner includes a rich web-based dashboard for comprehensive telemetry analysis:

# Launch interactive dashboard
adv dashboard

Dashboard Features:

  • MCP Tool Analytics - Track tool usage, success rates, and performance
  • Scan Engine Metrics - Monitor Semgrep, LLM, and validation performance
  • Threat Analysis - Categorize findings by severity and confidence
  • System Health - Performance monitoring and statistics
  • Language Analysis - Track scanning efficiency by programming language
  • Recent Activity - Timeline view of recent scans and operations

Telemetry System

Adversary MCP Server includes comprehensive telemetry tracking:

  • Automatic Collection - All MCP tools, CLI commands, and scan operations are automatically tracked
  • Local Storage - All data stored locally, never transmitted to external services
  • Zero Configuration - Telemetry works out-of-the-box with no setup required
  • Performance Insights - Identify bottlenecks and optimize scanning workflows
  • Usage Analytics - Understand tool usage patterns and effectiveness

Architecture

Implementation

Adversary MCP Server is built using Clean Architecture principles with Domain-Driven Design (DDD), ensuring separation of concerns, maintainability, and testability.

graph TB
    subgraph "🖥️ **Presentation Layer**"
        A[Cursor IDE]
        B[CLI Interface]
        C[Web Dashboard]
    end

    subgraph "🔧 **Application Layer**"
        D[MCP Server]
        E[CLI Commands]
        F[Adapters]
        subgraph "Adapters"
            F1[SemgrepAdapter]
            F2[LLMAdapter]
            F3[ValidationAdapter]
        end
    end

    subgraph "🏛️ **Domain Layer (Business Logic)**"
        subgraph "Entities"
            G[ScanRequest]
            H[ScanResult]
            I[ThreatMatch]
        end
        subgraph "Value Objects"
            J[ScanContext]
            K[SeverityLevel]
            L[ConfidenceScore]
            M[FilePath]
        end
        subgraph "Domain Services"
            N[ScanOrchestrator]
            O[ThreatAggregator]
            P[ValidationService]
        end
        subgraph "Interfaces"
            Q[IScanStrategy]
            R[IValidationStrategy]
        end
    end

    subgraph "⚙️ **Infrastructure Layer**"
        S[SemgrepScanner]
        T[LLMScanner]
        U[LLMValidator]
        V[SQLAlchemy Database]
        W[File System]
        X[Git Operations]
        Y[Telemetry System]
    end

    A -->|MCP Protocol| D
    B --> E
    C --> Y

    D --> F
    E --> F
    F1 --> N
    F2 --> N
    F3 --> P

    N --> O
    N --> P

    G --> N
    H --> O
    I --> P
    J --> G
    K --> I
    L --> I
    M --> G

    N --> Q
    P --> R

    F1 -.-> S
    F2 -.-> T
    F3 -.-> U

    S --> W
    T --> W
    U --> V
    Y --> V
    X --> W

    style N fill:#e1f5fe,stroke:#0277bd,stroke-width:3px
    style O fill:#e1f5fe,stroke:#0277bd,stroke-width:3px
    style P fill:#e1f5fe,stroke:#0277bd,stroke-width:3px
    style G fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
    style H fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
    style I fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
    style F1 fill:#e8f5e8,stroke:#388e3c,stroke-width:2px
    style F2 fill:#e8f5e8,stroke:#388e3c,stroke-width:2px
    style F3 fill:#e8f5e8,stroke:#388e3c,stroke-width:2px

New Architecture Benefits

  1. Separation of Concern: Business logic isolated from infrastructure
  2. Dependency Inversion: High-level modules don't depend on low-level details
  3. Testability: Pure domain logic enables comprehensive unit testing
  4. Maintainability: Changes to infrastructure don't affect business rules
  5. Scalability: New scan strategies and validators easily pluggable
  6. Type Safety: Rich domain models with comprehensive validation

Architectural Layers

Domain Layer (Core Business Logic)

  • Entities: ScanRequest, ScanResult, ThreatMatch - Rich business objects
  • Value Objects: ScanContext, SeverityLevel, ConfidenceScore, FilePath - Immutable domain concepts
  • Domain Services: ScanOrchestrator, ThreatAggregator, ValidationService - Pure business orchestration
  • Interfaces: IScanStrategy, IValidationStrategy - Contracts for external dependencies

Application Layer (Use Cases & Coordination)

  • MCP Server: Handles Cursor IDE integration via Model Context Protocol
  • CLI Commands: Command-line interface for security scanning operations
  • Adapters: Bridge domain interfaces with infrastructure implementations
    • SemgrepAdapter - Adapts Semgrep scanner to domain IScanStrategy
    • LLMAdapter - Adapts LLM scanner to domain IScanStrategy
    • ValidationAdapter - Adapts LLM validator to domain IValidationStrategy

Infrastructure Layer (External Services)

  • SemgrepScanner: Static analysis engine integration
  • LLMScanner: AI-powered vulnerability detection
  • LLMValidator: False positive filtering with LLM analysis
  • SQLAlchemy Database: Persistent storage for telemetry and results
  • File System: Code file access and Git operations
  • Telemetry System: Performance tracking and dashboard generation

Data Flow Architecture

  1. Input Processing: ScanRequest created with ScanContext (file/directory/code)
  2. Domain Orchestration: ScanOrchestrator coordinates scanning strategies
  3. Parallel Analysis: Multiple IScanStrategy implementations execute concurrently
  4. Threat Aggregation: ThreatAggregator deduplicates and merges findings
  5. Validation Pipeline: ValidationService filters false positives using AI
  6. Result Assembly: Rich ScanResult with comprehensive metadata
  7. Presentation: Results formatted for CLI, MCP, or dashboard consumption

Key Design Patterns

  • Strategy Pattern: Pluggable scan and validation strategies
  • Adapter Pattern: Infrastructure integration without domain coupling
  • Factory Pattern: Bootstrap and dependency injection
  • Value Objects: Immutable domain concepts with validation
  • Domain Services: Complex business logic coordination

How It Works

  1. Multi-Engine Analysis: Parallel execution of Semgrep static analysis and LLM AI analysis
  2. Intelligent Validation: LLM-powered false positive reduction with confidence scoring
  3. Threat Aggregation: Smart deduplication and merging using fingerprint and proximity strategies
  4. Performance Optimization: Async processing, caching, and batch operations
  5. Comprehensive Telemetry: SQLAlchemy-backed metrics with interactive Chart.js dashboard
  6. Git Integration: Diff-aware scanning for efficient CI/CD pipeline integration
  7. Zero-Config Operation: Auto-discovery and configuration with sensible defaults

Configuration

Environment Variables

# Core settings (optional)
ADVERSARY_LOG_LEVEL=INFO           # Set logging level
ADVERSARY_WORKSPACE_ROOT=/path     # Override workspace detection

Configuration File

Settings are automatically managed through the CLI and stored in ~/.adversary/config.json:

# Interactive configuration
adv configure setup

# Direct configuration
adv configure --llm-provider openai --llm-api-key your-key

# Check current settings
adv status

CI/CD Integration

GitHub Actions

name: Security Scan
on: [pull_request]

jobs:
  security:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3

      - name: Install dependencies
        run: |
          pip install adversary-mcp-server

      - name: Run security scan
        run: |
          adv scan-directory . \
            --use-llm \
            --use-validation \
            --severity medium \
            --output-format json \
            --output-file scan-results.json

      - name: Upload results
        uses: actions/upload-artifact@v3
        with:
          name: security-scan
          path: scan-results.json

Development

Setup Development Environment

# Clone repository
git clone https://github.com/brettbergin/adversary-mcp-server.git
cd adversary-mcp-server

# Create virtual environment (using uv or standard venv)
source .venv/bin/activate  # Activate existing venv

# Install in development mode
uv pip install -e .[dev]

# Run tests
make test

Running Tests

# Full test suite with coverage
make test

# Specific test categories
make test-unit          # Unit tests only
make test-integration   # Integration tests only
make test-security      # Security tests only

# Code quality checks

make format             # Auto-format code
make mypy               # Type checking
make lint               # Run all linting
make pre-commit         # Run same pre-commit in git commits.

Support

License

MIT License - see LICENSE for details.

Contributing

Contributions are welcome! Please see our Contributing Guide for details.


Made with ❤️ for software security.

Downloads & popularity

9downloads
1-day window · source-reported counts20 Oct 2026
12562.50
2026-07-23: 6 · observed 2026-10-21T16:16:02.6625138Z · period 2026-07-23–2026-07-232026-07-24: 6 · observed 2026-10-21T16:16:02.6625138Z · period 2026-07-24–2026-07-242026-07-25: 2 · observed 2026-10-21T16:16:02.6625138Z · period 2026-07-25–2026-07-252026-07-26: 12 · observed 2026-10-21T16:16:02.6625138Z · period 2026-07-26–2026-07-262026-07-27: 5 · observed 2026-10-21T16:16:02.6625138Z · period 2026-07-27–2026-07-272026-07-28: 2 · observed 2026-10-21T16:16:02.6625138Z · period 2026-07-28–2026-07-282026-07-29: 2 · observed 2026-10-21T16:16:02.6625138Z · period 2026-07-29–2026-07-292026-07-30: 3 · observed 2026-10-21T16:16:02.6625138Z · period 2026-07-30–2026-07-302026-07-31: 3 · observed 2026-10-21T16:16:02.6625138Z · period 2026-07-31–2026-07-312026-08-01: 3 · observed 2026-10-21T16:16:02.6625138Z · period 2026-08-01–2026-08-012026-08-02: 4 · observed 2026-10-21T16:16:02.6625138Z · period 2026-08-02–2026-08-022026-08-03: 13 · observed 2026-10-21T16:16:02.6625138Z · period 2026-08-03–2026-08-032026-08-04: 9 · observed 2026-10-21T16:16:02.6625138Z · period 2026-08-04–2026-08-042026-08-05: 11 · observed 2026-10-21T16:16:02.6625138Z · period 2026-08-05–2026-08-052026-08-06: 1 · observed 2026-10-21T16:16:02.6625138Z · period 2026-08-06–2026-08-062026-08-07: 2 · observed 2026-10-21T16:16:02.6625138Z · period 2026-08-07–2026-08-072026-08-08: 1 · observed 2026-10-21T16:16:02.6625138Z · period 2026-08-08–2026-08-082026-08-09: 14 · observed 2026-10-21T16:16:02.6625138Z · period 2026-08-09–2026-08-092026-08-10: 4 · observed 2026-10-21T16:16:02.6625138Z · period 2026-08-10–2026-08-102026-08-11: 5 · observed 2026-10-21T16:16:02.6625138Z · period 2026-08-11–2026-08-112026-08-12: 9 · observed 2026-10-21T16:16:02.6625138Z · period 2026-08-12–2026-08-122026-08-13: 3 · observed 2026-10-21T16:16:02.6625138Z · period 2026-08-13–2026-08-132026-08-14: 11 · observed 2026-10-21T16:16:02.6625138Z · period 2026-08-14–2026-08-142026-08-15: 3 · observed 2026-10-21T16:16:02.6625138Z · period 2026-08-15–2026-08-152026-08-16: 1 · observed 2026-10-21T16:16:02.6625138Z · period 2026-08-16–2026-08-162026-08-17: 9 · observed 2026-10-21T16:16:02.6625138Z · period 2026-08-17–2026-08-172026-08-18: 5 · observed 2026-10-21T16:16:02.6625138Z · period 2026-08-18–2026-08-182026-08-19: 2 · observed 2026-10-21T16:16:02.6625138Z · period 2026-08-19–2026-08-192026-08-20: 3 · observed 2026-10-21T16:16:02.6625138Z · period 2026-08-20–2026-08-202026-08-21: 4 · observed 2026-10-21T16:16:02.6625138Z · period 2026-08-21–2026-08-212026-08-23: 4 · observed 2026-10-21T16:16:02.6625138Z · period 2026-08-23–2026-08-232026-08-24: 15 · observed 2026-10-21T16:16:02.6625138Z · period 2026-08-24–2026-08-242026-08-25: 2 · observed 2026-10-21T16:16:02.6625138Z · period 2026-08-25–2026-08-252026-08-26: 6 · observed 2026-10-21T16:16:02.6625138Z · period 2026-08-26–2026-08-262026-08-27: 1 · observed 2026-10-21T16:16:02.6625138Z · period 2026-08-27–2026-08-272026-08-28: 4 · observed 2026-10-21T16:16:02.6625138Z · period 2026-08-28–2026-08-282026-08-29: 8 · observed 2026-10-21T16:16:02.6625138Z · period 2026-08-29–2026-08-292026-08-30: 13 · observed 2026-10-21T16:16:02.6625138Z · period 2026-08-30–2026-08-302026-08-31: 13 · observed 2026-10-21T16:16:02.6625138Z · period 2026-08-31–2026-08-312026-09-01: 24 · observed 2026-10-21T16:16:02.6625138Z · period 2026-09-01–2026-09-012026-09-02: 9 · observed 2026-10-21T16:16:02.6625138Z · period 2026-09-02–2026-09-022026-09-03: 8 · observed 2026-10-21T16:16:02.6625138Z · period 2026-09-03–2026-09-032026-09-04: 4 · observed 2026-10-21T16:16:02.6625138Z · period 2026-09-04–2026-09-042026-09-06: 3 · observed 2026-10-21T16:16:02.6625138Z · period 2026-09-06–2026-09-062026-09-07: 8 · observed 2026-10-21T16:16:02.6625138Z · period 2026-09-07–2026-09-072026-09-08: 6 · observed 2026-10-21T16:16:02.6625138Z · period 2026-09-08–2026-09-082026-09-09: 6 · observed 2026-10-21T16:16:02.6625138Z · period 2026-09-09–2026-09-092026-09-10: 8 · observed 2026-10-21T16:16:02.6625138Z · period 2026-09-10–2026-09-102026-09-12: 8 · observed 2026-10-21T16:16:02.6625138Z · period 2026-09-12–2026-09-122026-09-13: 1 · observed 2026-10-21T16:16:02.6625138Z · period 2026-09-13–2026-09-132026-09-14: 1 · observed 2026-10-21T16:16:02.6625138Z · period 2026-09-14–2026-09-142026-09-15: 1 · observed 2026-10-21T16:16:02.6625138Z · period 2026-09-15–2026-09-152026-09-16: 8 · observed 2026-10-21T16:16:02.6625138Z · period 2026-09-16–2026-09-162026-09-17: 30 · observed 2026-10-21T16:16:02.6625138Z · period 2026-09-17–2026-09-172026-09-18: 5 · observed 2026-10-21T16:16:02.6625138Z · period 2026-09-18–2026-09-182026-09-19: 82 · observed 2026-10-21T16:16:02.6625138Z · period 2026-09-19–2026-09-192026-09-20: 2 · observed 2026-10-21T16:16:02.6625138Z · period 2026-09-20–2026-09-202026-09-21: 2 · observed 2026-10-21T16:16:02.6625138Z · period 2026-09-21–2026-09-212026-09-22: 2 · observed 2026-10-21T16:16:02.6625138Z · period 2026-09-22–2026-09-222026-09-23: 4 · observed 2026-10-21T16:16:02.6625138Z · period 2026-09-23–2026-09-232026-09-24: 54 · observed 2026-10-21T16:16:02.6625138Z · period 2026-09-24–2026-09-242026-09-25: 45 · observed 2026-10-21T16:16:02.6625138Z · period 2026-09-25–2026-09-252026-09-26: 42 · observed 2026-10-21T16:16:02.6625138Z · period 2026-09-26–2026-09-262026-09-27: 22 · observed 2026-10-21T16:16:02.6625138Z · period 2026-09-27–2026-09-272026-09-28: 19 · observed 2026-10-21T16:16:02.6625138Z · period 2026-09-28–2026-09-282026-09-29: 14 · observed 2026-10-21T16:16:02.6625138Z · period 2026-09-29–2026-09-292026-09-30: 11 · observed 2026-10-21T16:16:02.6625138Z · period 2026-09-30–2026-09-302026-10-01: 54 · observed 2026-10-21T16:16:02.6625138Z · period 2026-10-01–2026-10-012026-10-02: 6 · observed 2026-10-21T16:16:02.6625138Z · period 2026-10-02–2026-10-022026-10-03: 4 · observed 2026-10-21T16:16:02.6625138Z · period 2026-10-03–2026-10-032026-10-04: 2 · observed 2026-10-21T16:16:02.6625138Z · period 2026-10-04–2026-10-042026-10-05: 7 · observed 2026-10-21T16:16:02.6625138Z · period 2026-10-05–2026-10-052026-10-06: 125 · observed 2026-10-21T16:16:02.6625138Z · period 2026-10-06–2026-10-062026-10-07: 19 · observed 2026-10-21T16:16:02.6625138Z · period 2026-10-07–2026-10-072026-10-08: 100 · observed 2026-10-21T16:16:02.6625138Z · period 2026-10-08–2026-10-082026-10-09: 43 · observed 2026-10-21T16:16:02.6625138Z · period 2026-10-09–2026-10-092026-10-10: 13 · observed 2026-10-21T16:16:02.6625138Z · period 2026-10-10–2026-10-102026-10-11: 93 · observed 2026-10-21T16:16:02.6625138Z · period 2026-10-11–2026-10-112026-10-12: 35 · observed 2026-10-21T16:16:02.6625138Z · period 2026-10-12–2026-10-122026-10-13: 14 · observed 2026-10-21T16:16:02.6625138Z · period 2026-10-13–2026-10-132026-10-14: 10 · observed 2026-10-21T16:16:02.6625138Z · period 2026-10-14–2026-10-142026-10-15: 10 · observed 2026-10-21T16:16:02.6625138Z · period 2026-10-15–2026-10-152026-10-16: 29 · observed 2026-10-21T16:16:02.6625138Z · period 2026-10-16–2026-10-162026-10-17: 51 · observed 2026-10-21T16:16:02.6625138Z · period 2026-10-17–2026-10-172026-10-18: 3 · observed 2026-10-21T16:16:02.6625138Z · period 2026-10-18–2026-10-182026-10-19: 11 · observed 2026-10-21T16:16:02.6625138Z · period 2026-10-19–2026-10-192026-10-20: 9 · observed 2026-10-21T16:16:02.6625138Z · period 2026-10-20–2026-10-20
23 Jul20 Oct

pypistats · 87 observations shown. Missing days are unknown. Source category: overall: without mirrors.

View observed values
Date / source periodValueObserved at
2026-10-20 – 2026-10-2092026-10-21T16:16:02.6625138Z
2026-10-19 – 2026-10-19112026-10-21T16:16:02.6625138Z
2026-10-18 – 2026-10-1832026-10-21T16:16:02.6625138Z
2026-10-17 – 2026-10-17512026-10-21T16:16:02.6625138Z
2026-10-16 – 2026-10-16292026-10-21T16:16:02.6625138Z
2026-10-15 – 2026-10-15102026-10-21T16:16:02.6625138Z
2026-10-14 – 2026-10-14102026-10-21T16:16:02.6625138Z
2026-10-13 – 2026-10-13142026-10-21T16:16:02.6625138Z
2026-10-12 – 2026-10-12352026-10-21T16:16:02.6625138Z
2026-10-11 – 2026-10-11932026-10-21T16:16:02.6625138Z
2026-10-10 – 2026-10-10132026-10-21T16:16:02.6625138Z
2026-10-09 – 2026-10-09432026-10-21T16:16:02.6625138Z
2026-10-08 – 2026-10-081002026-10-21T16:16:02.6625138Z
2026-10-07 – 2026-10-07192026-10-21T16:16:02.6625138Z
2026-10-06 – 2026-10-061252026-10-21T16:16:02.6625138Z
2026-10-05 – 2026-10-0572026-10-21T16:16:02.6625138Z
2026-10-04 – 2026-10-0422026-10-21T16:16:02.6625138Z
2026-10-03 – 2026-10-0342026-10-21T16:16:02.6625138Z
2026-10-02 – 2026-10-0262026-10-21T16:16:02.6625138Z
2026-10-01 – 2026-10-01542026-10-21T16:16:02.6625138Z
2026-09-30 – 2026-09-30112026-10-21T16:16:02.6625138Z
2026-09-29 – 2026-09-29142026-10-21T16:16:02.6625138Z
2026-09-28 – 2026-09-28192026-10-21T16:16:02.6625138Z
2026-09-27 – 2026-09-27222026-10-21T16:16:02.6625138Z
2026-09-26 – 2026-09-26422026-10-21T16:16:02.6625138Z
2026-09-25 – 2026-09-25452026-10-21T16:16:02.6625138Z
2026-09-24 – 2026-09-24542026-10-21T16:16:02.6625138Z
2026-09-23 – 2026-09-2342026-10-21T16:16:02.6625138Z
2026-09-22 – 2026-09-2222026-10-21T16:16:02.6625138Z
2026-09-21 – 2026-09-2122026-10-21T16:16:02.6625138Z
2026-09-20 – 2026-09-2022026-10-21T16:16:02.6625138Z
2026-09-19 – 2026-09-19822026-10-21T16:16:02.6625138Z
2026-09-18 – 2026-09-1852026-10-21T16:16:02.6625138Z
2026-09-17 – 2026-09-17302026-10-21T16:16:02.6625138Z
2026-09-16 – 2026-09-1682026-10-21T16:16:02.6625138Z
2026-09-15 – 2026-09-1512026-10-21T16:16:02.6625138Z
2026-09-14 – 2026-09-1412026-10-21T16:16:02.6625138Z
2026-09-13 – 2026-09-1312026-10-21T16:16:02.6625138Z
2026-09-12 – 2026-09-1282026-10-21T16:16:02.6625138Z
2026-09-10 – 2026-09-1082026-10-21T16:16:02.6625138Z
2026-09-09 – 2026-09-0962026-10-21T16:16:02.6625138Z
2026-09-08 – 2026-09-0862026-10-21T16:16:02.6625138Z
2026-09-07 – 2026-09-0782026-10-21T16:16:02.6625138Z
2026-09-06 – 2026-09-0632026-10-21T16:16:02.6625138Z
2026-09-04 – 2026-09-0442026-10-21T16:16:02.6625138Z
2026-09-03 – 2026-09-0382026-10-21T16:16:02.6625138Z
2026-09-02 – 2026-09-0292026-10-21T16:16:02.6625138Z
2026-09-01 – 2026-09-01242026-10-21T16:16:02.6625138Z
2026-08-31 – 2026-08-31132026-10-21T16:16:02.6625138Z
2026-08-30 – 2026-08-30132026-10-21T16:16:02.6625138Z
2026-08-29 – 2026-08-2982026-10-21T16:16:02.6625138Z
2026-08-28 – 2026-08-2842026-10-21T16:16:02.6625138Z
2026-08-27 – 2026-08-2712026-10-21T16:16:02.6625138Z
2026-08-26 – 2026-08-2662026-10-21T16:16:02.6625138Z
2026-08-25 – 2026-08-2522026-10-21T16:16:02.6625138Z
2026-08-24 – 2026-08-24152026-10-21T16:16:02.6625138Z
2026-08-23 – 2026-08-2342026-10-21T16:16:02.6625138Z
2026-08-21 – 2026-08-2142026-10-21T16:16:02.6625138Z
2026-08-20 – 2026-08-2032026-10-21T16:16:02.6625138Z
2026-08-19 – 2026-08-1922026-10-21T16:16:02.6625138Z
2026-08-18 – 2026-08-1852026-10-21T16:16:02.6625138Z
2026-08-17 – 2026-08-1792026-10-21T16:16:02.6625138Z
2026-08-16 – 2026-08-1612026-10-21T16:16:02.6625138Z
2026-08-15 – 2026-08-1532026-10-21T16:16:02.6625138Z
2026-08-14 – 2026-08-14112026-10-21T16:16:02.6625138Z
2026-08-13 – 2026-08-1332026-10-21T16:16:02.6625138Z
2026-08-12 – 2026-08-1292026-10-21T16:16:02.6625138Z
2026-08-11 – 2026-08-1152026-10-21T16:16:02.6625138Z
2026-08-10 – 2026-08-1042026-10-21T16:16:02.6625138Z
2026-08-09 – 2026-08-09142026-10-21T16:16:02.6625138Z
2026-08-08 – 2026-08-0812026-10-21T16:16:02.6625138Z
2026-08-07 – 2026-08-0722026-10-21T16:16:02.6625138Z
2026-08-06 – 2026-08-0612026-10-21T16:16:02.6625138Z
2026-08-05 – 2026-08-05112026-10-21T16:16:02.6625138Z
2026-08-04 – 2026-08-0492026-10-21T16:16:02.6625138Z
2026-08-03 – 2026-08-03132026-10-21T16:16:02.6625138Z
2026-08-02 – 2026-08-0242026-10-21T16:16:02.6625138Z
2026-08-01 – 2026-08-0132026-10-21T16:16:02.6625138Z
2026-07-31 – 2026-07-3132026-10-21T16:16:02.6625138Z
2026-07-30 – 2026-07-3032026-10-21T16:16:02.6625138Z
2026-07-29 – 2026-07-2922026-10-21T16:16:02.6625138Z
2026-07-28 – 2026-07-2822026-10-21T16:16:02.6625138Z
2026-07-27 – 2026-07-2752026-10-21T16:16:02.6625138Z
2026-07-26 – 2026-07-26122026-10-21T16:16:02.6625138Z
2026-07-25 – 2026-07-2522026-10-21T16:16:02.6625138Z
2026-07-24 – 2026-07-2462026-10-21T16:16:02.6625138Z
2026-07-23 – 2026-07-2362026-10-21T16:16:02.6625138Z

Versions 1

Collected releases
VersionPublishedDirect dependenciesOpen version
1.11.124 Aug 202531

Package advisories

0
No matching advisories collected

This describes our collected data; it is not a security assessment.

Repository

PENDING
brettbergin/adversary-mcp-server

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 20:03 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package:2afc885fdf6d744f538406d889e42354bf917b7d3e1a4192a3dba02907022d9d