loading…
Search for a command to run...
loading…
MCP server for Packmate, a CTF network traffic analyzer, enabling LLMs to analyze network traffic streams, search patterns, and manage pcap files.
MCP server for Packmate, a CTF network traffic analyzer, enabling LLMs to analyze network traffic streams, search patterns, and manage pcap files.
MCP server that exposes Packmate — a CTF network traffic analyzer — to LLM tooling like Claude Desktop or Claude Code.
transcript (auto text/hex with client→server markers), text, hex, python_bytes, base64.httpx client over Packmate's HTTP API + Basic Auth.uvx packmate-mcp # ephemeral, recommended
# or
pip install packmate-mcp
All settings are env vars with the PACKMATE_MCP_ prefix:
| Env var | Default | Description |
|---|---|---|
PACKMATE_MCP_BASE_URL |
http://localhost:65000 |
Packmate base URL |
PACKMATE_MCP_LOGIN |
(required) | Basic auth login |
PACKMATE_MCP_PASSWORD |
(required) | Basic auth password |
PACKMATE_MCP_TIMEOUT_SECONDS |
30 |
HTTP request timeout |
PACKMATE_MCP_LOG_LEVEL |
INFO |
DEBUG/INFO/WARNING/ERROR/CRITICAL |
See .env.example for a starter template.
Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %AppData%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"packmate": {
"command": "uvx",
"args": ["packmate-mcp"],
"env": {
"PACKMATE_MCP_BASE_URL": "http://localhost:65000",
"PACKMATE_MCP_LOGIN": "BinaryBears",
"PACKMATE_MCP_PASSWORD": "..."
}
}
}
}
Restart Claude Desktop fully (Cmd+Q / tray → Quit), then look for the connector under the + menu.
claude mcp add packmate uvx packmate-mcp \
--env PACKMATE_MCP_LOGIN=BinaryBears \
--env PACKMATE_MCP_PASSWORD=...
See the design spec for the full list. Highlights:
get_stream(stream_id, content_format='transcript') — fetch a stream with packets pre-rendered. Most common entrypoint.create_pattern + pattern_lookback + list_streams(pattern_id=…) — the native Packmate workflow for content search.set_stream_favorite(stream_id, favorite=True/False) — pin interesting streams.pcap_status / pcap_start — kick off pcap-file processing in FILE mode.git clone https://github.com/umbra2728/packmate-mcp
cd packmate-mcp
uv sync --dev
uv run pytest
uv run ruff check src tests
uv run mypy src
Manual smoke test against a real Packmate instance:
# in the Packmate repo
docker compose up -d
# back here
PACKMATE_MCP_LOGIN=BinaryBears PACKMATE_MCP_PASSWORD=123456 \
uv run mcp dev src/packmate_mcp/server.py
This opens the MCP Inspector and lets you exercise each tool.
This package ships to PyPI via Trusted Publishing. The workflow runs on any v*.*.* tag.
version in pyproject.toml.## [X.Y.Z] - YYYY-MM-DD section to CHANGELOG.md.git commit -am "Release vX.Y.Z"
git tag vX.Y.Z
git push --tags
One-time setup (not in repo state):
umbra2728/packmate-mcp, workflow release.yml, environment pypi.pypi.packmate-mcp and firegex-mcp with skills and sub-agents for Attack/Defense CTF rounds.Questions, suggestions, bug reports, or anything else — reach out:
MIT — see LICENSE.
Run in your terminal:
claude mcp add packmate-mcp -- npx Security
Low riskAutomated heuristic from public metadata — not a security guarantee.