Skip to main content
Glama

PacketMaster

MCP server for network-troubleshooting PCAP analysis via tshark. Pairs with Cursor skills pcap-troubleshooting (domain workflows) and packetmaster-mcp (MCP tool usage).

Prerequisites

  • Python 3.10+

  • uv (recommended) or pip

  • Wireshark with CLI tools: tshark, capinfos

brew install wireshark   # macOS

PacketMaster auto-detects `/Applications/Wireshark.app/Contents/MacOS/tshark` if not on PATH.

Related MCP server: Wireshark MCP

Install

cd "/Users/networkze/Documents/Claude Projects/PacketMaster"
uv sync --extra dev

Cursor MCP Configuration

Install the launcher (once), then add to ~/.cursor/mcp.json:

mkdir -p ~/.packetmaster-mcp
cp scripts/start-mcp.sh ~/.packetmaster-mcp/start-mcp.sh
chmod +x ~/.packetmaster-mcp/start-mcp.sh
{
  "mcpServers": {
    "packetmaster": {
      "command": "/Users/networkze/.packetmaster-mcp/start-mcp.sh",
      "env": {
        "FASTMCP_SHOW_SERVER_BANNER": "false"
      }
    }
  }
}

Uses a launcher script (like flipper-zero) because Cursor can break uv run paths that contain spaces.

PCAP paths must be absolute. By default any readable .pcap on disk is allowed. Set PM_ALLOWED_DIRS only if you want an opt-in sandbox.

Environment Variables

Variable

Default

Description

PM_ALLOWED_DIRS

(unset)

Optional colon-separated allowlist; when set, paths must stay inside

PM_REQUIRE_ALLOWED_DIRS

false

If true, PM_ALLOWED_DIRS must be set or startup validation fails

PM_MAX_FILE_SIZE

10GB

Max PCAP file size

PM_MAX_PACKETS

10000

Max packets per extraction request

PM_MAX_STDOUT_BYTES

10MB

Max subprocess stdout

PM_TIMEOUT

300

Subprocess timeout (seconds)

PM_HASH_MAX_BYTES

500MB

Skip SHA-256 above this size unless requested

PM_REDACT_SENSITIVE

true

Redact credentials in stream/field output

TSHARK_PATH

auto

Override tshark binary path

Tools

Tool

Description

pm_check_install

Verify tshark/capinfos installation

pm_file_info

capinfos + optional SHA-256

pm_protocol_hierarchy

Protocol distribution

pm_conversations

Top conversations by bytes

pm_endpoints

Top IP endpoints

pm_expert_info

Wireshark expert information

pm_tcp_anomalies

TCP retrans/dup ACK/zero window/OOO/RST

pm_latency_summary

Per-flow RTT statistics

pm_io_stats

Traffic over time

pm_extract_fields

Paginated field extraction

pm_follow_stream

Follow TCP/UDP/HTTP/TLS stream (redacted)

pm_filter_packets

Packet summaries by display filter

pm_detect_capture_type

Start here — wlan vs ethernet + tool routing

pm_wired_quick_scan

EPC/SPAN — DHCP, DNS, ICMP, VLAN, L2 infra, TCP

pm_dhcp_analysis

DHCP phases, stuck patterns, optional MAC filter

pm_dns_analysis

DNS queries/responses, NXDOMAIN, top names

pm_asymmetric_hints

One-sided capture / path asymmetry heuristics

pm_troubleshoot_quick_scan

L3 TCP-focused composite (alternate to wired scan)

pm_troubleshoot_flow

Deep dive between two IPs

pm_wifi_quick_scan

802.11 monitor — retries, mgmt, roaming, BSSIDs

pm_wifi_client_analysis

Deep dive on one STA by MAC

pm_wifi_roaming_analysis

802.11k/v roam timeline for one STA

Workflow with NetOps EPC

  1. Capture via ios_xe_epc_capture_run (user-netops MCP) with pull_pcap=true

  2. Run pm_troubleshoot_quick_scan on the returned local_path

  3. Drill down with pm_troubleshoot_flow on suspect IPs

Development

uv run pytest -q
uv run packetmaster-mcp   # stdio MCP server

Security

  • PCAP paths must be absolute; optional PM_ALLOWED_DIRS sandbox for locked-down setups

  • Symlinks rejected

  • Stream/field output redacts Authorization, Bearer tokens, passwords by default

  • Confirm with user before pm_follow_stream on production captures

Available Tools

22 tools
pm_asymmetric_hintsC

Detect one-sided capture symptoms: SYN without ACK, lost segments, ICMP-in-tunnel.

Inputs: file_path (required), display_filter. Returns: result

pm_check_installA

Verify tshark/capinfos installation and configuration.

Inputs: no named parameters. Returns: result

pm_conversationsC

Top conversations by bytes (ip, tcp, or udp).

Inputs: file_path (required), conv_type, limit. Returns: result

pm_detect_capture_typeC

Detect wlan vs ethernet capture and recommend entry-point tool.

Inputs: file_path (required). Returns: result

pm_dhcp_analysisC

