Skip to main content
Glama
merabytes

sentinelone-mcp

by merabytes
README.md
# sentinelone-mcp

FastMCP server for SentinelOne: session login, XDR alerts, Purple AI, and SOC investigation tools.

Credentials live in **Azure Key Vault** only. `config.json` holds Azure identity + KV secret **names**, not values.

## Setup

```bash
python -m venv .venv
source .venv/bin/activate
pip install -e .
playwright install chromium
cp config.example.json config.json   # edit with your vault + secret names
```

Populate KV secrets (see `config.example.json` for logical keys). Required:

- `S1-LOGIN-EMAIL`, `S1-LOGIN-PASSWORD`, `S1-LOGIN-TOTP` (if MFA)
- `S1-LOGIN-URL`, `S1-API-URL` (your SentinelOne console/API base URLs)
- `SENTINELONE-API-KEY`, `SENTINELONE-XDR-TOKEN`
- Optional: `S1-XDR-REGION` (default `eu1`), `S1-SITE-ID`

Session cookies (`SENTINELONE-SESSION-COOKIES*`) are written by `refresh_login`.

## Run

```bash
python main.py                    # FastMCP stdio (default)
python main.py --mode login       # refresh Playwright session → KV
python -m sentinelone_mcp         # same as default MCP mode
```

## Cursor MCP config

```json
{
  "mcpServers": {
    "sentinelone": {
      "command": "python",
      "args": ["/path/to/sentinelone-sync/main.py"],
      "cwd": "/path/to/sentinelone-sync"
    }
  }
}
```

Override config path: `SENTINELONE_CONFIG=/path/to/config.json`

TDQS

B3.4/5.0

Scored across 14 tools

Disambiguation3/5

Core resources (tenants, rules, Purple AI) are distinct, but several tools overlap in intent: get_threats vs get_unresolved_threats are near-duplicates, and get_storyline_events, run_dv_query, and xdr_query all offer event querying with only backend/scope differences. Descriptions help, but an agent could easily pick the wrong one without careful reading.

Naming Consistency4/5

Most tools follow a readable snake_case verb_noun pattern like get_threats, list_tenants, and mark_threat_resolved. There are minor deviations: run_dv_query and xdr_query both represent query actions but use different forms, and purple_ai_query/reset are not strictly verb-first. Overall the pattern is consistent enough to be predictable.

Tool Count4/5

14 tools is reasonable for a security operations server covering threats, alerts, Deep Visibility/XDR queries, tenants, and Purple AI. The count is slightly high because some event-query tools could be consolidated, but each tool still represents a plausible capability.

Completeness4/5

The set covers the main incident triage flow well: list unresolved threats, get threat context, query related events, and mark resolved. Minor gaps exist around cloud-detection rule management and alert status updates, but core investigative and response workflows are present.

Maintenance

ActivityMaintained
ResponsivenessNo issues