SIFTAgent
Click on "Install 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., "@SIFTAgentInvestigate disk image /cases/host01.E01 and memory /cases/host01.mem"
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.
SIFTAgent
A typed, audited MCP server that turns Claude Code into an autonomous DFIR analyst on the SANS SIFT Workstation.
Built for the SANS FIND EVIL! hackathon. SIFTAgent is the Custom MCP Server architecture — the approach the hackathon's own materials call "the most architecturally sound" — designed specifically to beat Protocol SIFT's hallucination baseline.
Why this design wins on the judging criteria
Criterion | How SIFTAgent addresses it |
Autonomous execution quality | A playbook ( |
IR accuracy | Findings cannot be recorded without citing real |
Breadth & depth | Typed tools across disk (Sleuth Kit), memory (Volatility 3), timeline (plaso), registry (RegRipper), strings/IOCs, YARA, hashing. |
Constraint implementation | Architectural, not prompt-based guardrails: a binary allowlist of read-only forensic tools, no |
Audit trail quality | Append-only JSONL log; every execution has a timestamp, exact argv, runtime, and SHA-256 output hash. Any finding links back to a specific tool execution. |
Usability | One-command install, mock mode for offline testing, full test suite. |
Related MCP server: SIFTGuard
Architecture
See docs/ARCHITECTURE.md (diagram + security boundaries). In short:
Claude Code ──MCP(stdio)──► SIFTAgent server
│
┌─────────────────────┼───────────────────────┐
▼ ▼ ▼
runner.py (guardrails) case.py (findings) iocs.py (parsing)
binary allowlist evidence-cited pure python
no shell, read-only verify/retract
│ │
▼ ▼
SIFT binaries ───────► audit.jsonl (timestamped, hashed)
(tsk, vol3, plaso, ▲
regripper, yara) │
incident-report.md (cites execution_ids)Install on the SIFT Workstation
# On the SANS SIFT Workstation (Ubuntu-based; sleuthkit, volatility3,
# plaso, regripper, yara are pre-installed):
git clone <your-repo-url> siftagent && cd siftagent
python3 -m pip install -r requirements.txt # installs the `mcp` SDKConnect to Claude Code
Add to your Claude Code MCP config (~/.claude.json or project .mcp.json):
{
"mcpServers": {
"siftagent": {
"command": "python3",
"args": ["-m", "siftagent.server"],
"cwd": "/home/sansforensics/siftagent",
"env": { "SIFTAGENT_LOG_DIR": "/cases/host01/logs" }
}
}
}Then in Claude Code, paste playbooks/INVESTIGATION.md as your system steer (or
reference it) and say: "Investigate /cases/host01.E01 and /cases/host01.mem."
Run an investigation
Live (on SIFT):
export SIFTAGENT_LOG_DIR=/cases/host01/logs
# Claude Code drives the MCP tools per the playbook.Offline / mock mode (Windows, macOS, CI — no SIFT needed):
SIFTAGENT_MODE=mock python -m siftagent.investigate
# Prints an evidence-cited incident report from synthetic fixtures.SIFTAGENT_MODE=mock serves canned tool output from siftagent/fixtures/, so
the whole agent loop is reproducible without a disk image. Setting
SIFTAGENT_ALLOW_MOCK_FALLBACK=1 falls back to fixtures only when a binary is
absent — useful for partial environments.
Tools exposed
Case layer: open_case, add_hypothesis, update_hypothesis, add_finding,
verify_finding, retract_finding, generate_report, get_audit_entry.
Forensics: disk_partitions, disk_fs_info, disk_list_files,
disk_file_metadata, disk_read_file, timeline_bodyfile, timeline_plaso,
timeline_query, memory_analyze, registry_analyze, extract_strings,
extract_iocs, hash_file, file_type, yara_scan.
Tests
python -m pytest -q # 18 tests, all offline via fixturesCovers guardrail enforcement, anti-hallucination citation checks, IOC parsing, and the full investigation pipeline including a self-correction/retraction case.
License
Apache-2.0. See LICENSE.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/abhishek2f24/siftagent'
If you have feedback or need assistance with the MCP directory API, please join our Discord server