Skip to main content

MCP server fuzzer client and utilities

Project description

MCP Server Fuzzer

A comprehensive super aggressive CLI based fuzzing tool for MCP servers using multiple transport protocols, with support for both tool argument fuzzing and protocol type fuzzing. Features pretty output using rich.

The most important thing I'm aiming to ensure here is: If your server conforms to the MCP schema, this tool will be able to fuzz it effectively.

CI codecov PyPI - Version PyPI Downloads

Documentation

View Full Documentation

Quick Start

Installation

# Install from PyPI
pip install mcp-fuzzer

# Or install from source
git clone https://github.com/Agent-Hellboy/mcp-server-fuzzer.git
cd mcp-server-fuzzer
pip install -e .

Basic Usage

  1. Set up your MCP server (HTTP, SSE, or Stdio)
  2. Run basic fuzzing:
# Fuzz tools on an HTTP server
mcp-fuzzer --mode tools --protocol http --endpoint http://localhost:8000

# Fuzz protocol types on an SSE server
mcp-fuzzer --mode protocol --protocol sse --endpoint http://localhost:8000/sse

Key Features

  • Two-Phase Fuzzing: Realistic testing + aggressive security testing
  • Multi-Protocol Support: HTTP, SSE, and Stdio transports
  • Built-in Safety: Environment detection and system protection
  • Intelligent Testing: Hypothesis-based data generation strategies
  • Rich Reporting: Detailed output with exception tracking

Architecture

The system is built with a modular architecture:

  • CLI Layer: User interface and argument handling
  • Transport Layer: Protocol abstraction (HTTP/SSE/Stdio)
  • Fuzzing Engine: Test orchestration and execution
  • Strategy System: Data generation (realistic + aggressive)
  • Safety System: Core filter + SystemBlocker PATH shim; safe mock responses
  • Runtime: Async ProcessManager + ProcessWatchdog + AsyncProcessWrapper
  • Authentication: Multiple auth provider support
  • Reporting: FuzzerReporter, Console/JSON/Text formatters, SafetyReporter

Contributing

We welcome contributions! Please see our Contributing Guide for details.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Disclaimer

This tool is designed for testing and security research. Always use in controlled environments and ensure you have permission to test the target systems. The safety system provides protection but should not be relied upon as the sole security measure.

Project details


Download files

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

Source Distribution

mcp_fuzzer-0.1.7.tar.gz (83.6 kB view details)

Uploaded Source

Built Distribution

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

mcp_fuzzer-0.1.7-py3-none-any.whl (106.4 kB view details)

Uploaded Python 3

File details

Details for the file mcp_fuzzer-0.1.7.tar.gz.

File metadata

  • Download URL: mcp_fuzzer-0.1.7.tar.gz
  • Upload date:
  • Size: 83.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.23

File hashes

Hashes for mcp_fuzzer-0.1.7.tar.gz
Algorithm Hash digest
SHA256 60fdee5f0790353f61fa08c1d6796c978fc08eb3d5ade04dee29011a0e88eae2
MD5 2c3f2ee2ad1ebc2135a227822dce992f
BLAKE2b-256 8774d2799d432d4d98540e753b93dcacb1dafe3873dccfa98a11b9eba845fbf3

See more details on using hashes here.

File details

Details for the file mcp_fuzzer-0.1.7-py3-none-any.whl.

File metadata

  • Download URL: mcp_fuzzer-0.1.7-py3-none-any.whl
  • Upload date:
  • Size: 106.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.23

File hashes

Hashes for mcp_fuzzer-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 b0a48fc1d151ac03f3d70ee8c3b6c83117877818da20adbcea3f0d60234ccabf
MD5 a036ba262875fd015019a4577d3db275
BLAKE2b-256 4da35e7fcbbbdb8fd6393106159b939b4fe753017e078c8a21694aaae5d9e7eb

See more details on using hashes here.

Supported by

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