SentinelOne MCP Server
Read-only MCP server for the SentinelOne management API, exposing sites, endpoint agents, threats, and activity logs with aggregation tools for MSP/MSSP reporting.
README
SentinelOne MCP Server
Read-only MCP server for the SentinelOne management API (v2.1). Exposes sites, endpoint agents, threats and the activity log to Claude (Claude Desktop / Cowork, Claude Code, or any MCP client), with aggregation tools built for MSP/MSSP reporting across a site-segmented client base.
Tools
| Tool | Purpose |
|---|---|
s1_list_sites |
Sites (how clients are segmented in an MSP console) with licence counts, SKU, expiry and health |
s1_estate_overview |
Estate-wide endpoint health by site: agents, online/offline, infected, needs-update, reboot-required, stale, OS mix — the health reporting tool |
s1_agents |
Endpoint drill-down: per-machine status, version, last active, last user (filterable by site, health flags, OS) |
s1_threats |
Threat drill-down: name, classification, verdict, incident/mitigation status, affected machine (filterable by site, status, date range) |
s1_threat_summary |
Aggregated threat counts by site, verdict, classification, top threats and machines — the periodic reporting tool |
s1_activities |
Console activity/audit log: mitigations, installs, policy changes, logins |
s1_api_call |
Raw GET to any other SentinelOne endpoint — disabled unless S1_ENABLE_RAW_API=true |
The tool set is deliberately lean, focused on endpoint health and threat reporting across clients. The raw API tool covers anything else (groups, exclusions, installed applications, STAR alerts, system info) but is off by default so shared deployments stay strictly read-only.
Quick start (Claude Desktop / Cowork)
Add to mcpServers in your claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/claude_desktop_config.json):
"sentinelone": {
"command": "npx",
"args": ["-y", "sentinelone-mcp"],
"env": {
"S1_API_TOKEN": "your-api-token",
"S1_BASE_URL": "https://your-console.sentinelone.net"
}
}
For Claude Code:
claude mcp add-json sentinelone --scope user '{"type":"stdio","command":"npx","args":["-y","sentinelone-mcp"],"env":{"S1_API_TOKEN":"your-api-token","S1_BASE_URL":"https://your-console.sentinelone.net"}}'
Requires Node.js 18+.
Configuration
| Variable | Value |
|---|---|
S1_API_TOKEN |
API token — generate in the console under My User → Actions → API Token Operations |
S1_BASE_URL |
Your management console URL, e.g. https://your-console.sentinelone.net |
S1_ENABLE_RAW_API |
Optional — set to true to expose s1_api_call for arbitrary endpoints. Leave unset for team deployments. |
Notes on tokens:
- API tokens expire on a schedule set in the console (commonly 30 days, extendable under Settings → Users, or use a service user for longer-lived tokens). A 401 from this server almost always means the token has expired — regenerate it.
- The token inherits the scope and role of the user who generated it. A Viewer-role user scoped to the account is ideal: the server only ever issues GET requests, but a least-privilege token means mistakes elsewhere can't mutate anything.
- Each team member should generate their own token so console audit logs attribute API reads correctly.
Reporting across a client base
Sites are how clients are segmented in an MSP/MSSP console. The intended flow for "state of our clients' endpoints" reporting:
s1_list_sites— the client list, with licence usage and expiry per site.s1_estate_overview— one call sweeps every agent and returns a site-by-site health table: agent count, online/offline, infected, agents needing an update, reboot-required, stale agents (default: not seen in 30 days) and OS mix. Aggregation happens inside the server, so thousands of agents come back as a few KB of counts.s1_threat_summarywithcreated_after— threats for the reporting period, grouped by site with verdict/classification breakdowns, top threat names and noisiest machines.s1_agents/s1_threats— drill into the individual machines or detections behind any number, thens1_activitiesfor the audit trail of what was done about them.
Development
git clone https://github.com/jamescash1976/sentinelone-mcp.git
cd sentinelone-mcp
npm install
cp .env.example .env # fill in token + console URL
npm run dev # watch mode
npm run inspector # MCP Inspector UI
npm run build # compile to dist/
Notes
- Strictly read-only: every tool issues GET requests only. Mitigation, policy and agent actions are deliberately not implemented.
- Pagination is cursor-based throughout: responses include
nextCursor— pass it back ascursorto continue. The sweep tools (s1_estate_overview,s1_threat_summary) page automatically up to their safety caps and say so when truncated. - Rate limits (HTTP 429) are retried automatically using the
Retry-Afterheader, up to 3 times. - Compact projections drop the (many) null fields SentinelOne returns and exclude site registration tokens from output. Use
full_details: trueons1_agents/s1_threatswhen you need the complete raw records. - Dates in filters are ISO 8601, e.g.
2026-07-01T00:00:00Z.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。