A swiss-knife MCP server for analysing PCAP files
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"sharkmcp": {
"command": "<see-readme>",
"args": []
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
An MCP server that exposes sharkd — Wireshark's programmatic interface — as a set of tools for LLMs. Load PCAP/PCAPNG files and analyse them with natural language.
No automated test available for this server. Check the GitHub README for setup instructions.
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
No package registry to scan.
Click any tool to inspect its schema.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in other
MCP server for Spanning Cloud Backup — M365/GWS/Salesforce backups, restores, audit.
AI agent control of 3D printers — 432 tools for OctoPrint, Moonraker, Bambu, Prusa, Elegoo
MCP server for Kaseya Autotask PSA — companies, tickets, projects, time entries, and more.
On-chain provenance lookup for AnchorRegistry. Resolve AR-IDs, hashes, and full trees. Authless.
MCP Security Weekly
Get CVE alerts and security updates for SharkMCP and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
An MCP server that exposes sharkd — Wireshark's programmatic interface — as a set of tools for LLMs. Load PCAP/PCAPNG files and analyse them with natural language.
sharkd)git clone https://github.com/weirdmachine64/sharkmcp.git
cd sharkmcp
pip install -e .
Or run directly from the repo without installing:
uvx --from git+https://github.com/weirdmachine64/sharkmcp sharkmcp
Add to your .mcp.json:
{
"mcpServers": {
"sharkmcp": {
"command": "uvx",
"args": ["--from", "git+https://github.com/weirdmachine64/sharkmcp", "sharkmcp"],
"env": {
"SHARKMCP_TIMEOUT": "300"
}
}
}
}
| Env var | Default | Description |
|---|---|---|
SHARKMCP_SHARKD_BIN | sharkd | Path to sharkd binary |
SHARKMCP_TIMEOUT | 300 | Per-request timeout in seconds |
Each loaded PCAP gets a dedicated sharkd subprocess. Results from expensive scans (conversations, expert info, export objects) are cached in memory so paginated follow-up calls are served without re-scanning.
| Tool | Description |
|---|---|
load_pcap(path, alias?) | Load a PCAP/PCAPNG file |
list_pcaps() | List all loaded PCAPs |
unload_pcap(alias) | Terminate session and free memory |
| Tool | Description |
|---|---|
pcap_summary(alias) | Frame count, duration, file size, protocols seen |
server_info(alias) | All available tap types, follow protocols, field types |
| Tool | Description |
|---|---|
list_packets(alias, filter?, columns?, refs?) | Paginated frame list with display filter |
packet_detail(alias, frame, include_bytes?, include_hidden?) | Full protocol tree for one frame |
extract_fields(alias, fields, filter?) | Extract arbitrary fields per packet as a table |
| Tool | Description |
|---|---|
validate(alias, filter?, field?) | Validate a display filter and/or field name |
complete(alias, field?, pref?) | Autocomplete field or preference names by prefix |
get_preference(alias, preference?) | Read dissector preferences |
set_preference(alias, name, value) | Set a dissector preference for this session |
set_frame_comment(alias, frame, comment) | Annotate a frame (session-scoped) |
| Tool | Description |
|---|---|
protocol_hierarchy(alias, filter?) | Nested protocol tree with frame/byte counts |
io_stats(alias, interval_ms?, filter?) | Per-interval frame and byte counts |
iograph(alias, graphs, interval_ms?, filters?) | Multi-line traffic graph; supports packets, bytes, bits, sum:<field>, avg:<field>, min:<field>, max:<field>, load:<field>, frames:<field> |
follow_stream(alias, protocol, filter) | Reassemble a stream (tcp, udp, tls, http, http2, quic, sip, dccp, websocket) |
| Tool | Description |
|---|---|
conversations(alias, type?, sort_by?) | Conversation table — bytes/frames per peer pair |
endpoints(alias, type?, sort_by?) | Endpoint table — tx/rx per host |
Supported layer types for both: tcp, udp, ip, ipv6, eth, sctp, dccp, mptcp, wifi, bluetooth, zigbee, fc, fddi, usb, and more.
| Tool | Description |
|---|---|
expert_info(alias, filter?) | Per-frame anomaly detection — errors, warnings, notes, chats |
protocol_stats(alias, protocol) | Aggregate stats for dns, http, http_requests, http_server, sip, dhcp, h225, http2, rtsp |
service_response_time(alias, protocol) | Request/response latency for smb, smb2, snmp, ldap, diameter, rpc, gtp, and more |
| `response_time |