Purple AI MCP Server
Purple AI MCP-Server
Der Purple AI MCP-Server ermöglicht Ihnen den Zugriff auf SentinelOne-Dienste mit jedem beliebigen MCP-Client.
Funktionen
Dieser Server stellt die SentinelOne-Plattform über das Model Context Protocol bereit:
Purple AI: Sicherheitsfragen stellen, Bedrohungen untersuchen
Events: PowerQueries auf Ereignisse in Ihrem SentinelOne Data Lake ausführen
Alerts: Warnmeldungen abfragen, durchsuchen und untersuchen
Vulnerabilities: CVEs und Sicherheitsergebnisse nachverfolgen
Misconfigurations: Probleme bei der Sicherheitskonfiguration analysieren
Inventory: Fragen zu Endpunkten, Cloud-Ressourcen, Identitäten und Netzwerkgeräten stellen
Purple AI MCP ist ein schreibgeschützter Dienst – Sie können über dieses MCP keine Änderungen an Ihrem Konto oder an Objekten innerhalb Ihres Kontos vornehmen.
Related MCP server: Datadog MCP Server
Schnellstart
Verwendung von uv (Empfohlen für lokale Entwicklung oder Bereitstellung)
# Install uv if you don't have it
curl -LsSf https://astral.sh/uv/install.sh | sh
# Store your token securely (one-time setup, see Secure Token Storage below)
uvx --from git+https://github.com/Sentinel-One/purple-mcp.git purple-mcp-store-token
# Set base URL
export PURPLEMCP_CONSOLE_BASE_URL="https://your-console.sentinelone.net"
# Run
uvx --from git+https://github.com/Sentinel-One/purple-mcp.git purple-mcp --mode=stdio⚠️ Sicherheitshinweis ⚠️
Für Produktionsumgebungen oder sicherheitssensible Umgebungen sollten Sie auf einen spezifischen Commit-Hash festlegen, anstatt den Standard-Branch zu verwenden, um das Risiko in der Lieferkette zu verringern. Nutzen Sie dazu unsere Releases oder unsere verifizierten Commits im main Branch.
# Run with pinned hash
uvx --from git+https://github.com/Sentinel-One/purple-mcp.git@<commit-hash> purple-mcp --mode=stdioSichere Token-Speicherung (Empfohlen)
Anstatt PURPLEMCP_CONSOLE_TOKEN in Klartext-Konfigurationsdateien oder Umgebungsvariablen zu speichern, können Sie es im Anmeldeinformations-Manager Ihres Betriebssystems ablegen. Dies verwendet den Windows Credential Manager unter Windows, den Keychain unter macOS oder den Secret Service unter Linux.
1. Speichern Sie Ihr Token (einmalige Einrichtung):
uvx --from git+https://github.com/Sentinel-One/purple-mcp.git purple-mcp-store-tokenSie werden aufgefordert, das Token einzugeben und zu bestätigen. Die Eingabe ist verborgen.
2. Aktualisieren Sie Ihre Client-Konfiguration, um PURPLEMCP_CONSOLE_TOKEN aus env zu entfernen:
{
"mcpServers": {
"purple-mcp": {
"command": "uvx",
"args": ["--from", "git+https://github.com/Sentinel-One/purple-mcp.git", "purple-mcp", "--mode", "stdio"],
"env": {
"PURPLEMCP_CONSOLE_BASE_URL": "https://your-console.sentinelone.net"
}
}
}
}Das Token wird beim Start automatisch aus dem Anmeldeinformationsspeicher abgerufen. Wenn PURPLEMCP_CONSOLE_TOKEN zusätzlich als Umgebungsvariable gesetzt ist, hat die Umgebungsvariable Vorrang.
So entfernen Sie ein gespeichertes Token:
uvx --from git+https://github.com/Sentinel-One/purple-mcp.git purple-mcp-delete-tokenManuelles Hinzufügen des Tokens zum Windows Credential Manager
Wenn Sie das Token lieber direkt hinzufügen möchten, ohne den Befehl purple-mcp-store-token auszuführen, verwenden Sie PowerShell:
cmdkey /generic:"purple-mcp/PURPLEMCP_CONSOLE_TOKEN" /user:"PURPLEMCP_CONSOLE_TOKEN" /pass:"your-token-here"Um zu überprüfen, ob es gespeichert wurde:
cmdkey /list:purple-mcp*Zum Entfernen:
cmdkey /delete:"purple-mcp/PURPLEMCP_CONSOLE_TOKEN"Verwendung von Docker
# Build the image
docker build -t purple-mcp:latest .
docker run -p 8000:8000 \
-e PURPLEMCP_CONSOLE_TOKEN="your_token" \
-e PURPLEMCP_CONSOLE_BASE_URL="https://your-console.sentinelone.net" \
-e MCP_MODE=streamable-http \
purple-mcp:latestHinweis: Docker-Container können nicht auf den Anmeldeinformationsspeicher des Host-Betriebssystems zugreifen, daher muss
PURPLEMCP_CONSOLE_TOKENals Umgebungsvariable übergeben werden. Verwenden Sie die Secrets-Verwaltung Ihrer Plattform (z. B. Docker Secrets, AWS Secrets Manager), um eine Hardcodierung zu vermeiden.
Verwendung von Amazon Bedrock AgentCore
Folgen Sie den Anweisungen für die Amazon Bedrock AgentCore-Bereitstellung hier
Verwendung von Amazon Elastic Container Service (ECS)
Folgen Sie den Anweisungen für die Amazon Elastic Container Service-Bereitstellung hier
Für Produktionsbereitstellungen siehe Deployment Guide.
Hinweis: Purple AI MCP enthält keine integrierte Authentifizierung. Platzieren Sie den Server bei netzwerkexponierten Bereitstellungen hinter einem Reverse Proxy oder Load Balancer. Siehe Production Setup für Konfigurationen von Cloud Load Balancern (AWS ALB, GCP Cloud Load Balancing, Azure Application Gateway) oder nginx-Beispiele für selbst gehostete Bereitstellungen.
Ihr Token benötigt Berechtigungen auf Konto- oder Standortebene (nicht global). Sie erhalten ein solches Token unter Policy & Settings → User Management → Service Users in Ihrer Konsole. Derzeit unterstützt dieser Server nur Token, die Zugriff auf ein einzelnes Konto oder einen einzelnen Standort haben. Wenn Sie auf mehrere Standorte zugreifen müssen, müssen Sie mehrere MCP-Server mit kontospezifischen oder standortspezifischen Token ausführen.
Clients
Purple AI MCP unterstützt die Protokolle stdio, sse und streamable-http und sollte in jedem Client funktionieren, der MCP unterstützt. Einige Beispielkonfigurationen sind unten aufgeführt.
Claude Desktop
Bearbeiten Sie ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) oder %APPDATA%/Claude/claude_desktop_config.json (Windows):
{
"mcpServers": {
"purple-mcp": {
"command": "uvx",
"args": ["--from", "git+https://github.com/Sentinel-One/purple-mcp.git", "purple-mcp", "--mode", "stdio"],
"env": {
"PURPLEMCP_CONSOLE_BASE_URL": "https://your-console.sentinelone.net"
}
}
}
}Claude Code
Führen Sie diesen Befehl in einem Terminal aus:
claude mcp add --transport stdio purple-mcp --env PURPLEMCP_CONSOLE_BASE_URL=https://your-console.sentinelone.net -- uvx --from git+https://github.com/Sentinel-One/purple-mcp.git purple-mcp --mode stdio
OpenAI Codex
Führen Sie diesen Befehl in einem Terminal aus:
codex mcp add purple-mcp --env PURPLEMCP_CONSOLE_BASE_URL=https://your-console.sentinelone.net -- uvx --from git+https://github.com/Sentinel-One/purple-mcp.git purple-mcp --mode stdio
Pydantic AI
Hier ist ein Beispiel für Python-Code zur Verwendung von Purple MCP mit einem Pydantic AI Agent.
from pydantic_ai import Agent
from pydantic_ai.mcp import MCPServerStdio
server = MCPServerStdio(
'uvx', args=["--from", "git+https://github.com/Sentinel-One/purple-mcp.git", "purple-mcp", "--mode", "stdio"], timeout=10
)
agent = Agent('anthropic:claude-haiku-4-5', toolsets=[server])Zed
Bearbeiten Sie ~/.zed/mcp.json:
{
"mcpServers": {
"purple-mcp": {
"enabled": true,
"source": "custom",
"command": "uvx",
"args": ["--from", "git+https://github.com/Sentinel-One/purple-mcp.git", "purple-mcp", "--mode", "stdio"],
"env": {
"PURPLEMCP_CONSOLE_BASE_URL": "https://your-console.sentinelone.net"
}
}
}
}Andere Clients
Für das Debugging oder um den Server für mehrere Clients zu hosten, führen Sie ihn im streamable-http-Modus aus und verbinden Sie sich über mcp-remote:
# Terminal 1: Start server
export PURPLEMCP_CONSOLE_BASE_URL="https://your-console.sentinelone.net"
uvx --from git+https://github.com/Sentinel-One/purple-mcp.git purple-mcp --mode streamable-http --host localhost --port 8000
# Terminal 2: Connect with any client
npx -y mcp-remote http://127.0.0.1:8000/mcpWir empfehlen, Purple AI MCP derzeit nicht in einem Netzwerk freizugeben, da keine Authentifizierung erzwungen wird und jeder auf ein konfiguriertes SentinelOne-Konto zugreifen könnte.
Verfügbare Tools
Purple AI
purple_ai(query)- Sicherheitsfragen stellen
Data Lake
powerquery(query, start_time, end_time)- PowerQuery-Analysen ausführen
Alerts
get_alert(alert_id)- Details zu Warnmeldungen abrufenlist_alerts(first, after, view_type)- Aktuelle Warnmeldungen auflistensearch_alerts(filters, first)- Mit Filtern suchenget_alert_notes(alert_id)- Kommentare zu Warnmeldungen abrufenget_alert_history(alert_id)- Zeitverlauf der Warnmeldung anzeigen
Vulnerabilities
get_vulnerability(id)- Details zu Schwachstellen abrufenlist_vulnerabilities(first, after)- Aktuelle Schwachstellen auflistensearch_vulnerabilities(filters, first)- CVEs und Ergebnisse durchsuchenget_vulnerability_notes(id)- Kommentare abrufenget_vulnerability_history(id)- Zeitverlauf anzeigen
Misconfigurations
get_misconfiguration(id)- Details zu Fehlkonfigurationen abrufenlist_misconfigurations(first, after)- Aktuelle Probleme auflistensearch_misconfigurations(filters, first)- Nach Kriterien suchenget_misconfiguration_notes(id)- Kommentare abrufenget_misconfiguration_history(id)- Zeitverlauf anzeigen
Asset Inventory
get_inventory_item(item_id)- Asset-Details abrufenlist_inventory_items(limit, skip, surface)- Assets nach Oberflächentyp auflistensearch_inventory_items(filters, limit)- Mit erweiterten Filtern suchen
Umgebungsvariablen
PURPLEMCP_CONSOLE_TOKEN- Service-Benutzer-Token (Konto- oder Standortebene)PURPLEMCP_CONSOLE_BASE_URL- Konsolen-URL (z. B. https://console.sentinelone.net)PURPLEMCP_TRANSPORT_MODE- MCP-Transportmodus:stdio(Standard),sseoderstreamable-httpPURPLEMCP_STATELESS_HTTP- Aktiviert den zustandslosen HTTP-Modus für serverlose Bereitstellungen (z. B. Amazon Bedrock AgentCore) – siehe Deployment Guide
Entwicklung
Wir freuen uns über Ihre Pull Requests oder das Einreichen von Issues.
Einrichtung
# Install all dependencies
uv sync --group dev --group test
# Format and lint
uv run ruff format
uv run ruff check
uv run mypyTesten
# Run unit tests
uv run pytest tests/unit/ -v
# Run integration tests (requires .env.test with real credentials)
uv run pytest tests/integration/ -v
# All tests with coverage
uv run pytest --cov=src/purple_mcp --cov-report=htmlFehlerbehebung
Authentifizierungsfehler: Überprüfen Sie, ob Ihr Token über Berechtigungen auf Konto-/Standortebene verfügt (nicht global) und ob es nicht abgelaufen ist
PowerQuery liefert keine erwarteten Ergebnisse: Überprüfen Sie, ob Ihr Token über Berechtigungen auf Konto-/Standortebene verfügt (nicht global)
Verbindungsfehler: Überprüfen Sie Ihre Konsolen-URL und den Netzwerkzugriff; verwenden Sie
--verbosefür Debug-Protokolle
Lizenz
Dieses Projekt ist unter der MIT-Lizenz lizenziert – siehe die Datei LICENSE für Details.
Support
Bei Problemen mit diesem MCP-Server eröffnen Sie ein Issue.
Dieses Projekt ist Open Source und wird von der Community getrieben. Obwohl es kein offizielles SentinelOne-Produkt ist, wird es von SentinelOne in Partnerschaft mit der breiteren Open-Source-Entwickler-Community gepflegt. Weitere Informationen finden Sie in unserer LICENSE-Datei.
Für Support zur SentinelOne-Plattform verwenden Sie den entsprechenden Support-Kanal.
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.
Related MCP Servers
AlicenseAqualityBmaintenanceEnables MCP clients to interact with SentinelOne's cybersecurity platform for security analysis, threat investigation, and asset management through natural language queries. Provides read-only access to alerts, vulnerabilities, misconfigurations, and inventory data.3390MIT- AlicenseNot gradedqualityDmaintenanceEnables natural-language investigation of Datadog data including logs, metrics, monitors, traces, hosts, dashboards, events, and incidents, all through read-only API access.2,053MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants read-only access to Sprinklr data via MCP, allowing querying reports, searching cases, and calling Sprinklr API endpoints.7ISC
- AlicenseAqualityBmaintenanceEnables natural-language queries about Azure resource compliance, including VM compliance, patch status, orphaned RBAC, and infrastructure health, through read-only MCP tools.3MIT
Related MCP Connectors
Read-only MCP access to sessions, funnels, campaigns, errors, live visitors, and anomalies.
Official Microsoft MCP Server to query Microsoft Entra data using natural language
A paid remote MCP for AI SDK data query MCP, built to return verdicts, receipts, usage logs, and aud
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/wojtekkura/purple-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server