1. Conduid
  2. Developer Tools
  3. Wireshark
MCP server · Developer Tools

Wireshark

An MCP server that integrates Wireshark/tshark with AI tools and IDEs. Capture live traffic, parse .pcap files, apply display filters, follow streams, and export JSON - all via Claude Desktop, VS Code, or CLI. Cross‑platform, typed, tested, and pip‑installable.

61Good

Scored 6 hours ago · breakdown

About Wireshark

Wireshark is an MCP server published by khuynh22 in the Developer Tools category: an MCP server that integrates Wireshark/tshark with AI tools and IDEs. Capture live traffic, parse .pcap files, apply display filters, follow streams, and export JSON - all via Claude Desktop, VS Code, or CLI. Cross‑platform, typed, tested, and pip‑installable.

The repository has 65 stars and 8 forks, with the last commit 2 months ago. Recent commit activity is the strongest signal that reported issues will get attention.

Install

From source
git clone https://github.com/khuynh22/mcp-wireshark

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Tools (14)

analyze_iec61850Analyze GOOSE/SV/MMS captures for health anomalies; returns a worst-first OK/WARN/FAIL report per source

Parameters not published.

check_installationCheck if Wireshark/tshark is installed and return version info

Parameters not published.

decode_protocolExtract protocol fields as a TSV table with curated defaults for HTTP, DNS, TLS, GOOSE, MMS, SV, SIP, ICMP

Parameters not published.

display_filterApply a Wireshark display filter to a pcap file

Parameters not published.

expert_infotshark expert analysis: warnings, errors, and notes grouped by severity

Parameters not published.

export_jsonExport packets from a pcap file to JSON format

Parameters not published.

follow_tcpFollow a TCP stream and extract payload data

Parameters not published.

follow_udpFollow a UDP stream and extract payload data

Parameters not published.

list_interfacesList all available network interfaces for packet capture

Parameters not published.

live_captureCapture live network traffic from a specified interface

Parameters not published.

Show all 14 tools
protocol_statsAggregate tshark -z reports: protocol hierarchy, conversations, endpoints, HTTP/DNS/SMB stats

Parameters not published.

read_pcapRead and analyze packets from a .pcap or .pcapng file

Parameters not published.

stats_by_protoGenerate protocol hierarchy statistics from a pcap file

Parameters not published.

summarize_pcapGet a high-level summary of a pcap file: packet count, duration, top protocols, top talkers

Parameters not published.

Ask AI

✦

Ask AI about Wireshark

Powered by Claude · Grounded in docs

I know everything about Wireshark. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

Static checks derived from the repository 6 hours ago. Heuristics on the source, not an audit.

  • ✓README presentThe repository ships documentation.
  • ✓License declaredUsable under a stated license.
  • ✓Tests presentA test suite exists in the repository.
  • !Dependencies pinnedNo lockfile. Installs can pull different code over time.
  • ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
  • !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.

Releases

