packet-chef-mcp
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., "@packet-chef-mcpscan traffic.pcapng for DNS exfiltration and C2 beacons"
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.
π¦ PacketChef MCP
Zero-Dependency Network Forensics & PCAP Protocol Dissection Engine for AI Agents
A pure-JavaScript Model Context Protocol (MCP) server that empowers autonomous AI agents (Claude Code, Cursor, Windsurf, Codex, Strix) to dissect PCAP/PCAPng packet captures, reassemble TCP streams, hunt C2 beacons, detect DNS tunneling, and fingerprint TLS handshakes without native toolchains.
π Live Cloud Dashboard β’ β‘ Remote SSE Endpoint β’ π¦ NPM Package β’ π MCP Server Card β’ π€ llms.txt
π Live Cloud Deployment (Azure App Service)
PacketChef MCP is continuously hosted on Microsoft Azure with full HTTPS, SSE streaming, and discovery endpoints active:
Endpoint | Method | URL | Description |
Forensic Sandbox |
| Interactive web dashboard, real-time PCAP analyzer & agent configuration hub | |
Remote MCP SSE |
| Remote Server-Sent Events MCP endpoint for cloud-connected AI agents | |
JSON-RPC Messages |
| Bidirectional MCP JSON-RPC execution gateway | |
Health Probe |
| Real-time liveness check reporting server status and tool count ( | |
MCP Server Card |
| Standardized Model Context Protocol discovery catalog and schema | |
Agent llms.txt |
| Compact machine-readable reference optimized for LLM reasoning ingestion |
Related MCP server: Wireshark MCP Server
β‘ Why PacketChef MCP?
Traditional network analysis utilities (tshark, libpcap, Python scapy) were designed for human network engineers, not autonomous AI agents:
Toolchain Friction: They require heavy native C/C++ libraries and Python environments that frequently fail to compile in minimal Docker containers, serverless runners, or restricted enterprise endpoints.
Context Window Destruction: Dumping raw hex bytes or verbose packet trees into LLMs consumes tens of thousands of tokens per packet, causing hallucinations, catastrophic context exhaustion, and massive API costs.
PacketChef MCP is built from first principles as an AI-First Network Triage Sensor:
Zero Native Dependencies: 100% pure Node.js
Bufferarithmetic. Runs cross-platform anywhere Node.js runs without root privileges or compilation.Context Economy Shield: Converts raw binary captures into compact, bounded (<2KB) JSON summaries and paginated views (default 20, max 100 packets).
High-Signal Threat Decoders: Dissects the top 90% of real-world cloud/web attack indicators: DNS exfiltration, HTTP verbs, TLS SNI, JA3/JA4 fingerprints, C2 beacon periodicity, WebSockets, and QUIC handshakes.
Dual Transport Security: Local
stdiomode allows local file triage (filePath), while remoteHTTP/SSEmode enforces a strict filesystem jail, accepting only isolated Base64 streams (up to 10MB).
flowchart LR
A[Raw .pcap / .pcapng] --> B[PacketChef Binary Dissector]
B --> C[L2-L4 Decoder<br>Ethernet / IPv4 / IPv6 / TCP / UDP]
C --> D[TCP Stream Reassembler<br>Out-of-Order Splicing]
D --> E[L7 Forensic Analyzers<br>DNS / HTTP / TLS JA3-JA4 / WebSocket / QUIC]
E --> F[Threat Detection Engine<br>C2 Beacons CV / DNS Entropy / Credentials]
F --> G[Context Economy Shield<br>Bounded <2KB JSON Reports]
G --> H[AI Agent: Claude / Cursor / Strix]π Quick Start & Integration
Option 1: Remote Azure SSE (Zero Setup Needed)
Connect your AI agent directly to the live cloud endpoint without installing any local packages:
In Claude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"packet-chef-cloud": {
"url": "https://packet-chef-e9d4aqbcf3ggf2hx.eastasia-01.azurewebsites.net/sse"
}
}
}In Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"packet-chef": {
"url": "https://packet-chef-e9d4aqbcf3ggf2hx.eastasia-01.azurewebsites.net/sse"
}
}
}Option 2: Local Stdio via NPX (Recommended for Local PCAP Files)
Run locally on your workstation for zero network latency, air-gapped security, and direct file path inspection:
Configuration (claude_desktop_config.json or mcp.json)
{
"mcpServers": {
"packet-chef": {
"command": "npx",
"args": ["-y", "@noorfatima123456/packet-chef-mcp@latest"]
}
}
}Via Claude Code CLI
claude mcp add packet-chef -- npx -y @noorfatima123456/packet-chef-mcp@latestVia Smithery (1-Click Install)
npx -y @smithery/cli install @noor-202401938/packet-chef-mcp --client claudeπ οΈ MCP Tools Catalog (15 Production Forensics Operations)
Tool | Parameters | Output & Forensic Purpose |
|
| L3βL7 High-Density Triage: Generates a compact (<2KB JSON) capture overview: total packets, wire bytes, duration, protocol distribution, top talkers, and enterprise protocol warnings. |
|
| Paginated Packet Records: Bounded metadata listing (index, timestamp, length, 5-tuple, flags) protecting LLM context from raw hex flooding. |
|
| 5-Tuple Flow Tracker: Bidirectional conversation flows ranked by total bytes, tracking complete TCP flag lifecycles ( |
|
| RFC 1035 DNS Parser: Resolves queries and responses (A, AAAA, CNAME, TXT, MX, PTR) with pointer compression loop protection. |
|
| HTTP/1.x Stream Reassembly: Reassembles TCP segments and extracts HTTP verbs, URIs, response codes, headers, and 4KB body previews with cognitive triage hints. |
|
| TLS SNI Extractor: Dissects TLS 1.0β1.3 ClientHello records to extract Server Name Indication (SNI) hostnames without decrypting payloads. |
|
| Statistical C2 Beacon Detector: Computes interval time-delta variance (Coefficient of Variation, jitter %, median interval) to flag periodic Command & Control channels. Filters cloud IMDS and NTP. |
|
| DNS Tunnel & Exfiltration Hunter: Calculates Shannon entropy, subdomain label lengths, and character set encodings (hex/base32/base64) to detect dnscat2, iodine, and Cobalt Strike. |
|
| Cleartext Credential Hunter: Recovers credentials from HTTP Basic/Digest headers, URL query parameters, POST bodies, FTP USER/PASS, and SMTP AUTH. |
|
| Shannon Entropy Evaluator: Evaluates payload randomness (0.0 to 8.0 bits/byte) to separate plaintext, structured code, and compressed/encrypted malware. |
|
| JA3, JA3S & JA4 TLS Fingerprinting: Computes MD5 and JA4 fingerprints with RFC 8701 GREASE filtering and malware attribution profiles. |
|
| RFC 6455 WebSocket Unmasker: Reassembles TCP streams and unmasks client-to-server frames using 4-byte XOR keys with automatic JSON detection. |
|
| RFC 9000 QUIC / HTTP3 Parser: Decodes UDP 443 Initial Handshake packets and extracts TLS 1.3 SNI hostnames, ALPN, and Connection IDs. |
|
| PCAP Slicer & Exporter: Filters packets by IP, port, or protocol and serializes the slice into a standardized classic PCAP binary. |
|
| Zeek TSV Exporter: Generates standardized Zeek TSV logs ( |
π¬ Empirical Claims Audit & Verification
PacketChef MCP was evaluated against a strict 20-point empirical verification suite with raw wire bytes, corrupted buffers, encrypted packets, and adversarial inputs:
================================================================================
π EMPIRICAL CLAIMS AUDIT: 11/11 PACKETCHEF CLAIMS VERIFIED (100% PASS RATE)
================================================================================
[P1] Zero Native Dependencies β
Pure JS Buffer arithmetic (0 node-gyp bindings)
[P2] PCAP & PCAPng Dual Support β
Parsed Classic PCAP (0xa1b2c3d4) & PCAPng (SHB/IDB/EPB)
[P3] L2-L4 Dissection Accuracy β
Wire-accurate Ethernet, IPv4, TCP flags (SYN/ACK), UDP
[P4] TCP Stream Reassembly β
Reassembled 23 bytes from shuffled segments [1, 3, 2]
[P5] Statistical C2 Beaconing β
Detected beaconing via CV algorithm (CV=0.0081 < 0.15)
[P6] DNS Tunneling Detection β
Flagged exfiltration domain via Shannon entropy (4.28 bits)
[P7] TLS Fingerprints (JA3 / JA4) β
Calculated JA3 & JA4 with RFC 8701 GREASE filtering
[P8] RFC 6455 WebSocket De-masking β
Unmasked 4-byte XOR client frame to valid JSON message
[P9] RFC 9000 QUIC / HTTP/3 β
Extracted DCID & tokens from Initial Handshake packet
[P10] Truth-in-Triage Envelope β
Accurately reported unparsed SMB without silent false negatives
[P11] Crash Immunity (Fuzzing) β
Processed 100 malformed byte frames with 0 unhandled crashesπ‘οΈ Architectural Boundaries & Truth-in-Triage
Feature | Supported in PacketChef MCP v2.0 | Architectural Boundary (Out of Scope) | Recommended Deep Tool |
Capture Formats | Classic PCAP ( | Multi-gigabyte continuous packet capture rings |
|
Link Layers | Ethernet II, Linux Cooked SLL ( | 802.11 Radiotap, ZigBee, CAN bus, Cellular radio frames |
|
Network Layers | IPv4, IPv4 Defragmentation (RFC 791), IPv6 ( | SCTP, IPsec ESP payload decryption |
|
Enterprise Protocols | DNS, HTTP/1.x, TLS 1.0β1.3 ClientHello, WebSocket, QUIC v1 Initial | SMB, Kerberos, DCE/RPC β transparently reported via Truth-in-Triage envelope |
|
Memory Capacity | Max 10MB Base64, max 500MB local file, 32MB global stream reassembly ceiling | Multi-gigabyte captures (>500MB) exceeding V8 memory limits |
|
π§ͺ Running the Test Suite
Run the full automated test suite (94 unit, integration, and fuzz tests):
git clone https://github.com/noor202401938-netizen/packet-chef-mcp.git
cd packet-chef-mcp
npm install
npm testπ·οΈ Discoverability Tags & Keywords
mcp, mcp-server, packet-chef, packet-chef-mcp, pcap, pcapng, packet-analysis, network-forensics, modelcontextprotocol, cybersecurity, agentic-ai, claude, cursor, windsurf, strix, ja3, ja4, c2-detection, dns-tunneling, quic, websocket, threat-hunting, incident-response, siem, zeek, azure-app-service.
π License
Apache-2.0 Β© 2026 Noor Fatima
Available Tools
15 toolspacket_detect_beaconsB
Detects periodic C2 beacon communications using statistical time-delta variance (Coefficient of Variation, jitter %, median interval). Filters benign infrastructure (NTP, cloud IMDS, public resolvers) with confidence ratings (HIGH/MEDIUM/LOW).
| Name | Required | Description | Default |
|---|---|---|---|
| input | No | Base64-encoded PCAP file bytes (max 10MB). | |
| filePath | No | Absolute path to a PCAP file on disk (local stdio only). | |
| includeBenign | No | Whether to include tagged benign services in the output (default: true). | |
| minConnections | No | Minimum recurring connection attempts to evaluate (default: 8). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses detection methodology (time-delta variance, CoV, jitter%, median interval), benign infrastructure filtering, and confidence ratings (HIGH/MEDIUM/LOW). However, it does not state read-only nature, permissions, rate limits, or output format, leaving meaningful behavioral 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?
Two sentences, front-loaded with the core detection technique and followed by filtering and confidence details. No redundant or filler language; every part 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 packet analysis tool with no output schema, the description explains detection logic and confidence output but omits crucial input requirements (at least one of input or filePath is needed despite zero required parameters) and the return structure. This is adequate but incomplete for correct invocation.
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 100%, so all four parameters are fully documented in the schema. The description mentions filtering benign infrastructure (relating to includeBenign) and confidence ratings, but adds no syntax or constraints beyond what the schema already provides. Baseline 3 is appropriate.
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 'Detects' and resource 'periodic C2 beacon communications', plus the statistical method used. However, it does not differentiate from the sibling packet_detect_dns_tunneling or clarify how it relates to other packet_* 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?
The description gives no when-to-use guidance, no prerequisites, and no alternatives (e.g., when to choose this over packet_detect_dns_tunneling). Usage is only implied by the tool name and detection purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
packet_detect_dns_tunnelingA
Identifies DNS data exfiltration and tunneling channels (e.g. dnscat2, iodine, Cobalt Strike DNS beacons). Analyzes Shannon character entropy, subdomain label lengths, character set encodings (hex/base32/base64), and CDN heuristics.
| Name | Required | Description | Default |
|---|---|---|---|
| input | No | Base64-encoded PCAP file bytes (max 10MB). | |
| filePath | No | Absolute path to a PCAP file on disk (local stdio only). | |
| minSubdomains | No | Minimum unique subdomains under a parent domain to trigger analysis (default: 15). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It usefully discloses the detection methodology (Shannon entropy, label lengths, hex/base32/base64 encodings, CDN heuristics), which is genuine behavioral context, but says nothing about I/O format, cost/performance, whether it is read-only, or how a detection is reported.
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?
Two dense sentences, front-loaded with the purpose and then the technique list. No filler or restatement of the name.
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 stateless PCAP analyzer with a fully documented schema and no output schema, the description is nearly sufficient: it explains what it detects and how. It stops short of noting input requirements or result shape, which for a no-output-schema tool would have been a useful addition.
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 100%, so input, filePath, and minSubdomains are all self-documented, and the description adds no parameter-level detail. Baseline 3 applies when the schema does all the work.
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 ('Identifies') and a narrow resource ('DNS data exfiltration and tunneling channels') with named threat examples (dnscat2, iodine, Cobalt Strike DNS beacons). This inherently separates it from packet_extract_dns (record extraction) and packet_entropy, but it never explicitly addresses overlap with the sibling packet_detect_beacons, which also covers DNS beacons.
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 threat examples imply when the tool is relevant (hunting for covert DNS channels), but there is no explicit 'use this when / use X instead' guidance and no mention of the prerequisite PCAP input. With packet_detect_beacons as a close sibling, routing guidance would materially help.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
packet_entropyB
Calculates Shannon entropy (0.0 to 8.0 bits/byte) to evaluate payload randomness and distinguish between plaintext, structured data (JSON/HTML/code), and encrypted / compressed malware or C2 traffic.
| Name | Required | Description | Default |
|---|---|---|---|
| input | No | Base64-encoded PCAP file bytes (max 10MB). | |
| filePath | No | Absolute path to a PCAP file on disk (local stdio only). | |
| packetIndex | No | Optional zero-based packet index to calculate entropy for a single packet payload. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It explains the output range (0.0 to 8.0 bits/byte) and the interpretive meaning, which is useful, but does not disclose critical behavioral traits: whether it processes an entire PCAP or a single packet by default, whether it requires a local file or accepts base64, any rate limits or size constraints beyond what the schema states, or whether the operation is read-only or has side effects. For a tool with zero annotation coverage, this is a significant 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 description is a single, front-loaded sentence that states the purpose and interprets the metric's output range and meaning. Every clause earns its place; there is no redundancy or filler.
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 the tool's moderate complexity (3 optional parameters, no output schema) and the presence of no annotations, the description covers the core concept and output range but omits behavioral details such as default scope (single packet vs. full PCAP), performance constraints, and usage context relative to sibling detection tools. It is minimally viable but leaves gaps for an agent to infer correct invocation.
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 100%, so the schema already documents all three parameters (input, filePath, packetIndex) with clear descriptions including type, format, and constraints. The description adds no parameter-level detail beyond what is in the schema, so the baseline of 3 is appropriate.
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 (calculates) and resource (Shannon entropy of packet payloads), and explains its analytical role: distinguishing plaintext, structured data, and encrypted/compressed malware or C2 traffic. This differentiates it from siblings like packet_detect_beacons or packet_ja3_fingerprints by framing the output as a randomness metric rather than a detection or extraction result.
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 when entropy is useful (evaluating payload randomness), but does not explicitly state when to choose this tool over alternatives such as packet_detect_beacons or packet_ja3_fingerprints, nor does it provide any exclusions or prerequisites. No guidance on input selection (PCAP bytes vs. file path vs. packetIndex) is given beyond what the schema provides.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
packet_extract_conversationsA
Aggregates and tracks bidirectional 5-tuple conversations (src/dst IP, ports, protocol). Computes sent/received packet and byte counts, duration, and TCP flag lifecycles (SYN/ACK/FIN/RST). Ranked by total bytes transferred.
| Name | Required | Description | Default |
|---|---|---|---|
| input | No | Base64-encoded PCAP file bytes (max 10MB). | |
| limit | No | Maximum number of conversations to return (default: 50, max: 200). | |
| filePath | No | Absolute path to a PCAP file on disk (local stdio only). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It usefully discloses output structure (sent/received packet and byte counts, duration, TCP flag lifecycles) and the ranking rule (total bytes transferred), which is real behavior beyond the schema. However it says nothing about the input vs filePath trade-off, resource/latency behavior, or error handling.
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?
Four sentences, zero waste, front-loaded with the core identity before the computed metrics and the ranking clause. Every sentence contributes information.
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?
There is no output schema, so the description correctly compensates by describing what is returned (counts, duration, flag lifecycles, ranking). The remaining gap is operational: no guidance on choosing between the base64 'input' and on-disk 'filePath' modes, and no note on cost limits beyond the schema's stated 10MB.
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 100%, so the schema already documents input, limit, and filePath fully. The description adds no parameter-level meaning (e.g., which input mode is preferred, interaction between limit and ranking). Baseline 3 applies when the schema does the heavy lifting.
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 states a specific verb and resource ('Aggregates and tracks bidirectional 5-tuple conversations') and then enumerates exactly what is computed. The flow/conversation framing cleanly distinguishes it from the protocol-specific siblings (packet_extract_dns, packet_extract_http, packet_extract_tls_sni, etc.).
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?
No explicit when-to-use or when-not-to-use guidance, and no sibling is named as an alternative. Usage is only implied by the description: use it for flow-level, conversation-oriented analysis rather than payload extraction. An agent gets the gist but no routing rules.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
packet_extract_credentialsA
Hunts for cleartext and recoverable credentials in HTTP Basic / Digest headers, URL query parameters, form/JSON POST bodies, FTP USER/PASS commands, and SMTP authentication.
| Name | Required | Description | Default |
|---|---|---|---|
| input | No | Base64-encoded PCAP file bytes (max 10MB). | |
| filePath | No | Absolute path to a PCAP file on disk (local stdio only). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does disclose the targeted credential classes ('cleartext and recoverable'), which tells the agent what findings to expect. It omits anything about output structure, false-positive behavior, or requirements (e.g., that one of input/filePath must be supplied), leaving meaningful gaps for a no-annotation tool.
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?
A single dense sentence that is front-loaded with the purpose and then lists the coverage areas. Every clause earns its place; nothing is redundant.
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 no annotations and no output schema, the description should do more work: it never states that exactly one of input/filePath is required, nor what a finding/result looks like. The protocol coverage is thorough, but the operational and return-value context is thin for an extraction tool.
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 100%, so the two parameters (base64 PCAP bytes, absolute filePath) are already fully documented by the schema. The description adds no parameter-level detail, so the baseline of 3 applies.
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 (hunts for/extracts) and resource (credentials) and enumerates the exact protocols and carrier fields it inspects: HTTP Basic/Digest headers, URL query params, POST bodies, FTP USER/PASS, SMTP auth. This level of scope detail lets an agent distinguish it from the generic packet_extract_http sibling immediately.
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 enumerated protocol/field scope implies when the tool is applicable, which is useful context. However, there is no explicit when-to-use vs when-not guidance and no named alternative (e.g., use packet_extract_http for raw HTTP extraction, this tool for credential-focused hunting). Usage is inferred, not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
packet_extract_dnsB
Extracts and parses DNS queries and responses (RFC 1035) with label pointer loop protection. Aggregates query counts, unique domain rankings, and transaction details (A, AAAA, CNAME, TXT, MX, PTR).
| Name | Required | Description | Default |
|---|---|---|---|
| input | No | Base64-encoded PCAP file bytes (max 10MB). | |
| limit | No | Maximum number of DNS transactions to return (default: 50, max: 200). | |
| filePath | No | Absolute path to a PCAP file on disk (local stdio only). | |
| queryType | No | Optional query type filter (e.g. 'A', 'AAAA', 'TXT', 'CNAME'). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses useful behavioral traitsβlabel pointer loop protection and aggregated outputβbut omits safety/read-only status, permissions, and input handling constraints (e.g., the 10MB limit is only in the schema).
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?
Two tight sentences with zero waste: the core extraction purpose is front-loaded, and the second sentence efficiently lists the aggregation and transaction details. No redundancy or filler.
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 no output schema, the description steps in to describe return aggregates and transaction details. Combined with full schema coverage for parameters, it is nearly complete for a simple extraction tool, though it lacks any usage-routing context.
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 100%, so the schema already documents all parameters including input, limit, filePath, and queryType. The description adds no parameter-level detail beyond listing DNS record types, so the baseline 3 is appropriate.
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 uses a specific verb ('Extracts and parses') and resource ('DNS queries and responses'), and adds scope (RFC 1035) plus extra parsing features. It does not, however, differentiate from siblings like packet_detect_dns_tunneling or packet_summary, so it falls 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?
No explicit when-to-use, when-not-to-use, or alternative tool routing is provided. The purpose implies extraction, but the description gives no guidance on choosing this over related DNS or summary tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
packet_extract_httpA
Reassembles TCP streams and extracts HTTP/1.x requests and responses. Parses method, URI, headers, status codes, chunked transfers, body previews (4KB cap), and cognitive guidance hints.
| Name | Required | Description | Default |
|---|---|---|---|
| input | No | Base64-encoded PCAP file bytes (max 10MB). | |
| limit | No | Maximum number of HTTP transactions to return (default: 20, max: 100). | |
| method | No | Optional HTTP method filter (e.g. 'GET', 'POST'). | |
| filePath | No | Absolute path to a PCAP file on disk (local stdio only). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It does disclose genuine behavioral traits: TCP stream reassembly, HTTP/1.x only, chunked transfer handling, and a 4KB body preview cap. However, it omits anything about error behavior on non-HTTP or malformed streams, or what happens when no transactions are found, so the disclosure is partial.
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?
Two tight sentences, front-loaded with the core action, with no wasted preamble. The trailing phrase 'cognitive guidance hints' is vague filler that does not clearly describe an output, slightly weakening an otherwise efficient structure.
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 no output schema, the description usefully enumerates what is extracted (method, URI, headers, status codes, chunked transfers, body previews), effectively standing in for return-value documentation. It is nearly complete for a 4-param extraction tool, lacking only guidance on empty/failed extraction results.
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 100%, so all four parameters (input, limit, method, filePath) are already documented in the schema. The description adds no parameter-level detail beyond what the schema provides, so the baseline 3 applies.
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 states a specific verb and resource: 'Reassembles TCP streams and extracts HTTP/1.x requests and responses.' The HTTP/1.x focus cleanly distinguishes it from siblings like packet_extract_dns, packet_extract_tls_sni, and packet_extract_websocket.
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 named alternatives. An agent must infer that this is the HTTP tool from the name and the protocol mention alone, with nothing about when to prefer it over packet_extract_conversations or packet_filter_export.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
packet_extract_quic_sniA
Extracts SNI hostnames, ALPN tags, and Connection IDs (DCID/SCID) from QUIC v1 / HTTP/3 Initial packets over UDP (port 443) via RFC 9001 Section 5.2 Initial Secret AEAD decryption.
| Name | Required | Description | Default |
|---|---|---|---|
| input | No | Base64-encoded PCAP/PCAPng file bytes (max 10MB). | |
| limit | No | Maximum QUIC handshakes to return. | |
| filePath | No | Absolute path to a PCAP/PCAPng file on disk (local stdio only). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden. It usefully discloses that only RFC 9001 Initial-packet secrets are AEAD-decrypted, implying post-handshake QUIC packets are not recoverable, and bounds scope to QUIC v1. It does not state failure behavior, permission/read-only status, or payload size limits beyond the schema.
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?
A single front-loaded sentence with no filler, and the core scope (SNI/ALPN/Connection IDs from QUIC Initial) leads. It is jargon-dense with a long trailing technical clause, but every element is informative rather than padding.
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 no annotations and no output schema, the description must justify both the tool's behavior and its results. It adequately frames the input scope and decryption method but never hints at the shape of the returned handshakes (fields, per-packet grouping) nor the interaction between the input and filePath parameters.
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 100%, so input, limit, and filePath are already fully documented. The description adds no syntax, format, or exclusivity guidance (e.g. input vs filePath) beyond the schema, so the baseline 3 applies.
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 (Extracts) and precise resource (SNI hostnames, ALPN tags, DCID/SCID) scoped to QUIC v1 / HTTP/3 Initial packets over UDP 443. The protocol qualifier cleanly distinguishes it from the sibling packet_extract_tls_sni.
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?
No explicit when-to-use or when-not-to-use statement, and it never names the sibling packet_extract_tls_sni as the alternative. Usage is only implied by the protocol/port scope, leaving the agent to infer that QUIC traffic (not TLS-over-TCP) is the trigger.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
packet_extract_tls_sniB
Extracts Server Name Indication (SNI) hostnames and client metadata from TLS ClientHello handshakes. Ranks accessed domains by frequency without decrypting payload data.
| Name | Required | Description | Default |
|---|---|---|---|
| input | No | Base64-encoded PCAP file bytes (max 10MB). | |
| limit | No | Maximum number of TLS handshakes to return (default: 50, max: 200). | |
| filePath | No | Absolute path to a PCAP file on disk (local stdio only). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It usefully discloses that no payload decryption occurs and that output is frequency-ranked, which is real added context. It omits whether the operation is read-only, any size/permission constraints, and the local-only vs base64 input tradeoff.
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?
Two tight sentences, front-loaded with the extraction target and closed with the non-decryption constraint and ranking behavior. No wasted text.
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 read-only extraction tool with no output schema, the description conveys the essential return shape (ranked domains plus client metadata). It could say more about what 'client metadata' includes, but nothing critical to invocation 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 description coverage is 100%, with each of input, limit, and filePath fully documented in the schema, so the baseline is 3. The description adds no parameter-level detail (e.g., that input and filePath are alternatives).
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 (extracts) and resource (SNI hostnames / client metadata from TLS ClientHello), plus a secondary behavior (frequency ranking). It implicitly separates itself from packet_extract_quic_sni by scoping to TLS, but never names siblings 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?
No guidance on when to choose this over packet_extract_quic_sni, packet_ja3_fingerprints, or packet_extract_http. The reader must infer from the protocol name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
packet_extract_websocketB
Reassembles TCP streams and parses RFC 6455 WebSocket frames, unmasking client payloads and decoding text/JSON messages for persistent C2 or chat triage.
| Name | Required | Description | Default |
|---|---|---|---|
| input | No | Base64-encoded PCAP/PCAPng file bytes (max 10MB). | |
| limit | No | Maximum WebSocket frames to return. | |
| filePath | No | Absolute path to a PCAP/PCAPng file on disk (local stdio only). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses useful processing details (TCP reassembly, frame parsing, unmasking, decoding), but omits safety profile (read-only vs destructive), auth requirements, output format, error behavior, and resource limits.
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?
A single dense sentence with no wasted words, front-loading the core actions before the triage context. It is efficient and readable, though slightly run-on due to multiple comma-separated clauses.
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 packet extraction tool with no annotations and no output schema, the description covers the processing pipeline but leaves return shapes, output size considerations, and sibling selection criteria unstated. The schema handles inputs, but the agent lacks guidance on interpreting results.
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 100%, so the schema already documents input, limit, and filePath thoroughly. The description adds no parameter-level detail, syntax, or constraints beyond the schema, which is the baseline expectation in this case.
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 specific verbs and resource: reassembles TCP streams, parses RFC 6455 WebSocket frames, unmasks client payloads, decodes text/JSON messages. The WebSocket scope inherently distinguishes it from siblings like packet_extract_http or packet_extract_tls_sni, but it does not explicitly contrast 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 phrase 'for persistent C2 or chat triage' implies a use case, but there is no explicit guidance on when to choose this over sibling extractors, no prerequisites, and no exclusions or conditions for use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
packet_filter_exportB
Filters PCAP/PCAPng traffic by IP address, port, protocol, or time window and exports a clean, RFC-compliant classic PCAP binary (base64 or saved to disk).
| Name | Required | Description | Default |
|---|---|---|---|
| ip | No | Filter by IP address (matches either source or destination). | |
| port | No | Filter by port number (matches source or destination). | |
| input | No | Base64-encoded PCAP/PCAPng file bytes (max 10MB). | |
| limit | No | Maximum matched packets to export. | |
| filePath | No | Absolute path to a PCAP/PCAPng file on disk (local stdio only). | |
| protocol | No | Filter by transport/app protocol. | ALL |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses the output side effect (base64 inline or written to disk) and the guaranteed output format (RFC-compliant classic PCAP), but says nothing about permissions, overwrite behavior, or that PCAPng input is re-encoded to classic PCAP.
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?
A single front-loaded sentence that states the filter criteria first and the export artifact second, with no filler. It is efficient, though the list is slightly inaccurate as noted above.
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 6-parameter, 0-required, no-output-schema tool, the description covers the high-level purpose and output format, but omits what happens when no filters are supplied, the phantom 'time window' input, and any constraints on the disk-write path.
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 100%, so the baseline would be 3, but the description adds a 'time window' filter that does not exist among the six schema properties, which is actively misleading rather than additive. The other named filters (IP, port, protocol) merely restate schema fields.
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 pair: it filters PCAP/PCAPng traffic and exports a classic PCAP binary. It implicitly separates itself from the packet_extract_* siblings by producing a PCAP artifact rather than structured logs, but it never names or contrasts with any alternative 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?
There is no when-to-use guidance and no mention of when this is preferable to the many siblings (e.g., packet_list, packet_extract_conversations). Usage is only implied by the phrase 'Filters ... and exports', leaving the agent to infer routing on its own.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
packet_ja3_fingerprintsA
Extracts and aggregates JA3, JA3S, and JA4 TLS client fingerprints across the capture. Correlates hashes against known C2 frameworks (Cobalt Strike, Metasploit, Sliver) and automation tools.
| Name | Required | Description | Default |
|---|---|---|---|
| input | No | Base64-encoded PCAP/PCAPng file bytes (max 10MB). | |
| limit | No | Maximum unique fingerprints to return. | |
| filePath | No | Absolute path to a PCAP/PCAPng file on disk (local stdio only). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations the description carries the full burden, and it does disclose a real behavioral trait: output is enriched with correlations against known C2 frameworks and automation tools. However it says nothing about which input form is required (input vs filePath), capture size or performance limits, or the shape/reliability of the correlation results.
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?
Two sentences, no filler, and the core extraction capability is front-loaded ahead of the enrichment detail. Every clause 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 three-parameter forensic tool with no annotations and no output schema, the description covers what is produced (fingerprints plus C2 correlation matches) but omits which of the two input parameters is expected and any indication of result structure. Adequate but visibly short of what the tool's complexity warrants.
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 100%, so the schema already documents input, filePath and the limit/default/maximum constraints. The description adds no parameter-level semantics such as format expectations or how limit interacts with aggregation, so the baseline 3 applies.
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 names a precise verb pair (extracts and aggregates) and a precise resource (JA3, JA3S and JA4 TLS client fingerprints), then adds the C2-correlation step. An agent can immediately distinguish this from packet_extract_tls_sni, which deals in SNI names rather than fingerprint hashes.
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?
It never states when to reach for this tool versus siblings such as packet_extract_tls_sni or packet_detect_beacons, nor any prerequisite or exclusion. Usage is only inferable from the threat-hunting framing of the second sentence.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
packet_listC
Returns a paginated list of packet summary records from a PCAP capture. Enforces strict LLM context limits with default limit 20 and max 100.
| Name | Required | Description | Default |
|---|---|---|---|
| input | No | Base64-encoded PCAP file bytes (max 10MB). | |
| limit | No | Maximum number of packets to return (default: 20, max: 100). | |
| offset | No | Zero-based packet index offset for pagination (default: 0). | |
| filePath | No | Absolute path to a PCAP file on disk (local stdio only). | |
| protocol | No | Optional protocol filter ('TCP', 'UDP', 'ICMP', 'DNS', 'HTTP', 'TLS'). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It discloses pagination defaults and context-limit enforcement, but omits what it returns per record, whether the operation is read-only (implied but unstated), and how the mutually exclusive 'input' vs 'filePath' sources behave when both or neither are supplied.
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?
Two tight sentences with the core action front-loaded and no filler. The limit recital mildly duplicates the schema, but the phrasing is efficient overall.
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 five-parameter tool with no output schema, no annotations, and zero required parameters, the description should clarify that a source (input or filePath) must be provided. It also says nothing about the return record shape or pagination continuation, leaving real gaps for the agent.
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 100%, so the schema already documents all five parameters thoroughly, including limit bounds and offset semantics. The description adds the rationale for the limit (context protection) but no new syntax or format detail, matching the baseline 3.
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 ('Returns'), resource ('packet summary records'), and source ('from a PCAP capture'), so the agent knows exactly what it gets back. However, it never distinguishes itself from the sibling 'packet_summary', leaving ambiguity about which list/summary tool to choose.
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 gives no when-to-use guidance, no mention of alternatives like packet_summary or packet_filter_export, and no prerequisites. The only guidance is about pagination limits, which is operational detail rather than tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
packet_summaryA
High-density L3βL7 triage summary (<2KB JSON). Fast reconnaissance of packet totals, talkers, DNS/HTTP/TLS volumes, and warnings for unparsed enterprise protocols (SMB, Kerberos, SSH).
| Name | Required | Description | Default |
|---|---|---|---|
| input | No | Base64-encoded PCAP file bytes (max 10MB). Supported across both local and remote deployments. | |
| filePath | No | Absolute filesystem path to a PCAP file (up to 500MB). Allowed ONLY on local stdio connections; rejected in remote HTTP/SSE mode. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the behavioral burden, and it does disclose meaningful traits: a bounded output size (<2KB JSON) and, importantly, a coverage limitation β that SMB, Kerberos, and SSH are flagged as unparsed rather than analyzed. It stops short of stating performance/capture-size limits for large inputs or confirming the read-only nature explicitly.
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?
Two dense sentences with zero wasted words, and the key scoping facts (L3βL7, <2KB, reconnaissance) are front-loaded before the content enumeration.
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 read-only summary tool with no output schema, the description covers what the agent needs: the return contents (totals, talkers, per-protocol volumes), the size bound, and the notable limitation on unparsed protocols. Nothing critical to correct invocation 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 description coverage is 100%, so both parameters (base64 input and the local-only filePath) are already documented in the schema. The description adds no incremental parameter meaning, which is the expected baseline when the schema does the heavy lifting.
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+resource (triage summary over packet data) with explicit scope 'L3βL7' and enumerates the contents: packet totals, talkers, DNS/HTTP/TLS volumes, and warnings. This clearly differentiates it from the sibling tools, which are targeted extractors, positioning it as the high-level overview rather than a focused dissection.
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?
Calls itself 'fast reconnaissance,' which clearly signals when it should be reached for first, before drilling into specific extractors. However, it does not explicitly name an alternative or state when NOT to use it (e.g., when a specific protocol extraction is the goal), leaving that routing implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
packet_to_zeek_logsA
Exports connection, DNS, and HTTP events formatted in Zeek-compatible TSV schema (conn.log, dns.log, http.log) for SIEM ingestion into Splunk, ELK, or Wazuh. (Note: Generates TSV schemas, does not execute Zeek scripting engine).
| Name | Required | Description | Default |
|---|---|---|---|
| input | No | Base64-encoded PCAP/PCAPng file bytes (max 10MB). | |
| filePath | No | Absolute path to a PCAP/PCAPng file on disk (local stdio only). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden; it usefully discloses the output format and a key negative constraint (no Zeek scripting engine execution). However, it omits whether output is written to disk or returned inline, what happens on malformed/oversized PCAP, and any size limit beyond the schema's 10MB note.
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?
Two tight sentences: the primary capability with format and target sinks is front-loaded, and the parenthetical limitation follows. Every clause earns its place with no filler.
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 tool with no annotations and no output schema, the description should say more about the return contract (file paths written? TSV returned?) and note that one of input/filePath must be supplied, since both are optional in the schema. The format disclosure partially compensates, but a key operational gap remains.
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 100% β both input (base64, 10MB cap) and filePath (absolute path, local stdio only) are already documented in the schema. The description adds no additional parameter meaning, so the baseline 3 applies.
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 (exports) and a concrete resource (connection/DNS/HTTP events) plus the exact output shape (Zeek-compatible TSV: conn.log, dns.log, http.log). It is distinguishable from packet_extract_dns/http because of the multi-protocol Zeek TSV framing, though it never explicitly draws that contrast with those siblings.
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 context is implied through the SIEM-ingestion framing (Splunk, ELK, Wazuh) and the caveat that it does not run Zeek scripting. There is no explicit when-to-use-vs-alternative guidance, so an agent must infer that this tool supersedes the single-protocol extract siblings for Zeek pipelines.
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.
15 tool updates
v2.0.1- First observed
packet_detect_beacons - First observed
packet_detect_dns_tunneling - First observed
packet_entropy - First observed
packet_extract_conversations - First observed
packet_extract_credentials - First observed
packet_extract_dns - First observed
packet_extract_http - First observed
packet_extract_quic_sni - First observed
packet_extract_tls_sni - First observed
packet_extract_websocket - First observed
packet_filter_export - First observed
packet_ja3_fingerprints - First observed
packet_list - First observed
packet_summary - First observed
packet_to_zeek_logs
TDQS
Scored across 15 tools
Each tool targets a distinct packet-analysis task: high-level summary/list versus protocol-specific extraction versus detection versus export. The only mild conceptual overlap, packet_summary and packet_list, is clearly resolved by their descriptions.
All names use snake_case with a consistent packet_ prefix, which makes the set easy to scan. Some names are verb-led (packet_extract_*, packet_detect_*) while others are noun-led (packet_summary, packet_entropy, packet_ja3_fingerprints), so the pattern is slightly mixed.
15 tools is at the top of the recommended range but each covers a distinct packet-analysis capability, from triage to protocol extraction to detection to export. There are no redundant placeholder tools or obviously missing core functions.
The surface covers core PCAP triage, extraction (DNS/HTTP/TLS/QUIC/WebSocket), detection (beacons/DNS tunneling), credentials, entropy, filtering, and Zeek export. It warns about unparsed enterprise protocols such as SMB, Kerberos, and SSH but offers no extraction tools for them, which is a minor workaround gap.
Maintenance
Related MCP Connectors
OCR, transcription, file extraction, and image generation for AI agents via MCP.
MCP tools for agents: web research, content extraction, email, DNS, and blockchain intelligence.
Enrich, search, assess, and manage threat intelligence through 80+ typed MCP tools.
Provide detailed PokΓ©mon data and information through a standardized MCP interface. Enable LLMs anβ¦
Related MCP Servers
- AlicenseBqualityBmaintenanceAn 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.52600 PyPI307MIT
- AlicenseNot gradedqualityDmaintenanceProvides AI assistants with direct access to Wireshark network analysis capabilities, enabling live packet capture, PCAP file analysis, protocol statistics, and network monitoring through a secure MCP interface.1MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to analyze PCAP files for network forensics using Wireshark/tshark, providing high-performance packet inspection, filtering, and protocol analysis through the Model Context Protocol.2MIT
- AlicenseNot gradedqualityCmaintenanceBridges AI assistants and network packet analysis by exposing Wireshark/TShark functionality through MCP, enabling PCAP investigation, protocol discovery, packet filtering, stream analysis, and live capture.MIT