DHCP transaction analysis with stuck-pattern detection (optional STA MAC).

Inputs: file_path (required), mac_address, sample_limit. Returns: result

pm_dns_analysisC

DNS query/response analysis, top names, and failure samples (optional client IP).

Inputs: file_path (required), ip_address, sample_limit. Returns: result

pm_endpointsC

Top IP endpoints by traffic volume.

Inputs: file_path (required), limit. Returns: result

pm_expert_infoC

Wireshark expert information (errors, warnings, notes, chats).

Inputs: file_path (required), severity. Returns: result

pm_extract_fieldsC

Extract specific tshark fields with pagination.

Inputs: file_path (required), fields (required), display_filter, offset, +1 more. Returns: result

pm_file_infoB

Return capinfos metadata and optional SHA-256 hash for a PCAP file.

Inputs: file_path (required), compute_hash. Returns: result

pm_filter_packetsC

Return packet summaries matching a display filter.

Inputs: file_path (required), display_filter (required), offset, limit. Returns: result

pm_follow_streamC

Follow a TCP/UDP/HTTP/TLS stream (truncated, redacted by default).

Inputs: file_path (required), stream_type, stream_index, max_bytes, +1 more. Returns: result

pm_io_statsC

Traffic volume over time intervals.

Inputs: file_path (required), interval_seconds. Returns: result

pm_latency_summaryC

Per-flow RTT statistics from tcp.analysis.ack_rtt.

Inputs: file_path (required), display_filter, limit. Returns: result

pm_protocol_hierarchyC

Protocol distribution tree from tshark -z io,phs.

Inputs: file_path (required). Returns: result

pm_tcp_anomaliesC

Count and sample TCP anomalies: retrans, dup ACK, zero window, OOO, RST.

Inputs: file_path (required), display_filter, sample_limit. Returns: result

pm_troubleshoot_flowC

Deep dive on traffic between two IP addresses (optional port).

Inputs: file_path (required), ip_a (required), ip_b (required), port. Returns: result

pm_troubleshoot_quick_scanC

Composite triage: file info, expert, top conversations, TCP anomalies, protocol hierarchy.

Inputs: file_path (required), compute_hash. Returns: result

pm_wifi_client_analysisC

Deep dive on one Wi-Fi client STA by MAC (wlan.addr, bidirectional).

Inputs: file_path (required), wlan_addr (required), sample_limit. Returns: result

pm_wifi_quick_scanB

802.11 monitor-mode triage: retries, mgmt frames, security, roaming, top BSSIDs.

Inputs: file_path (required), rssi_threshold. Returns: result

pm_wifi_roaming_analysisC

802.11k/v roaming timeline: reassoc, neighbor reports, BSS transition, deauth.

Inputs: file_path (required), wlan_addr (required), sample_limit. Returns: result

pm_wired_quick_scanC

Wired/EPC triage: DHCP, DNS, ICMP, L2 infra, VLAN, TCP anomalies, asymmetric hints.

Inputs: file_path (required), compute_hash. Returns: result

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.1/5.0

    Scored across 22 tools

    Disambiguation5/5

    All tools have clearly distinct purposes, targeting different network analysis aspects (WiFi vs wired, general vs specific protocols). The quick scan tools are differentiated by domain context, and pm_detect_capture_type helps select the appropriate entry point.

    Naming Consistency5/5

    All tools follow the 'pm_' prefix with snake_case naming. They use a consistent pattern of pm_[domain]_[action] (e.g., pm_dhcp_analysis, pm_conversations) with occasional verb_noun (pm_extract_fields) but overall very consistent.

    Tool Count4/5

    22 tools is slightly above the typical ideal range but justified by the breadth of packet analysis (WiFi, wired, diagnostic, protocol-specific). Each tool serves a distinct need without overwhelming the user.

    Completeness4/5

    The tool set covers essential packet analysis operations: file info, protocol hierarchy, conversations, endpoints, filtering, stream following, anomaly detection, and specialized scans. Minor gaps like HTTP-specific analysis or packet export are missing, but core workflows are well-supported.

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      An MCP server that enables AI-assisted network packet analysis using Wireshark's TShark tool. It provides tools for pcap file overview, session extraction, protocol filtering, and statistical analysis through a standardized interface.
      1
      MIT
    • A
      license
      C
      quality
      B
      maintenance
      An MCP server that enables LLMs to analyze pcap files by providing tools for packet dissection, stream following, and data extraction via tshark. It supports protocol hierarchy analysis, credential scanning, and threat intelligence checks on captured network traffic.
      54
      582 PyPI
      379
      MIT
    • F
      license
      Not graded
      quality
      D
      maintenance
      An MCP server for analyzing network traffic and pcap files using tshark. It enables users to list TCP streams, extract application-layer payloads, and perform packet analysis with BPF filters.
      2
      -
    • A
      license
      A
      quality
      D
      maintenance
      An MCP server that exposes TShark as tools for AI-assisted network packet analysis, supporting PCAP analysis, live capture, TLS decryption, and telecom/SS7 signaling protocols.
      25
      1
      MIT