Skip to main content
Glama
jamescash1976

SentinelOne MCP Server

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.

Related MCP server: redash-mcp

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:

  1. s1_list_sites — the client list, with licence usage and expiry per site.

  2. 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.

  3. s1_threat_summary with created_after — threats for the reporting period, grouped by site with verdict/classification breakdowns, top threat names and noisiest machines.

  4. s1_agents / s1_threats — drill into the individual machines or detections behind any number, then s1_activities for 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 as cursor to 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-After header, up to 3 times.

  • Compact projections drop the (many) null fields SentinelOne returns and exclude site registration tokens from output. Use full_details: true on s1_agents/s1_threats when you need the complete raw records.

  • Dates in filters are ISO 8601, e.g. 2026-07-01T00:00:00Z.

Available Tools

6 tools
s1_activitiesA

Activity/audit log from the management console: threat mitigations, agent installs/upgrades, policy changes, user logins, exclusion changes and more, newest first. Useful as evidence of actions taken (e.g. "show what was done about the threat on machine X").

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax records per response (default 25, max 1000).
cursorNoPagination cursor: pass the nextCursor from the previous response to get the next page.
site_idsNoComma-separated site IDs to scope to
agent_idsNoComma-separated agent IDs to scope to
user_emailsNoComma-separated console user emails to filter to
created_afterNoOnly activities after this ISO 8601 datetime
activity_typesNoComma-separated numeric activity type codes (omit to include all)

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Since no annotations are provided, the description carries the full burden of behavioral disclosure. It does disclose the ordering ('newest first') and gives examples of activity types, but it does not mention pagination details, the fact that it is read-only, or any authentication requirements. For a log tool, some of these are implied, but the description lacks explicit behavioral context beyond the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that front-loads the core purpose and provides an illustrative use case. No unnecessary words or repetition; every phrase adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 7 optional parameters, no output schema, and no annotations, the description adequately conveys the tool's role and typical use. It explains the content area and gives an example usage, which is sufficient for tool selection. It does not describe the response structure, but the absence of an output schema and the nature of a log list make this a minor gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and each parameter has a clear description (e.g., 'Max records per response', 'Comma-separated site IDs'). The tool description adds no additional parameter semantics, but the schema already does the heavy lifting, so the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the tool as an activity/audit log from the management console, listing specific content types (threat mitigations, agent installs/upgrades, etc.) and noting the 'newest first' ordering. This distinguishes it from sibling tools like s1_threats or s1_agents, which focus on different resources. The use case example further clarifies its purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a concrete use case ('show what was done about the threat on machine X'), indicating when the tool is appropriate. It does not explicitly discuss when not to use it or compare to alternatives, but the sibling tools are distinct enough that the intended usage is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

s1_agentsA

