GitHub
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
Beschreibung vom Entwickler (englisches Original)
Read-only packet capture analysis with tshark: Diameter, GTP, SIP, RTP, SIGTRAN, DNS, TCP and TLS.
Diese drei werden nie zu einer Punktzahl zusammengefasst: Meinungen, Messungen und Beliebtheit sind verschiedene Dinge.
Für diesen Server haben wir noch keine Zusammenfassung in einfacher Sprache geschrieben. Unten stehen die Fakten, die wir aus der Registry gelesen haben.
Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.
TSHARK_MCP_ALLOW_DIRS, TSHARK_MCP_TSHARK, TSHARK_MCP_REDACT, TSHARK_MCP_EXPORT_DIRDu brauchst
Welche App nutzt du?
Wähle oben deine App. Wir merken sie uns, damit der Button beim nächsten Mal „In … installieren“ anzeigt.
Öffne Claude Desktop → Settings → Developer → Edit Config und füge dies in claude_desktop_config.json ein
{
"mcpServers": {
"tshark": {
"command": "uvx",
"args": [
"tshark-mcp-server"
],
"env": {
"TSHARK_MCP_ALLOW_DIRS": "your-value",
"TSHARK_MCP_TSHARK": "your-value",
"TSHARK_MCP_REDACT": "your-value",
"TSHARK_MCP_EXPORT_DIR": "your-value"
}
}
}
}Führe das in deinem Terminal aus
claude mcp add tshark --env TSHARK_MCP_ALLOW_DIRS=your-value --env TSHARK_MCP_TSHARK=your-value --env TSHARK_MCP_REDACT=your-value --env TSHARK_MCP_EXPORT_DIR=your-value -- uvx tshark-mcp-serverTrag die leeren Werte ein, bevor du ihn startest.
In .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen
{
"mcpServers": {
"tshark": {
"command": "uvx",
"args": [
"tshark-mcp-server"
],
"env": {
"TSHARK_MCP_ALLOW_DIRS": "your-value",
"TSHARK_MCP_TSHARK": "your-value",
"TSHARK_MCP_REDACT": "your-value",
"TSHARK_MCP_EXPORT_DIR": "your-value"
}
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
In .vscode/mcp.json in deinem Projekt einfügen
{
"servers": {
"tshark": {
"type": "stdio",
"command": "uvx",
"args": [
"tshark-mcp-server"
],
"env": {
"TSHARK_MCP_ALLOW_DIRS": "your-value",
"TSHARK_MCP_TSHARK": "your-value",
"TSHARK_MCP_REDACT": "your-value",
"TSHARK_MCP_EXPORT_DIR": "your-value"
}
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
Dieser Server läuft auf deinem Computer, und ChatGPT kann sich nur mit Servern im Internet verbinden. Wähle eine andere App.
Deine Auswahl bleibt in einem Cookie auf diesem Gerät; kein Konto nötig.
TSHARK_MCP_TSHARK envTSHARK_MCP_REDACT envTSHARK_MCP_EXPORT_DIR envDiese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.
Läuft auf deinem Computer; die Tool-Liste erscheint nach der Installation in deiner KI-App.
Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 10. Nov. 2026
Der Registry-Name wurde mit dem GitHub-Konto Kx96xx bestätigt, dem das Repo gehört
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieser Server läuft auf deinem Computer; es gibt keinen Endpunkt im Internet
Läuft auf deinem Computer und nutzt stattdessen lokale Einstellungen
Läuft auf deinem Computer; Tool-Listen können wir nur von Endpunkten im Internet lesen
Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.
Er hat 1 von 1 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.
Das musst du eintragen: TSHARK_MCP_ALLOW_DIRS
Er läuft auf deinem Computer. Deine KI-App startet ihn bei Bedarf, und die Daten laufen nicht über die Server des Entwicklers (außer der Server ruft selbst einen Onlinedienst auf).
Das GitHub-Repo wurde zuletzt – geändert, und die neueste Version (0.2.0) kam vor 5 Tagen in die Registry.
Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Außerdem brauchst du Python (uv) auf deinem Computer.
In derselben Kategorie: GitHub, Desktop Commander, Cloudflare MCP
Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.
So liest du eine Karte:↓ Downloads pro Wochei★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
MCP server for terminal commands, file operations, and process management
Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.
Ask your AI assistant why a call, an attach or a session failed, and get the answer from your own pcap, with frame numbers. tshark-mcp is a read-only MCP server: it runs tshark -r on captures in directories you allow, pairs requests with answers across Diameter, GTP, SIP/RTP, SIGTRAN, DNS, TCP and TLS, and names the cause codes.
claude mcp add tshark-mcp -- uvx --from tshark-mcp-server tshark-mcp --allow-dir /path/to/pcaps
(needs uv and tshark; other clients below)
A live session, not a mock-up: an MCP client starts the PyPI package over stdio and calls two tools on examples/sip_one_way_audio.pcap. Recorded with vhs from docs/media/demo.tape.
tshark -r on files inside directories you allow, under hard caps on size, packets, output and time. It cannot capture, resolve names or load code, and it writes nothing unless the operator turns on export_subset with --export-dir.brew install --cask wireshark, apt-get install tshark or dnf install wireshark-cli. uvx --from tshark-mcp-server tshark-mcp --allow-dir /path/to/pcaps
Or install it once and use the tshark-mcp command: uv tool install tshark-mcp-server or pipx install tshark-mcp-server.
Requirements: Python 3.10+, tshark 4.0 or newer (tested with 4.2 and 4.6); the mcp (2.1+) and pydantic (2.12+) packages are installed automatically. The package is published as tshark-mcp-server (the PyPI name tshark-mcp belongs to an unrelated project); the command stays tshark-mcp. From a clone: uv tool install . or pipx install ..
Or build the container (tshark included, non-root, captures mounted read-only): docker build -t tshark-mcp ., then use docker run --rm -i --read-only --tmpfs /tmp --cap-drop ALL --network none -v /path/to/pcaps:/captures:ro tshark-mcp as the server command.
Claude Code:
claude mcp add tshark-mcp -- uvx --from tshark-mcp-server tshark-mcp --allow-dir /path/to/pcaps
Or as a Claude Code plugin (the server plus seven investigation skills; needs uv), which asks for the capture directory and redaction when enabled:
/plugin install tshark-mcp --marketplace Kx96xx/tshark-mcp
Claude Desktop as an extension: python mcpb/build.py && npx -y @anthropic-ai/mcpb@2.1.2 pack build/mcpb build/tshark-mcp.mcpb, then open build/tshark-mcp.mcpb and pick the capture directories.
Claude Desktop (claude_desktop_config.json), Cursor, or any client that starts stdio servers:
{
"mcpServers": { "tshark-mcp": { "command": "uvx", "args": ["--from", "tshark-mcp-server", "tshark-mcp", "--allow-dir", "/path/to/pcaps"] } } }
With uv tool install or pipx, use "command": "tshark-mcp" and drop the first three args.
MCP Registry clients (VS Code and the directories that index the registry) find it as io.github.Kx96xx/tshark-mcp: they run the PyPI package with uvx and ask for TSHARK_MCP_ALLOW_DIRS, the one required setting. Each GitHub release publishes the new version there (server.json).
To run it by hand: tshark-mcp --allow-dir /path/to/pcaps [--allow-dir /more] [--log-file ~/tshark-mcp.jsonl]. TSHARK_MCP_ALLOW_DIRS (colon-separated) works instead of the flag. Three small synthetic captures to start with are in examples/.
Never attach a capture with real subscriber data (IMSI, MSISDN, IMEI, IP addresses) to a public issue. Share the tool call and its output, and if a capture is needed, a minimal synthetic or anonymised one (--redact ids+ips masks identifiers in the output, not in the file).
Start with "What is wrong in this capture?": the assistant calls incident_summary, which runs every check the capture's protocols allow and returns ranked findings with frame numbers and the next call to make, plus the protocols it has no check for. Then ask the specific question:
One real answer, trimmed. The capture is examples/sip_one_way_audio.pcap: a SIP call where the called side never sends media. The agent finds the Call-ID with sip_dialogs, then calls:
media_path_check(path="/captures/sip_one_way_audio.pcap", call_id="one-way-audio-1@ue.example")
{
"offer": {"message": "INVITE", "media_endpoint": "198.51.100.9:40010", "codecs": ["PCMA/8000", "telephone-event/8000"]}, "answer": {"message": "200 INVITE", "media_endpoint": "192.0.2.70:30010", "codecs": ["PCMA/8000", "telephone-event/8000"]}, "directions": [ {"direction": "offerer to answerer", "expected": "198.51.100.9:40010 > 192.0.2.70:30010", "streams": [{"ssrc": "0x6a6a6a6a", "packets": 250, "codec": "PCMA/8000", "first_frame": 6}], "status": "as negotiated"}, {"direction": "answerer to offerer", "expected": "192.0.2.70:30010 > 198.51.100.9:40010", "streams": [], "status": "missing"} ], "issues": [{"kind": "one_way_media", "detail": "no RTP seen answerer to offerer (192.0.2.70:30010 > 198.51.100.9:40010): one-way audio as captured"}], "verdict": "no RTP seen answerer to offerer (192.0.2.70:30010 > 198.51.100.9:40010): one-way audio as captured" }
The caller's RTP arrived exactly where the SDP answer asked for it and nothing came back, so the fault is behind the media gateway, not the caller's NAT or codec. Every row carries frame numbers (first_frame: 6), so packet_detail can show the packet behind any claim. More worked examples, one per tool, are in docs/TOOLS.md; a full investigation of a failed attach is in docs/EXAMPLE.md.
-n and -r, never a shell. Capture, write, export and extension flags are refused before a process exists. tshark gets an empty profile, so no personal Lua script, plugin or extcap loads, and at most two tshark processes run at once.export_subset writes a filtered subset of a capture to a NEW pcapng file, only when the server was started with --export-dir DIR (a directory outside every --allow-dir), never overwrites, never writes elsewhere and is capped by --export-max-mb (50). Without the flag it refuses every call.--allow-dir. File size (500 MB), packets dissected per call (500), frames read per run (200 000), JSON per call (30 KB) and run time (60 s) are capped; the numbers are configurable, none can be switched off.untrusted_text_fields. Optional redaction (--redact ids) replaces IMSIs, MSISDNs, IMEIs, SIP users and UE addresses with stable tokens before anything leaves the server.Transport is stdio only; --transport streamable-http is for local experiments and has no authentication. Details, the full caps table and the redaction rules: docs/SAFETY.md. How to report a vulnerability: SECURITY.md.
Fifty-eight tools. Every one returns JSON with a typed outputSchema, pages with limit and offset, takes start/end to read one time window of a capture (ISO 8601, epoch seconds, "+120s" after the capture start, "-30s" before its end), and returns failures as {"error": {...}} with isError: true and a fix hint. The tool list is compact by default (less than half the size of the full list); each tool's full schema is the resource schema://tools/ , and --schema-profile full publishes them all. Only the default toolset (34 tools, about 60% of the list: incident_summary, the capture overview, the most used TCP/IP and telecom tools) is listed unless you add --toolsets mobile,voice,network (or all); see AGENTS.md. Full arguments, fields and examples: docs/TOOLS.md. Every tool with limit also takes output="summary" (the summary plus three rows, under 8 KB), columns (row keys to k
Nur der Anfang wird gezeigt; den Rest findest du im Repo