Skip to main content
Glama
noc-pcap-mcp-server

noc-pcap-mcp-server

noc-pcap-mcp-server

An MCP (Model Context Protocol) server that lets an LLM-based assistant diagnose network problems from packet captures (PCAP/PCAPNG files), without the operator needing to use Wireshark directly. Built for junior analysts in a NOC (Network Operations Center) setting.

Built with the official Python MCP SDK (FastMCP) and scapy for packet parsing.

Tools

All tools take a file_path to a .pcap/.pcapng file. stream_id values are returned by list_tcp_conversations and identify one TCP conversation.

Tool

Parameters

Returns

get_capture_summary

file_path: str

Duration, packet count, protocol breakdown, top talkers

list_tcp_conversations

file_path: str

List of TCP conversations (4-tuple, stream_id, packet/byte counts, start/end time)

analyze_tcp_conversation

file_path: str, stream_id: str

RTT, retransmission count, zero-window events, duplicate ACKs, with the frame numbers that evidence each finding

detect_security_anomalies

file_path: str

Findings ranked by severity: port scans, ARP spoofing, high-entropy DNS queries, cleartext credentials

extract_json_rpc_exchange

file_path: str, stream_id: str

Reassembled JSON-RPC messages, classified (initialize / notification / request / response) and paired by id, as a timeline

These are designed to be composable: a host LLM chains them (e.g. list conversations, then analyze the relevant one) rather than calling one do-everything tool.

Related MCP server: Wireshark-MCP

Requirements

  • Python >= 3.11

  • uv (recommended) or pip

Installation

git clone https://github.com/anthonylouschwank/noc-pcap-mcp-server.git
cd noc-pcap-mcp-server
uv sync

Or with pip:

python -m venv .venv
.venv\Scripts\activate      # Windows
pip install -e .

Usage

Standalone (for testing with an MCP-capable client, e.g. Claude Desktop)

Run over stdio:

uv run noc-pcap-mcp

Example Claude Desktop config entry:

{
  "mcpServers": {
    "noc-pcap": {
      "command": "uv",
      "args": ["run", "--directory", "/absolute/path/to/noc-pcap-mcp-server", "noc-pcap-mcp"]
    }
  }
}

As a dependency of another chatbot host

See noc-assistant, which launches this server as a subprocess and aggregates its tools with other MCP servers.

Project layout

src/noc_pcap_mcp/
├── server.py         # tool registration (FastMCP)
├── pcap_utils.py      # capture summary + TCP conversation indexing
├── tcp_analysis.py    # RTT / retransmissions / zero-window per conversation
├── security.py        # port scans, ARP spoofing, DNS entropy, cleartext creds
└── jsonrpc.py          # TCP reassembly + JSON-RPC message classification

Status

Scaffolding stage: tools are registered with their final signatures and docstrings; the analysis logic in pcap_utils.py, tcp_analysis.py, security.py and jsonrpc.py is not implemented yet.

Author

Built by Anthony Schwank for CC3067 - Redes, Universidad del Valle de Guatemala.

Available Tools

5 tools
analyze_tcp_conversationB

RTT, retransmissions, zero-window events and duplicate ACKs for one TCP conversation, citing the frame numbers that evidence each finding.

Inputs: file_path (required), stream_id (required).

detect_security_anomaliesA

Scan a PCAP for port scans, ARP spoofing, high-entropy DNS queries and cleartext credentials, ranked by severity.

Inputs: file_path (required). Returns: result

extract_json_rpc_exchangeB

Reassemble a TCP conversation's payload, classify JSON-RPC messages and pair requests with responses by id.

Inputs: file_path (required), stream_id (required).

get_capture_summaryB

Overview of a PCAP file: duration, packet count, protocols seen, top talkers.

Inputs: file_path (required).

list_tcp_conversationsA

Enumerate TCP conversations (4-tuple) in a PCAP with packet/byte counts and timing.

Inputs: file_path (required). Returns: result

Tool Schema Changelog

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

Loading tool schema changelog…

    TDQS

    A3.7/5.0

    Scored across 5 tools

    Disambiguation5/5

    Each tool targets a distinct layer or task: overall summary, conversation enumeration, per-conversation transport analysis, security scanning, and JSON-RPC payload extraction. Though analyze_tcp_conversation and extract_json_rpc_exchange both work on a conversation, one is transport-focused and the other application-focused, so no reasonable misselection exists.

    Naming Consistency5/5

    All tool names follow a clear verb_noun snake_case pattern: get/list/analyze/detect/extract plus a specific object. The singular 'tcp_conversation' after 'analyze_' and the plural in 'list_tcp_conversations' is grammatically consistent, not a style break.

    Tool Count5/5

    Five tools is a well-scoped set for a PCAP analysis server; each tool provides a distinct capability without redundancy. This is within the ideal range and leaves room for focused use.

    Completeness4/5

    The surface covers the core NOC/PCAP workflow: summarize, enumerate conversations, drill into a conversation's health, detect anomalies, and extract application-layer exchanges. A minor gap is the lack of generic packet/filter drill-down or pcap file management, but agents can work around these.

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      C
      maintenance
      Enables LLMs to analyze network packet captures (PCAP files) from local or remote sources through a modular architecture. Supports DNS traffic analysis with structured JSON responses for network security and troubleshooting tasks.
      9
      67 PyPI
      54
      MIT
    • F
      license
      C
      quality
      D
      maintenance
      Enables LLMs to capture, analyze, and summarize network traffic using Wireshark CLI tools, supporting live capture, pcap analysis, and LLM-oriented summaries.
      76
      -