List endpoint agents with filters — the drill-down tool for machines. Returns each agent's computer name, site, OS, agent version, online/infected/up-to-date status, last active date, last logged-in user and network status. Filter by site, name, health flags or OS. Returns a compact summary per agent by default; set full_details=true for complete raw records (large). Call s1_list_sites first to resolve site IDs.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax records per response (default 25, max 1000).
cursorNoPagination cursor: pass the nextCursor from the previous response to get the next page.
infectedNoOnly agents with (true) or without (false) unresolved threats
os_typesNoComma-separated OS types: "windows", "macos", "linux", "windows_legacy"
site_idsNoComma-separated site IDs to scope to (sites are how clients are segmented)
is_activeNoOnline status: true = online now, false = offline
full_detailsNoReturn complete raw agent records instead of the compact summary. Default false.
computer_nameNoFilter to computer names containing this text
is_up_to_dateNofalse = agents whose SentinelOne agent software needs updating
machine_typesNoComma-separated machine types: "desktop", "laptop", "server", "kubernetes node", "unknown"
reboot_requiredNotrue = agents waiting on a reboot to complete threat mitigation
network_statusesNoComma-separated: "connected", "disconnected", "connecting", "disconnecting"
last_active_afterNoOnly agents last active after this ISO 8601 datetime
last_active_beforeNoOnly agents last active before this ISO 8601 datetime (find stale machines), e.g. "2026-07-01T00:00:00Z"

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden and does a good job: it discloses the default compact summary format, warns that full_details=true returns 'large' raw records, and lists the exact fields returned. It does not mention pagination behavior or rate limits, but the cursor is documented in the schema and the warning about large payloads adds useful safety context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences deliver a wealth of information without fluff. The description is front-loaded with the core purpose, then lists return fields, then covers the key behavioral switch (full_details) and the prerequisite call—every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 14 parameters, no output schema, and no annotations, the description is remarkably complete. It explains the compact summary fields, the alternative raw mode and its size caveat, and the site-resolution prerequisite. Minor gaps include no explicit mention of pagination or how the filters combine, but the schema covers parameters and the cursor field.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds high-level grouping of filters ('site, name, health flags or OS') and the crucial instruction to call s1_list_sites for site IDs, but it does not elaborate on parameter syntax or value formats beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb+resource ('List endpoint agents with filters') and immediately positions it as 'the drill-down tool for machines', clearly distinguishing it from sibling tools like s1_estate_overview. The description further specifies the output fields (computer name, site, OS, status) and the default vs full-details modes, making the tool's purpose unmistakable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides concrete guidance to resolve site IDs using s1_list_sites before calling this tool, which is essential for using the site_ids filter correctly. It also implies when to use it (drill-down, compact summaries) versus other estate-level tools, though it does not explicitly list alternative tools or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

s1_estate_overviewA

Estate-wide endpoint health overview grouped by site — one call answers "what is the state of every client's endpoints?". Sweeps all agents server-side and returns a table per site: agent count, online/offline, infected, agents needing an update, reboot-required, stale agents (not seen for N days) and OS breakdown. This is the primary tool for MSP health/AV reporting. Use s1_agents to drill into the individual machines afterwards.

ParametersJSON Schema
NameRequiredDescriptionDefault
site_idsNoOptionally restrict the sweep to comma-separated site IDs. Default: whole estate.
max_agentsNoSafety cap on agents to sweep (default 10000)
stale_daysNoAgents not active for more than this many days are counted as stale (default 30)

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden. It discloses that the tool 'sweeps all agents server-side', lists the exact metrics returned, and references the safety cap. It doesn't cover performance or rate limits, but this is sufficient for a read-only overview.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with purpose, followed by concrete output details and usage guidance. Every sentence earns its place with no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has no output schema, so the description compensates by enumerating the table columns and clarifying the server-side sweep. It doesn't mention pagination, but max_agents serves as a safety cap, making the description adequate for an overview tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with detailed parameter descriptions. The description only adds incidental context (e.g., 'not seen for N days' for stale agents) but doesn't meaningfully enhance parameter understanding beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with 'Estate-wide endpoint health overview grouped by site' which is a specific verb+resource+scope. It clearly differentiates from siblings by stating this is 'the primary tool for MSP health/AV reporting' and explicitly points to s1_agents for individual machine drill-down.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives a clear use case ('what is the state of every client's endpoints?') and explicitly instructs to 'Use s1_agents to drill into the individual machines afterwards.' However, it doesn't provide explicit when-not-to-use guidance for other siblings like s1_threats.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

s1_list_sitesA