v0.5.0Release v0.5.0 · 8 Jul 2026What's Changed PR: #23 - feat: add analyze_iec61850 health tool (GOOSE/SV/MMS) Full Changelog**: https://github.com/khuynh22/mcp-wireshark/compare/v0.4.0...v0.5.0 Installation pip install mcp-wireshark==0.5.0 What's Changed ci: bump…
v0.4.0v0.4.0 — Protocol-specific dissector tools · 26 May 2026What's new Three new read-only tools for protocol-level pcap analysis — all designed to return token-efficient structured output instead of full JSON packet dumps. | Tool | What it does | |------|--------------| | `expert_info` | tshark…
v0.3.1v0.3.1 — Fix display_filter silently returning zero matches · 9 May 2026Bug fix release — `display_filter` and friends What was broken In 0.3.0 (and earlier), four tools combined `tshark -c <count>` with `-Y <filter>`: `display_filter` `read_pcap` (when `display_filter` was passed) `export_json` (when…
v0.3.0v0.3.0 — Read/Write tool split + Claude Code-first README · 9 May 2026What's new in 0.3.0 This release reorganizes the codebase around a clear **read vs write** boundary and rebuilds the README around Claude Code adoption. No tool names, schemas, or output formats have changed — every existing client and…
v0.2.0Release v0.2.0 · 8 Mar 2026What's Changed PR: #12 - feat: add new tools, marketplace manifest, and clean up project Full Changelog**: https://github.com/khuynh22/mcp-wireshark/compare/v0.1.1...v0.2.0 Installation pip install mcp-wireshark==0.2.0 What's Changed feat:…

README

mcp-wireshark

Community-maintained MCP server for Wireshark / tshark. Not affiliated with Wireshark or Anthropic. Give your AI assistant direct access to packet captures. Ask Claude to summarize a .pcap, follow a TCP stream, filter for a specific protocol, or capture live traffic — all without leaving the chat.

Claude using mcp-wireshark to analyze a capture

PyPI version CI


Quick start with Claude Code

pip install mcp-wireshark
claude mcp add --transport stdio --scope user mcp-wireshark -- mcp-wireshark

That's it. Open Claude Code and try:

"Summarize ./capture.pcap and tell me which IPs talked the most."

--scope user makes the server available across every Claude Code project. Drop the flag to install it for the current project only. See claude mcp docs for more.

Verify the install

claude mcp list

You should see mcp-wireshark listed. Inside Claude Code, ask:

"Run check_installation."

If tshark is on your PATH, it returns the version. If not, see troubleshooting.


Tools

The server exposes 14 tools, split cleanly between read tools (safe, no side effects) and write tools (capture traffic or write files). Both groups are annotated with the standard MCP readOnlyHint so any compliant client can surface the distinction.

Read tools

Safe to call freely — they only inspect state.

Tool What it does
check_installation Verify tshark is installed and show version
list_interfaces List network interfaces available to capture from
read_pcap Read packets from a .pcap / .pcapng file (preview + total count)
display_filter Apply a Wireshark display filter to a pcap
summarize_pcap High-level summary: I/O stats, protocol hierarchy, top talkers
stats_by_proto Protocol hierarchy statistics
follow_tcp Reassemble a TCP stream and return its payload
follow_udp Reassemble a UDP stream and return its payload
expert_info tshark expert analysis: warnings, errors, and notes grouped by severity
decode_protocol Extract protocol fields as a TSV table. Curated defaults for HTTP, DNS, TLS, GOOSE, MMS, SV, SIP, ICMP; arbitrary fields for any other protocol
protocol_stats Aggregate -z reports (protocol hierarchy, conversations, endpoints, HTTP/DNS/SMB stats)
analyze_iec61850 Health triage for GOOSE/SV/MMS captures: per-source OK/WARN/FAIL with sqNum/stNum gaps, TTL violations, smpCnt discontinuities, lost sync, and MMS errors

Write tools

These create files or capture live traffic. Compliant clients may prompt before invoking.

Tool What it does
live_capture Capture live traffic from an interface (capped at 5 minutes / 10k packets)
export_json Export packets from a pcap to a JSON file at a path you choose

See it in action

These clips run the real tools against demo/demo.pcapng — a short home-network capture. Regenerate them with python demo/render_gif.py <scene>.

summarize_pcap — characterize an unknown capture at a glance

summarize_pcap demo

decode_protocol — filter to a protocol and get a compact table (here: TLS SNI and DNS-over-HTTPS lookups)

decode_protocol demo

expert_info — let tshark surface the warnings and anomalies for you

expert_info demo


Example prompts

Drop these into Claude Code as-is:

List my network interfaces.
Summarize ./traffic.pcap.
From ./traffic.pcap, show me only HTTP requests.
Follow TCP stream 0 in ./traffic.pcap and tell me what protocol is in it.
Capture 30 seconds of traffic on Wi-Fi filtered to tcp.port == 443.
Export every DNS packet from ./traffic.pcap to ./dns.json.
Decode the GOOSE messages in ./substation.pcapng — only stNum >= 1.
Run expert analysis on ./traffic.pcap and group findings by severity.
Show me the IP conversations in ./traffic.pcap.

Useful display filters

Filter Matches
tcp.port == 80 HTTP
tcp.port == 443 HTTPS
dns All DNS
http.request HTTP requests only
ip.addr == 10.0.0.1 Traffic to/from a specific host
tcp.flags.syn == 1 && tcp.flags.ack == 0 TCP SYN packets only

For substation engineers analyzing IEC 61850 traffic:

Filter Matches
goose All GOOSE messages
goose.stNum > 0 GOOSE messages with state changes
mms All MMS traffic
sv Sampled Values

Other clients

Anything that speaks MCP works. The package installs an mcp-wireshark binary on PATH.

Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
    "mcpServers": {
        "wireshark": {
            "command": "mcp-wireshark"
        }
    }
}

Create .vscode/mcp.json in your workspace:

{
    "servers": {
        "wireshark": {
            "command": "mcp-wireshark"
        }
    }
}

Use the same stdio invocation: command: mcp-wireshark. No transport flags.


Prerequisites

  • Python 3.10+
  • Wireshark installed; tshark reachable on PATH

Install with pip or uv:

pip install mcp-wireshark
# or
uvx mcp-wireshark

Troubleshooting

Add Wireshark to your system PATH:

  1. Press Win+R → run sysdm.cpl → Advanced → Environment Variables
  2. Edit Path → add C:\Program Files\Wireshark
  3. Restart your terminal and Claude Code, then re-run check_installation

(Avoid passing PATH through claude mcp add --env — values are taken literally, no %PATH% expansion.)

Add yourself to the wireshark group, then log out and back in:

sudo usermod -aG wireshark $USER
  • Confirm the interface name from list_interfaces (Wireshark uses different names than ifconfig/ip)
  • On macOS, you may need to install ChmodBPF (ships with the Wireshark .dmg)
  • Check that no display filter is excluding everything

Development

git clone https://github.com/khuynh22/mcp-wireshark.git
cd mcp-wireshark
python -m venv venv && source venv/bin/activate  # Windows: venv\Scripts\activate
pip install -e ".[dev]"

pytest                   # tests
black src tests          # format
ruff check src tests     # lint
mypy src                 # type check

The codebase is organized so new tools land in one of two clearly-scoped files:

  • src/mcp_wireshark/read_tools.py — anything that just inspects state
  • src/mcp_wireshark/write_tools.py — anything that captures traffic or writes files

server.py only contains routing. See CLAUDE.md and CONTRIBUTING.md.

Security

Every file path is validated (.. rejected, extension allow-listed). Every display filter is checked for shell metacharacters. tshark is always invoked via asyncio.create_subprocess_exec, never shell=True. Hard caps: 10k packets per call, 5 min per live capture. See SECURITY.md.

License

MIT — see LICENSE.

README fetched from the repository 6 hours ago. The original is authoritative.

Questions

About Wireshark

How do I install Wireshark?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is Wireshark safe to use with an AI agent?

Its trust score is 61 out of 100 (good). It passes 4 of the 6 static security checks run so far; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Wireshark still maintained?

Yes — the latest release is v0.5.0 (8 Jul 2026), and the last commit was 2 months ago. The repository has 65 stars and 1 open issues.