mcpacket
mcpcap is a stateless MCP server that analyzes PCAP packet capture files (local paths or remote HTTP/HTTPS URLs) and returns structured JSON for LLM consumption.
DNS analysis (
analyze_dns_packets): queries/responses, domains, query types, frequency patterns, security signalsDHCP analysis (
analyze_dhcp_packets): DISCOVER/OFFER/REQUEST/ACK transactions, clients/servers, IP leases, optionsICMP analysis (
analyze_icmp_packets): ping request/reply timing, reachability, TTL/traceroute paths, error messagesTCP connection analysis (
analyze_tcp_connections): handshakes, lifecycle, termination, success/failure, optionalserver_ip/server_port/detailedfiltersTCP pattern analysis (
analyze_tcp_anomalies): observational statistics on handshakes, flags, RST distribution, retransmissions, lifecycleTCP retransmission analysis (
analyze_tcp_retransmissions): overall and per-connection retransmission rates vs. a configurable thresholdTraffic flow analysis (
analyze_traffic_flow): bidirectional client/server traffic asymmetry, RST sources, requiresserver_ipSIP analysis (
analyze_sip_packets): requests/responses over UDP/TCP, Call-IDs, CSeq, endpoints, response classes, user agentsCapInfos analysis (
analyze_capinfos): file metadata, packet counts/sizes, duration, timestamps, throughput rates (like Wireshark's capinfos)Analysis prompts: protocol-specific guidance for security, network troubleshooting, and forensic investigation (DNS, DHCP, ICMP, TCP, SIP)
Notes: Each call is stateless and supplies its own PCAP path/URL; file uploads, base64 content, and relative paths are unsupported. Supports .pcap, .pcapng, and .cap; runs over stdio or HTTP transport with optional bearer-token auth.
Provides network packet capture analysis capabilities similar to Wireshark's capinfos utility, enabling analysis of PCAP files for DNS, DHCP, ICMP, and TCP protocols with metadata extraction and packet statistics.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcpacketanalyze DNS traffic in /home/user/network_capture.pcap"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcpcap
A modular Python MCP (Model Context Protocol) server for analyzing PCAP files. mcpcap exposes protocol-specific analysis tools that accept a local file path or remote HTTP URL at call time, so the server stays stateless and works cleanly with MCP clients.
Overview
mcpcap uses a modular architecture to analyze different network protocols found in PCAP files. Each module provides specialized analysis tools that can be called independently with any PCAP file, making it perfect for integration with Claude Desktop and other MCP clients.
Key Features
Stateless MCP Tools: Each analysis call supplies its own PCAP path or URL
Modular Architecture: DNS, DHCP, ICMP, TCP, SIP, and CapInfos modules with easy extensibility for new protocols
Advanced TCP Analysis: Connection lifecycle, traffic patterns, retransmissions, and flow inspection
Local & Remote PCAP Support: Analyze files from local storage or HTTP URLs
Scapy Integration: Leverages scapy's comprehensive packet parsing capabilities
Specialized Analysis Prompts: Security, networking, and forensic analysis guidance
JSON Responses: Structured data format optimized for LLM consumption
Related MCP server: Wireshark-MCP
Installation
mcpcap requires Python 3.10 or greater.
Using pip
pip install mcpcapUsing uv
uv add mcpcapUsing uvx (for one-time usage)
uvx mcpcapUsing Docker
Build the image from the repository root:
docker build -t mcpcap .Run it over HTTP for MCP clients that connect to a network endpoint:
docker run --rm \
-p 127.0.0.1:8080:8080 \
-v "$(pwd)/examples:/pcaps:ro" \
mcpcap --transport http --host 0.0.0.0 --port 8080 --allow-unauthenticated-httpRun it over stdio for clients that can spawn docker run directly:
docker run --rm -i \
-v "$(pwd)/examples:/pcaps:ro" \
mcpcapWhen you mount local captures into the container, use the container path in tool calls:
analyze_dns_packets("/pcaps/dns.pcap")Remote http:// and https:// PCAP URLs work without a volume mount because mcpcap downloads them inside the container at call time.
Using Docker Compose
For the default HTTP workflow, start the bundled Compose service:
docker compose upThis pulls ghcr.io/mcpcap/mcpcap:latest, publishes http://127.0.0.1:8080/mcp only on host loopback, and mounts ./examples into the container as /pcaps.
analyze_dns_packets("/pcaps/dns.pcap")To analyze your own captures, change the volume in docker-compose.yml from ./examples:/pcaps:ro to your local capture directory.
For local development against the checked-out source instead of GHCR:
docker compose -f docker-compose.yml -f docker-compose.dev.yml up --buildQuick Start
1. Start the MCP Server
Start mcpcap as a stateless MCP server:
# Default stdio transport for Claude Desktop and similar clients
mcpcap
# Start with specific modules only
mcpcap --modules dns,tcp
# With packet analysis limits
mcpcap --max-packets 1000
# Start an HTTP transport server for remote MCP clients
mcpcap --transport http --host 127.0.0.1 --port 80802. Connect Your MCP Client
Use stdio transport for local MCP clients like Claude Desktop:
{
"mcpServers": {
"mcpcap": {
"command": "mcpcap",
"args": []
}
}
}Use HTTP transport when your MCP client expects a network endpoint:
mcpcap --transport http --host 127.0.0.1 --port 8080Point your HTTP-capable MCP client at:
http://127.0.0.1:8080/mcpDocker users can publish the same endpoint with:
docker run --rm \
-p 127.0.0.1:8080:8080 \
-v "/path/to/captures:/pcaps:ro" \
mcpcap --transport http --host 0.0.0.0 --port 8080 --allow-unauthenticated-httpOr with Compose:
docker compose upHTTP binds on non-loopback interfaces require the MCPCAP_AUTH_TOKEN environment secret. Set a strong random secret through your secret manager or enter it without recording it in shell history:
read -rs -p "HTTP bearer token: " MCPCAP_AUTH_TOKEN
export MCPCAP_AUTH_TOKEN
mcpcap --transport http --host 0.0.0.0 --port 8080Clients must send Authorization: Bearer <secret> on every request. Use a TLS reverse proxy and an HTTPS URL for remote clients. A configured token also protects loopback endpoints; stdio is unaffected. The Docker examples use --allow-unauthenticated-http to bind inside the container while publishing only to host loopback. Keep that loopback mapping and use a trusted local Docker network; other containers on the same network can reach the service. Compose forwards MCPCAP_AUTH_TOKEN when set, so you can also secure the local container endpoint. See the HTTP integration guide for details.
3. Analyze PCAP Files
Use the analysis tools with any PCAP file by providing the file path or URL when you call the tool:
DNS Analysis:
analyze_dns_packets("/path/to/dns.pcap")
analyze_dns_packets("https://example.com/remote.pcap")DHCP Analysis:
analyze_dhcp_packets("/path/to/dhcp.pcap")
analyze_dhcp_packets("https://example.com/dhcp-capture.pcap")ICMP Analysis:
analyze_icmp_packets("/path/to/icmp.pcap")
analyze_icmp_packets("https://example.com/ping-capture.pcap")TCP Connection Analysis:
analyze_tcp_connections("/path/to/capture.pcap")
analyze_tcp_connections("/path/to/capture.pcap", server_ip="192.168.1.1", server_port=80)TCP Pattern Analysis:
analyze_tcp_anomalies("/path/to/capture.pcap", server_ip="10.0.0.1")TCP Retransmission Analysis:
analyze_tcp_retransmissions("/path/to/capture.pcap")Traffic Flow Analysis:
analyze_traffic_flow("/path/to/capture.pcap", server_ip="192.168.1.100")SIP Analysis:
analyze_sip_packets("/path/to/voip-signaling.pcap")
analyze_sip_packets("https://example.com/sip-call-flow.pcap")CapInfos Analysis:
analyze_capinfos("/path/to/any.pcap")
analyze_capinfos("https://example.com/capture.pcap")If you are using Docker with a bind mount, pass the in-container path instead of the host path:
analyze_capinfos("/pcaps/dns.pcap")Available Tools
DNS Analysis Tools
analyze_dns_packets(pcap_file): Complete DNS traffic analysisExtract DNS queries and responses
Identify queried domains and subdomains
Analyze query types (A, AAAA, MX, CNAME, etc.)
Track query frequency and patterns
Detect potential security issues
DHCP Analysis Tools
analyze_dhcp_packets(pcap_file): Complete DHCP traffic analysisTrack DHCP transactions (DISCOVER, OFFER, REQUEST, ACK)
Identify DHCP clients and servers
Monitor IP address assignments and lease information
Analyze DHCP options and configurations
Detect DHCP anomalies and security issues
ICMP Analysis Tools
analyze_icmp_packets(pcap_file): Complete ICMP traffic analysisAnalyze ping requests and replies with response times
Identify network connectivity and reachability issues
Track TTL values and routing paths (traceroute data)
Detect ICMP error messages (unreachable, time exceeded)
Monitor for potential ICMP-based attacks or reconnaissance
TCP Analysis Tools
analyze_tcp_connections(pcap_file, server_ip=None, server_port=None, detailed=False): TCP connection state analysisTrack TCP three-way handshake (SYN, SYN-ACK, ACK)
Analyze connection lifecycle and termination (FIN, RST)
Identify successful vs failed connections
Filter by server IP and/or port
Detect connection issues and abnormal closures
analyze_tcp_anomalies(pcap_file, server_ip=None, server_port=None): Observational TCP traffic analysisSummarize handshakes, flags, resets, and retransmissions
Surface directional RST and retransmission patterns
Report connection lifecycle metrics
Return factual traffic patterns for further investigation
analyze_tcp_retransmissions(pcap_file, server_ip=None, threshold=0.02): TCP retransmission analysisMeasure overall and per-connection retransmission rates
Identify connections with quality issues
Compare against configurable thresholds
Detect network congestion and packet loss
analyze_traffic_flow(pcap_file, server_ip, server_port=None): Bidirectional traffic flow analysisAnalyze client-to-server vs server-to-client traffic
Identify traffic asymmetry
Determine RST packet sources
Interpret connection patterns and behaviors
SIP Analysis Tools
analyze_sip_packets(pcap_file): SIP signaling analysisParse SIP requests and responses across UDP and TCP transports
Extract call identifiers, CSeq values, endpoints, and key signaling headers
Summarize request methods and response code classes
Surface user agents, signaling servers, and transport usage
Support VoIP troubleshooting, security review, and forensic reconstruction
CapInfos Analysis Tools
analyze_capinfos(pcap_file): PCAP file metadata and statisticsFile information (size, name, link layer encapsulation)
Packet statistics (count, data size, average packet size)
Temporal analysis (duration, timestamps, packet rates)
Data throughput metrics (bytes/second, bits/second)
Similar to Wireshark's capinfos(1) utility
Analysis Prompts
mcpcap provides specialized analysis prompts to guide LLM analysis:
DNS Prompts
security_analysis- Focus on threat detection, DGA domains, DNS tunnelingnetwork_troubleshooting- Identify DNS performance and configuration issuesforensic_investigation- Timeline reconstruction and evidence collection
DHCP Prompts
dhcp_network_analysis- Network administration and IP managementdhcp_security_analysis- Security threats and rogue DHCP detectiondhcp_forensic_investigation- Forensic analysis of DHCP transactions
ICMP Prompts
icmp_network_diagnostics- Network connectivity and path analysisicmp_security_analysis- ICMP-based attacks and reconnaissance detectionicmp_forensic_investigation- Timeline reconstruction and network mapping
TCP Prompts
tcp_connection_troubleshooting- Connection issues, handshake analysis, termination patternstcp_security_analysis- Attack detection, firewall analysis, anomaly identification
SIP Prompts
sip_security_analysis- Registration abuse, toll fraud, and signaling exposure reviewsip_troubleshooting_analysis- Call setup progression, routing mismatches, and response-code failuressip_forensic_investigation- Timeline reconstruction by Call-ID, CSeq, endpoint, and transport
Configuration Options
Module Selection
# Load specific modules
mcpcap --modules dns # DNS analysis only
mcpcap --modules tcp # TCP analysis only
mcpcap --modules dhcp # DHCP analysis only
mcpcap --modules icmp # ICMP analysis only
mcpcap --modules sip # SIP analysis only
mcpcap --modules dns,tcp # DNS and TCP analysis
mcpcap --modules dns,dhcp,icmp,tcp,sip,capinfos # All modules (default)Analysis Limits
# Limit packet analysis for large files
mcpcap --max-packets 1000Transport Options
# Default stdio transport
mcpcap
# HTTP transport for network-accessible MCP clients
mcpcap --transport http
# HTTP transport on a custom interface and port (requires MCPCAP_AUTH_TOKEN)
mcpcap --transport http --host 0.0.0.0 --port 9000Complete Configuration Example
mcpcap --modules dns,dhcp,icmp,tcp,sip,capinfos --max-packets 500CLI Reference
mcpcap [--modules MODULES] [--max-packets N] [--transport {stdio,http}] [--host HOST] [--port PORT] [--allow-unauthenticated-http]Options:
--modules MODULES: Comma-separated modules to load (default:dns,dhcp,icmp,tcp,sip,capinfos)Available modules:
dns,dhcp,icmp,tcp,sip,capinfos
--max-packets N: Maximum packets to analyze per file (default: unlimited)--transport {stdio,http}: MCP transport to expose (default:stdio)--host HOST: Host to bind for HTTP transport (default:127.0.0.1)--port PORT: Port to bind for HTTP transport (default:8080)--allow-unauthenticated-http: Permit a non-loopback bind without a token only for isolated local deployments, such as Docker with a loopback-published port
Examples:
# Start with all modules
mcpcap
# DNS and TCP analysis only
mcpcap --modules dns,tcp
# TCP analysis for troubleshooting connections
mcpcap --modules tcp
# With packet limits for large files
mcpcap --max-packets 1000
# Expose mcpcap over HTTP
mcpcap --transport http --host 127.0.0.1 --port 8080Examples
Example PCAP files are included in the examples/ directory:
dns.pcap- DNS traffic for testing DNS analysisdhcp.pcap- DHCP 4-way handshake capture
There is currently no bundled ICMP sample capture in examples/.
Using with MCP Inspector
npm install -g @modelcontextprotocol/inspector
npx @modelcontextprotocol/inspector mcpcapThen test the tools:
// In the MCP Inspector web interface
analyze_dns_packets("./examples/dns.pcap")
analyze_dhcp_packets("./examples/dhcp.pcap")
analyze_capinfos("./examples/dns.pcap")
analyze_tcp_connections("/absolute/path/to/capture.pcap")
analyze_sip_packets("/absolute/path/to/voip-signaling.pcap")Architecture
mcpcap's modular design supports easy extension:
Core Components
BaseModule: Shared file handling, validation, and remote download
Protocol Modules: DNS, DHCP, ICMP, TCP, SIP, and CapInfos implementations
MCP Interface: Tool registration and prompt management
FastMCP Framework: MCP server implementation
Tool Flow
MCP Client Request → analyze_*_packets(pcap_file)
→ BaseModule.analyze_packets()
→ Module._analyze_protocol_file()
→ Structured JSON ResponseAdding New Modules
Create new protocol modules by:
Inheriting from
BaseModuleImplementing
_analyze_protocol_file(pcap_file)Registering analysis tools with the MCP server
Adding specialized analysis prompts
Future modules might include:
HTTP/HTTPS traffic analysis
UDP connection analysis
BGP routing analysis
SSL/TLS certificate analysis
Network forensics tools
Port scan detection
Remote File Support
Both analysis tools accept remote PCAP files via HTTP/HTTPS URLs:
# Examples of remote analysis
analyze_dns_packets("https://raw.githubusercontent.com/mcpcap/mcpcap/main/examples/dns.pcap")
analyze_dhcp_packets("https://example.com/network-capture.pcap")
analyze_icmp_packets("https://example.com/ping-test.pcap")
analyze_capinfos("https://example.com/network-metadata.pcap")
analyze_tcp_connections("https://example.com/tcp-session.pcap")
analyze_sip_packets("https://example.com/sip-signaling.pcap")Features:
Automatic temporary download and cleanup
Support for
.pcap,.pcapng, and.capfilesHTTP/HTTPS protocols supported
Security Considerations
When analyzing PCAP files:
Files may contain sensitive network information
Remote downloads are performed over HTTPS when possible
Temporary files are cleaned up automatically
Consider the source and trustworthiness of remote files
Contributing
Contributions welcome! Areas for contribution:
New Protocol Modules: Add support for HTTP, BGP, TLS, RTP, etc.
Enhanced Analysis: Improve existing DNS/DHCP analysis
Security Features: Add more threat detection capabilities
Performance: Optimize analysis for large PCAP files
License
MIT
Requirements
Python 3.10+
scapy (packet parsing and analysis)
requests (remote file access)
fastmcp (MCP server framework)
Documentation
GitHub: github.com/mcpcap/mcpcap
Documentation: docs.mcpcap.ai
Website: mcpcap.ai
Support
For questions, issues, or feature requests, please open an issue on GitHub.
Available Tools
9 toolsanalyze_capinfosA
Return metadata from a PCAP file, similar to Wireshark's capinfos utility.
IMPORTANT: This tool expects a FILE PATH or URL, not file content.
For local files: "/path/to/capture.pcap"
For remote files: "https://example.com/capture.pcap"
File uploads are NOT supported - save the file locally first
Args: pcap_file: Path to local PCAP file or HTTP URL to remote PCAP file (NOT file content - must be a path or URL)
Returns: A structured dictionary containing PCAP metadata including: - File information (size, name, encapsulation type) - Packet statistics (count, data size, average sizes) - Temporal data (duration, timestamps, rates)
| Name | Required | Description | Default |
|---|---|---|---|
| pcap_file | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it discloses that the tool accepts a path or URL rather than content, that uploads are unsupported, and that files must be saved locally first. It omits auth/rate-limit behavior and whether remote URLs are fetched, but the operational constraints it does surface are valuable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded, and the IMPORTANT block and Args/Returns sections are cleanly structured. The Returns summary is somewhat redundant given an output schema exists, but overall little is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool with an output schema and no annotations, the description covers purpose, input format, and constraints thoroughly. Only the absence of alternative-routing guidance keeps it from being fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it does: it defines the single required parameter as a local path or HTTP URL, gives concrete examples for both cases, and explicitly warns it is NOT file content. This fully documents the only parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Return metadata from a PCAP file') and anchors the behavior with a well-known analogue ('similar to Wireshark's capinfos utility'). It is clearly distinct from siblings like analyze_dns_packets in intent, though it never explicitly names or contrasts those alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies its usage (extracting file-level metadata) and gives strong input-format constraints, but never states when to prefer this over the sibling analyzers or any exclusion conditions. Usage is inferred rather than directed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_dhcp_packetsA
Analyze DHCP packets from a PCAP file and return comprehensive analysis results.
FILE UPLOAD LIMITATION: This MCP tool cannot process files uploaded through Claude's web interface. Files must be accessible via URL or local file path.
SUPPORTED INPUT FORMATS:
Remote files: "https://example.com/capture.pcap"
Local files: "/absolute/path/to/capture.pcap"
UNSUPPORTED:
Files uploaded through Claude's file upload feature
Base64 file content
Relative file paths
Args: pcap_file: HTTP URL or absolute local file path to PCAP file
Returns: A structured dictionary containing DHCP packet analysis results
| Name | Required | Description | Default |
|---|---|---|---|
| pcap_file | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose real behavioral constraints: it cannot process web-interface uploads, base64 content, or relative paths. This is meaningful operational context beyond the schema. It omits auth requirements, rate limits, and any error behavior, keeping it short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded purpose sentence followed by clearly labeled sections for limitations, supported formats, and unsupported inputs. Efficient overall, though the upload limitation is stated twice (once in the header block, once under UNSUPPORTED), which is mild redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the input constraints are thoroughly documented. For a single-parameter analysis tool this is nearly complete, with only auth/permission context missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the single property has no description, so the description must compensate. It does so well by defining pcap_file as an HTTP URL or absolute local file path, including concrete examples, which resolves exactly the ambiguity an agent would otherwise face.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (analyze) and resource (DHCP packets from a PCAP file), which naturally distinguishes it from the protocol-specific siblings like analyze_dns_packets and analyze_sip_packets. It does not explicitly name or contrast an alternative, but the protocol scope makes selection unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The bulk of the guidance covers how to supply input (supported URL/absolute-path formats, unsupported upload/base64/relative paths) rather than when to choose this tool over a sibling. Usage context is implied by the protocol name, so the agent can infer selection, but no explicit when-to-use or exclusion against alternatives is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_dns_packetsA
Analyze DNS packets from a PCAP file and return comprehensive analysis results.
FILE UPLOAD LIMITATION: This MCP tool cannot process files uploaded through Claude's web interface. Files must be accessible via URL or local file path.
SUPPORTED INPUT FORMATS:
Remote files: "https://example.com/capture.pcap"
Local files: "/absolute/path/to/capture.pcap"
UNSUPPORTED:
Files uploaded through Claude's file upload feature
Base64 file content
Relative file paths
Args: pcap_file: HTTP URL or absolute local file path to PCAP file
Returns: A structured dictionary containing DNS packet analysis results
| Name | Required | Description | Default |
|---|---|---|---|
| pcap_file | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose a major operational limitation: it cannot process files uploaded through the web interface and requires URL or absolute local path. It stops short of covering auth/permission needs or any rate/error behavior, but the file-access constraint is a valuable, non-obvious disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The limitation is front-loaded and the sectioned layout is scannable. The 'Args' and 'Returns' blocks partially restate what the schema and output schema already provide, which is mild redundancy, but the format constraints earn their space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value detail is unnecessary, and the description covers the critical input-format gotcha. It is essentially complete for a one-parameter analysis tool, with only minor gaps (no mention of error behavior or what the analysis specifically inspects).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it does: it names the parameter, specifies HTTP URL vs absolute local path, and enumerates unsupported forms (base64, relative paths, uploads). This fully documents the single parameter's expected syntax beyond the bare 'string' in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Analyze) and resource (DNS packets from a PCAP file) that cleanly differentiates it from the sibling protocol analyzers (SIP, DHCP, ICMP, TCP). An agent can route to it based on the DNS/PCAP pairing without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides strong 'when it will not work' guidance (no web-uploaded files, no base64, no relative paths) which is genuinely usage-relevant. However, it never addresses when to choose this tool over the sibling analyzers or what analysis scenarios it suits, so tool-selection guidance is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_icmp_packetsA
Analyze ICMP packets from a PCAP file and return comprehensive analysis results.
FILE UPLOAD LIMITATION: This MCP tool cannot process files uploaded through Claude's web interface. Files must be accessible via URL or local file path.
SUPPORTED INPUT FORMATS:
Remote files: "https://example.com/capture.pcap"
Local files: "/absolute/path/to/capture.pcap"
UNSUPPORTED:
Files uploaded through Claude's file upload feature
Base64 file content
Relative file paths
Args: pcap_file: HTTP URL or absolute local file path to PCAP file
Returns: A structured dictionary containing ICMP packet analysis results
| Name | Required | Description | Default |
|---|---|---|---|
| pcap_file | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations, so the description carries the full burden. It clearly discloses a critical operational limitation (no web-upload files, no base64, no relative paths) that materially affects invocation. It doesn't discuss auth, rate limits, or reversibility, but the key behavioral constraint is surfaced.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core purpose, then organized into clearly labeled sections (limitation, supported, unsupported). It is slightly longer than needed and the 'Returns' section is redundant given the output schema, but every other line earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool with an output schema already describing return values, the description covers the purpose, the exact accepted value forms, and the hard limitation that would otherwise cause silent failures. An agent has everything needed to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It does so by fully specifying the parameter: HTTP URL or absolute local file path, with explicit examples of each and a list of unsupported forms. Only the single parameter exists, so this is nearly complete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb (Analyze) and resource (ICMP packets from a PCAP file), clearly distinguishable from siblings like analyze_dns_packets or analyze_tcp_connections. The scope is narrow and precise.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides strong input-format guidance (what's supported vs unsupported) but never states when to choose this tool over the many sibling analyzers. An agent can infer the protocol-specific scope from the name, but the description doesn't reinforce it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_sip_packetsA
Analyze SIP packets from a PCAP file and return structured signaling details.
FILE UPLOAD LIMITATION: This MCP tool cannot process files uploaded through Claude's web interface. Files must be accessible via URL or local file path.
SUPPORTED INPUT FORMATS:
Remote files: "https://example.com/capture.pcap"
Local files: "/absolute/path/to/capture.pcap"
UNSUPPORTED:
Files uploaded through Claude's file upload feature
Base64 file content
Relative file paths
Args: pcap_file: HTTP URL or absolute local file path to PCAP file
Returns: A structured dictionary containing SIP packet analysis results
| Name | Required | Description | Default |
|---|---|---|---|
| pcap_file | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does substantial work: it discloses the hard limitation that web-uploaded, base64, and relative-path files will fail, and enumerates exactly what input is accepted. It stops short of covering size limits, timeouts, or auth needs, but the blocking constraint is surfaced clearly.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded, then the critical upload limitation, then formats. The Args/Returns blocks partly duplicate the prose above, adding mild redundancy, but the sectioned layout is scannable and nothing is padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no elaboration, and the description fully covers the input contract, the failure mode agents most often hit, and accepted path forms. For a single-parameter analysis tool, nothing an agent needs to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the schema only says 'string', so the description must compensate — and it does, explaining that pcap_file is an HTTP URL or absolute local file path and explicitly ruling out base64 content and relative paths. That is meaningfully beyond the structured field.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening sentence gives a specific verb and resource ('Analyze SIP packets from a PCAP file') plus the output nature ('structured signaling details'). The SIP resource unambiguously separates it from the DNS/DHCP/ICMP/TCP siblings, though it never names or contrasts them explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the resource name and the input-format guidance, but there is no statement of when to choose this tool over a sibling like analyze_dns_packets or analyze_traffic_flow, nor any prerequisites beyond the file-access constraint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_tcp_anomaliesA
Detect TCP traffic patterns through statistical analysis.
This tool analyzes TCP traffic to identify observable patterns without making assumptions about root causes. It provides factual metrics and pattern detection that can be used for further investigation.
Args: pcap_file: HTTP URL or absolute local file path to PCAP file server_ip: Optional filter for server IP address server_port: Optional filter for server port
Returns: A structured dictionary containing: - statistics: Comprehensive TCP metrics (handshakes, flags, RST distribution, etc.) - patterns: Observable patterns detected in the traffic - summary: High-level summary of findings
Detected pattern categories:
connection_establishment: Handshake success/failure rates, SYN response ratios
connection_termination: RST distribution, normal vs abnormal closes
reliability: Retransmission rates, packet loss indicators
connection_lifecycle: Connection state transitions
The analysis is purely observational - it reports what is seen in the traffic without attempting to diagnose specific issues like "firewall block" or "network congestion". This allows the data to be interpreted in context.
| Name | Required | Description | Default |
|---|---|---|---|
| pcap_file | Yes | ||
| server_ip | No | ||
| server_port | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden and does well here, explicitly stating the analysis is purely observational and will not diagnose root causes like firewall blocks or congestion. It does not cover operational traits such as file-size limits, runtime, or remote-URL fetching constraints, which leaves a modest gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The opening two sentences and the Args block are front-loaded and useful, but the Returns section largely restates the output schema and the pattern-category list repeats structure already implied by 'patterns'. It is longer than necessary given an output schema exists.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a three-parameter analysis tool with an output schema, the definition covers input formats, output shape, and the observational stance adequately. Missing sibling differentiation and remote-fetch constraints are the only notable gaps, and the output schema carries the return-value detail.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it does: pcap_file is documented as an HTTP URL or absolute local path, and both server_ip and server_port are identified as optional filters. It does not clarify filter direction (client vs server), which would be the remaining nuance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb+resource ('Detect TCP traffic patterns through statistical analysis') and names the observable metric categories it produces. It does not distinguish itself from close siblings like analyze_tcp_connections or analyze_tcp_retransmissions, which an agent could easily confuse with this tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied ('can be used for further investigation') but there is no explicit when-to-use or when-not guidance, and no sibling is named as an alternative for narrower TCP tasks such as retransmission or connection-specific analysis. The observational framing hints at appropriate use but stops short of routing the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_tcp_connectionsA
Analyze TCP connection states and lifecycle.
This is the core tool for TCP connection analysis, solving 80% of TCP-related issues.
FILE UPLOAD LIMITATION: This MCP tool cannot process files uploaded through Claude's web interface. Files must be accessible via URL or local file path.
SUPPORTED INPUT FORMATS:
Remote files: "https://example.com/capture.pcap"
Local files: "/absolute/path/to/capture.pcap"
UNSUPPORTED:
Files uploaded through Claude's file upload feature
Base64 file content
Relative file paths
Args: pcap_file: HTTP URL or absolute local file path to PCAP file server_ip: Optional filter for server IP address server_port: Optional filter for server port detailed: Whether to return detailed connection information
Returns: A structured dictionary containing TCP connection analysis results including: - summary: Overall connection statistics - connections: List of individual connections with states - issues: Detected problems
| Name | Required | Description | Default |
|---|---|---|---|
| detailed | No | ||
| pcap_file | Yes | ||
| server_ip | No | ||
| server_port | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and does reasonably well: it discloses a hard operational constraint (cannot process Claude web-upload files), enumerates supported vs unsupported input forms, and sketches the return shape (summary, connections, issues). It omits permissions, rate limits, and cost, but covers the behaviorally critical failure mode.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the core purpose, then limitations, then accepted formats, then args and returns in scannable blocks. The format documentation is a bit list-heavy, but every section (especially the upload limitation) earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema exists and the description still usefully summarizes the return structure; input format rules are thoroughly specified. The main gap is sibling differentiation within the TCP analysis family, which the agent needs given eight related tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it largely does: pcap_file is defined as URL or absolute local path (with examples), server_ip/server_port as optional filters, and detailed as controlling verbosity. Only 'detailed' is explained somewhat tautologically, keeping it from a 5.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Analyze TCP connection states and lifecycle') and positions itself as the core TCP tool. However, it never distinguishes itself from siblings like analyze_tcp_anomalies or analyze_tcp_retransmissions, so an agent cannot tell which TCP tool to pick from the description alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Core tool for TCP connection analysis, solving 80% of TCP-related issues" implies it should be tried first, and the file-upload limitation tells the agent when the tool will fail. But there is no explicit when-not guidance or pointer to the alternative TCP siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_tcp_retransmissionsB
Analyze TCP retransmission patterns.
Args: pcap_file: HTTP URL or absolute local file path to PCAP file server_ip: Optional filter for server IP address threshold: Retransmission rate threshold (default: 2%)
Returns: A structured dictionary containing: - total_retransmissions: Total number of retransmissions - retransmission_rate: Overall retransmission rate - by_connection: Per-connection retransmission statistics - summary: Worst connections and threshold violations
| Name | Required | Description | Default |
|---|---|---|---|
| pcap_file | Yes | ||
| server_ip | No | ||
| threshold | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It discloses the return shape (total_retransmissions, retransmission_rate, by_connection, summary) and the threshold default, and an analysis tool has low destructive risk. However, it says nothing about read-only nature, file-size limits, or how the 2% threshold is interpreted against rates.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded purpose sentence followed by cleanly structured Args and Returns blocks. The Returns block largely mirrors the existing output schema, making it somewhat redundant, but nothing is bloated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description need not enumerate return values in detail, yet it does, and it fully documents all three parameters. What it still omits is when to select this tool against its many TCP siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it does: pcap_file is specified as an HTTP URL or absolute local path, server_ip as an optional filter, and threshold as a rate defaulting to 2%. The URL/path distinction and percent semantics are value the schema alone lacks.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Analyze TCP retransmission patterns.' This distinguishes it from siblings like analyze_tcp_connections by naming the retransmission focus, though it does not explicitly contrast with analyze_tcp_anomalies or with the other analyze_*_packets tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to choose this tool over analyze_tcp_connections or analyze_tcp_anomalies, and no preconditions or exclusions are given. The reader must infer the use case entirely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_traffic_flowB
Analyze bidirectional traffic flow characteristics.
Identifies traffic direction, asymmetry, RST sources, and data transfer patterns.
Args: pcap_file: HTTP URL or absolute local file path to PCAP file server_ip: Server IP address (required) server_port: Optional filter for server port
Returns: A structured dictionary containing: - client_to_server: Client-to-server traffic statistics - server_to_client: Server-to-client traffic statistics - analysis: Asymmetry analysis and interpretations
| Name | Required | Description | Default |
|---|---|---|---|
| pcap_file | Yes | ||
| server_ip | Yes | ||
| server_port | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, but it does disclose the substantive behavior: the analysis computes direction, asymmetry, and RST sources. It does not cover operational traits such as remote URL fetch requirements, PCAP size limits, or whether the operation is read-only, leaving meaningful gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with purpose, then Args, then Returns. It is well sized, though the Returns block partly duplicates the output schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given an output schema already exists, explaining return values is optional but harmless. Params and computed outputs are covered; the only real omissions are operational constraints (fetch limits, auth) that would matter for a remote-URL-capable PCAP analyzer.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it does: pcap_file accepts an HTTP URL or absolute local path (schema only says string), server_ip is required, and server_port is an optional filter. That is materially more meaning than the raw schema conveys.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb+resource ('analyze bidirectional traffic flow') and enumerates concrete outputs (traffic direction, asymmetry, RST sources, data transfer patterns). It is clearly distinct from the protocol-specific siblings like analyze_dns_packets, but it never names a sibling to sharpen the boundary, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as analyze_tcp_connections or analyze_tcp_anomalies, which an agent must choose between. The Args block only restates inputs, not selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
9 tool updates
v0.10.0- Changed
analyze_capinfos1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
analyze_dhcp_packets1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
analyze_dns_packets1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
analyze_icmp_packets1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
analyze_sip_packets1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
analyze_tcp_anomalies1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
analyze_tcp_connections1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
analyze_tcp_retransmissions1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
analyze_traffic_flow1 field changed- added
Input schema / additionalPropertiesAdded value: +false
1 tool update
v0.9.6- Added
analyze_sip_packets
8 tool updates
v1.0.0- Changed
analyze_capinfos1 field changed- removed
Input schema / properties / pcap_file / titleRemoved value: -"Pcap File"
- Changed
analyze_dhcp_packets1 field changed- removed
Input schema / properties / pcap_file / titleRemoved value: -"Pcap File"
- Changed
analyze_dns_packets1 field changed- removed
Input schema / properties / pcap_file / titleRemoved value: -"Pcap File"
- Changed
analyze_icmp_packets1 field changed- removed
Input schema / properties / pcap_file / titleRemoved value: -"Pcap File"
- Added
analyze_tcp_anomalies - Added
analyze_tcp_connections - Added
analyze_tcp_retransmissions - Added
analyze_traffic_flow
4 tool updates
- First observed
analyze_capinfos - First observed
analyze_dhcp_packets - First observed
analyze_dns_packets - First observed
analyze_icmp_packets
TDQS
Scored across 9 tools
The protocol-specific tools (sip, dns, dhcp, icmp) and capinfos each have clearly distinct targets. The three TCP tools (connections, anomalies, retransmissions) overlap somewhat—anomalies explicitly covers retransmission rates and connection lifecycle transitions that the dedicated tools also report—but descriptions differentiate the detail-vs-statistical framing.
Every tool follows the same analyze_<protocol_or_scope> pattern, with consistent snake_case and verb-first structure. No deviations or mixed conventions.
Nine tools is well-scoped for a PCAP analysis server, with each protocol and TCP sub-analysis earning a distinct slot. No redundancy bloat or thin coverage.
Strong coverage of SIP, DNS, DHCP, ICMP, TCP lifecycle, retransmissions, flow, and file metadata. Common gaps remain (UDP, ARP, HTTP/TLS, generic protocol filtering), but core packet-forensics workflows are covered.
Maintenance
Related MCP Connectors
LLM Observability & Orchestration Agent
LLM Observability & Orchestration Agent (Langchain)
LLM Orchestration Observability Agent
MCP-Native LLM Orchestration Agent
Related MCP Servers
- AlicenseBqualityAmaintenanceAn 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.52484 PyPI290MIT
- AlicenseCqualityDmaintenanceEnables LLMs to perform automated network forensics, threat hunting, and traffic analysis using Wireshark/TShark.344MIT
- FlicenseCqualityDmaintenanceEnables LLMs to capture, analyze, and summarize network traffic using Wireshark CLI tools, supporting live capture, pcap analysis, and LLM-oriented summaries.76-
- AlicenseAqualityDmaintenanceA modular MCP server for analyzing PCAP files using protocol-specific analysis tools, enabling LLMs to read and analyze network packet captures from local paths or remote URLs.4MIT