List sites in the SentinelOne management console. In an MSP/MSSP console, sites are how clients are segmented — use this to discover the client list, then feed site IDs into the other tools. Returns name, state, licence counts (active/total), SKU/suite, expiration and health status per site.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoFilter to sites whose name contains this text
limitNoMax records per response (default 25, max 1000).
cursorNoPagination cursor: pass the nextCursor from the previous response to get the next page.
statesNoComma-separated site states to include: "active", "expired", "deleted". Default "active".

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It discloses what the tool returns (name, state, licence counts, SKU/suite, expiration, health status) and implies read-only behavior. It doesn't mention pagination or rate limits, but the schema covers params; the return-field disclosure adds meaningful value beyond the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise, front-loaded sentences. The first states the main action and context; the second explains additional return fields and usage. No wasted words or redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, but the description explicitly lists the returned fields, which fulfills that need. It also provides the MSP/MSSP context and workflow, making the tool self-contained for an agent unfamiliar with SentinelOne.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with each parameter adequately described. The description does not add extra parameter semantics, but it does mention feeding site IDs into other tools, which relates to output rather than parameters. Baseline 3 is appropriate given the schema already handles parameter documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'List sites' with a specific resource (sites) and adds context about MSP/MSSP segmentation. It distinguishes itself from sibling tools by focusing on site discovery as the client list entry point, not agents, threats, or activities.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly says 'use this to discover the client list, then feed site IDs into the other tools,' giving clear workflow guidance. This tells the agent when to use this tool and how it relates to alternatives, making it a natural first step in an MSP/MSSP context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

s1_threatsA

List threats/detections with filters — the drill-down tool for incidents. Returns each threat's name, classification, confidence level (malicious/suspicious), analyst verdict, incident status, mitigation status and actions, detection engine, file path/hash, affected machine and site, sorted newest first. Returns a compact summary per threat by default; set full_details=true for complete raw records. Use s1_threat_summary for aggregated counts across the estate.

ParametersJSON Schema
NameRequiredDescriptionDefault
idsNoComma-separated threat IDs to fetch specific threats
limitNoMax records per response (default 25, max 1000).
cursorNoPagination cursor: pass the nextCursor from the previous response to get the next page.
site_idsNoComma-separated site IDs to scope to
full_detailsNoReturn complete raw threat records instead of the compact summary. Default false.
computer_nameNoFilter to threats on machines whose name contains this text
created_afterNoOnly threats detected after this ISO 8601 datetime, e.g. "2026-07-01T00:00:00Z"
content_hashesNoComma-separated SHA1 hashes to search for
created_beforeNoOnly threats detected before this ISO 8601 datetime
classificationsNoComma-separated threat classifications, e.g. "Malware,Ransomware,PUA,Trojan"
analyst_verdictsNoComma-separated: "undefined", "true_positive", "false_positive", "suspicious"
confidence_levelsNoComma-separated: "malicious", "suspicious", "n/a"
incident_statusesNoComma-separated: "unresolved", "in_progress", "resolved". Use "unresolved,in_progress" for open incidents.
mitigation_statusesNoComma-separated: "not_mitigated", "mitigated", "marked_as_benign"

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It discloses the default compact summary behavior, the full_details flag for raw records, and the sorting order (newest first). It does not mention rate limits or pagination details, but the core behavioral traits are well-covered.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences, each earning its place: purpose, return fields/behavior, and alternative tool. It is front-loaded and tightly written with no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (14 params, no output schema, no annotations), the description covers the essential aspects: purpose, return field list, default vs full_details, sorting, and sibling distinction. It does not explain the pagination return structure, but the schema covers the cursor parameter, making this a minor gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 14 parameters thoroughly. The description adds no additional parameter-level detail beyond mentioning full_details behavior, which is also in the schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool 'List threats/detections with filters' and identifies it as 'the drill-down tool for incidents,' which distinguishes it from the sibling s1_threat_summary. It enumerates the specific fields returned, making the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly directs users to 'Use s1_threat_summary for aggregated counts across the estate,' providing a clear alternative. The description also frames this as the drill-down tool for incidents, implying when detailed threat data is needed versus aggregate summaries.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

s1_threat_summaryA

Aggregated threat counts grouped by site — the reporting/dashboard tool. Sweeps ALL matching threats server-side and returns compact counts: per site by incident status, analyst verdict and classification, plus estate-wide totals, the most common threat names and the machines with the most detections. Ideal for "threats this month across all clients" reporting — pass created_after for the period. Use s1_threats to drill into individual detections afterwards.

