loading…
Search for a command to run...
loading…
A proof-of-concept MCP bridge that exposes Velociraptor's forensic triage tools to LLMs, enabling natural language querying of Windows endpoints for artifacts l
A proof-of-concept MCP bridge that exposes Velociraptor's forensic triage tools to LLMs, enabling natural language querying of Windows endpoints for artifacts like network connections and suspicious processes.
Velociraptor MCP is a POC Model Context Protocol bridge for exposing LLMs to MCP clients.
Initial version has several Windows orientated triage tools deployed. Best use is querying usecase to target machine name.
e.g
can you give me all network connections on MACHINENAME and look for suspicious processes?
can you tell me which artifacts target the USN journal
https://docs.velociraptor.app/docs/server_automation/server_api/
Generate an api config file:
velociraptor --config /etc/velociraptor/server.config.yaml config api_client --name api --role administrator,api api_client.yaml
api_client.yaml to the repo root, or keep it anywhere local and set VELOCIRAPTOR_API_CONFIG=/path/to/api_client.yaml.api_client.yaml is gitignored and should not be committed.VELOCIRAPTOR_API_CONFIG=/path/to/api_client.yaml .venv/bin/python test_api.py to confirm the API works.VELOCIRAPTOR_API_CONFIG environment variable.VELOCIRAPTOR_ORG_ID to choose a default org context.VELOCIRAPTOR_DEBUG_VQL=1 only when you want raw VQL request logging on stderr for debugging.The easiest configuration is to run your venv python directly calling mcp_velociraptor_bridge.
{
"mcpServers": {
"velociraptor": {
"command": "/path/to/venv/bin/python",
"env": {
"VELOCIRAPTOR_API_CONFIG": "/path/to/api_client.yaml",
"VELOCIRAPTOR_ORG_ID": "O123"
},
"args": [
"/path/to/mcp_velociraptor_bridge.py"
]
}
}
}
The separate agent proof-of-concept now lives under agent_poc/. It now
includes a Windows-first engagement manager that fans out to isolated process,
network, persistence, and execution analysts in parallel, with deterministic
evidence collection and model-only synthesis per role. See
agent_poc/README.md for agent-specific usage and automation examples,
including verbose collection progress output with artifact names and row counts.
MCP tool responses are emitted as JSON text envelopes so stdio clients do not
need to parse Python repr() output:
{"ok": true, "data": {...}}
or
{"ok": false, "error": "message"}
collect_artifact accepts parameters as a structured JSON object with scalar
values or lists of scalar values, for example
{"PathRegex": ".*", "Targets": ["_BasicCollection"]}. Legacy compatibility
input can be supplied via legacy_parameters with simple scalar assignments or
list literals such as PathRegex='.*',Targets=['_BasicCollection']; raw VQL
fragments are no longer passed through.
collect_forensic_triage wraps Windows.Triage.Targets with
Targets='["_BasicCollection"]' and a collection timeout of 2400 seconds.
Due to the nature of DFIR, results depend on amount of data returned, model use and context window.
I have included a function to find artifacts and dynamically create collections but had mixed results. I have been pleasantly surprised with some results and disappointed when running other collections that cause lots of rows.
Check licencing - Anthropic's DPA is only tied to their Commercial Terms, which means that for client/production endpoint data you would need commercial licencing to leverage this MCP. Other MCP clients work just fine.
Please let me know how you go and feel free to add PR!
can you give me all network connections on MACHINENAME and look for suspicious processes?
can you tell me which artifacts target the USN journal
Выполни в терминале:
claude mcp add velociraptor-mcp -- npx Безопасность
Низкий рискАвтоматическая эвристика по публичным данным — не гарантия безопасности.