ParametersJSON Schema
NameRequiredDescriptionDefault
site_idsNoComma-separated site IDs to scope to. Default: whole estate.
max_threatsNoSafety cap on threats to sweep (default 5000)
created_afterNoOnly threats detected after this ISO 8601 datetime — set this for period reporting, e.g. "2026-07-01T00:00:00Z". Default: all time.
created_beforeNoOnly threats detected before this ISO 8601 datetime
incident_statusesNoComma-separated: "unresolved", "in_progress", "resolved". Default: all.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It discloses that the tool 'sweeps ALL matching threats server-side' (implying a potentially heavy query) and returns 'compact counts' rather than full data. It also mentions the safety cap indirectly by referencing the period filter. However, it does not explicitly note the read-only nature or any rate limits, though these are implied by the reporting context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with purpose and usage. Every clause adds value: scope, output details, when to use, and which sibling to use instead. No redundant words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite no output schema, the description summarizes the output structure: 'per site by incident status, analyst verdict and classification, plus estate-wide totals, the most common threat names and the machines with the most detections.' Combined with usage guidance and safety cap context, it gives a complete picture for selecting and invoking the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents all five parameters with meaningful descriptions. The description adds a usage hint for created_after ('pass created_after for the period') but does not introduce new parameter-level details beyond the schema. Baseline 3 applies because the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool's purpose: 'Aggregated threat counts grouped by site' with a specific verb ('sweeps' and 'returns compact counts'). It explicitly distinguishes itself from sibling tools by identifying as 'the reporting/dashboard tool' and directing users to 'Use s1_threats to drill into individual detections afterwards.'

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit when-to-use guidance: 'Ideal for "threats this month across all clients" reporting' and instructs to 'pass created_after for the period.' It also names an alternative tool (s1_threats) for downstream drilling, making the decision boundary clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 6 tool updatesv0.1.0
    • First observeds1_activities
    • First observeds1_agents
    • First observeds1_estate_overview
    • First observeds1_list_sites
    • First observeds1_threat_summary
    • First observeds1_threats

TDQS

A4.2/5.0

Scored across 6 tools

Disambiguation5/5

Each tool has a distinct purpose: site discovery, estate health, agent detail, threat detail, threat aggregation, and activity logging. There is no overlap in functionality; even the overview/summary tools are clearly differentiated by granularity and use case.

Naming Consistency3/5

All tools share the 's1_' prefix and snake_case, but the second part mixes verb+noun (s1_list_sites), noun+noun (s1_estate_overview, s1_threat_summary), and bare plural nouns (s1_agents, s1_threats, s1_activities). This is inconsistent but still readable and predictable enough to navigate.

Tool Count5/5

With 6 tools, the server is well-scoped for its apparent purpose of read-only SentinelOne monitoring and reporting. Each tool covers a necessary facet of the domain without redundancy or bloat.

Completeness4/5

The read-only surface is fairly complete, covering sites, estate health, agents, threats, threat summaries, and activity logs. Minor gaps exist, such as lack of per-site detail beyond the list view and no direct single-threat lookup, but these can be worked around with existing filters and drill-downs.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    B
    quality
    D
    maintenance
    MCP server for Signal Sciences (Fastly NGWAF) API, providing progressive disclosure and 40+ read-only tools for managing corporations and sites.
    48
    1
    -
  • F
    license
    B
    quality
    B
    maintenance
    Read-only MCP server wrapping the Redash REST API, enabling query listing, execution, data source inspection, and dashboard retrieval with optional per-user API key support.
    7
    -
  • F
    license
    Not graded
    quality
    B
    maintenance
    MCP server that exposes Acronis Cyber Protect Cloud APIs as 14 read-only tools for managing alerts, tasks, agents, resources, policies, and tenants.
    -
  • A
    license
    B
    quality
    B
    maintenance
    A read-only MCP server for Microsoft Intune and Entra ID that enables list, get, search, and reporting operations for tenant visibility, audits, troubleshooting, and health reporting without write actions. It includes authentication helpers, report exports, and metadata discovery tools.
    36
    1
    MIT