Skip to main content
Glama
ms-sentinel-mcp-server

ms-sentinel-mcp-server

by dstreefkerk

Microsoft Sentinel MCP Server

🗄️ This repository is archived and no longer maintained

Microsoft has released an official, hosted Sentinel MCP server — use that instead: Get started with the Sentinel MCP server

This was an experimental, read-only Model Context Protocol (MCP) server for Microsoft Sentinel, intended for test environments only. The implementation has been retired and removed; this README is all that remains.

Related MCP server: mcp-kql-server

📄 License

This project is licensed under the MIT License.

Available Tools

49 tools
entra_id_get_groupC

Get a group from Entra ID (Azure AD) by object ID.

Inputs: kwargs (required).

entra_id_get_userC

Get a user from Entra ID (Azure AD) by object ID, UPN, or email address.

Inputs: kwargs (required).

entra_id_list_groupsC

List groups in Entra ID (Azure AD) via Microsoft Graph API.

Inputs: kwargs (required).

entra_id_list_usersC

List users in Entra ID (Azure AD) via Microsoft Graph API.

Inputs: kwargs (required).

llm_instructions_getB

Retrieve the LLM usage instructions for the Sentinel MCP Server. Use this tool first before all other tools.

Inputs: kwargs (required).

log_analytics_saved_searches_listC

List all saved searches in a Log Analytics workspace

Inputs: kwargs (required).

log_analytics_saved_search_getC

Get a specific saved search from a Log Analytics workspace

Inputs: kwargs (required).

markdown_template_getC

Get the raw markdown content for a specific template by name.

Inputs: kwargs (required).

markdown_templates_listC

List available markdown templates and their descriptions.

Inputs: kwargs (required).

sentinel_analytics_rule_getC

Get details for a specific analytics rule

Inputs: kwargs (required).

sentinel_analytics_rule_listC

List all analytics rules with key fields

Inputs: kwargs (required).

sentinel_analytics_rules_count_by_tacticC

Count Sentinel analytics rules by tactic.

Inputs: kwargs (required).

sentinel_analytics_rules_count_by_techniqueC

Count Sentinel analytics rules by MITRE technique.

Inputs: kwargs (required).

sentinel_analytics_rule_template_getC

Get a specific Sentinel analytics rule template

Inputs: kwargs (required).

sentinel_analytics_rule_templates_count_by_tacticC

Count Sentinel analytics rule templates by tactic.

Inputs: kwargs (required).

sentinel_analytics_rule_templates_count_by_techniqueC

Count Sentinel analytics rule templates by MITRE technique.

Inputs: kwargs (required).

sentinel_analytics_rule_templates_listC

List all Sentinel analytics rule templates

Inputs: kwargs (required).

sentinel_authorization_summaryC

Summarize Azure RBAC role assignments for Sentinel and Log Analytics access.

Inputs: kwargs (required).

sentinel_connectors_getC

Get a specific data connector by ID

Inputs: kwargs (required).

sentinel_connectors_listC

List data connectors

Inputs: kwargs (required).

sentinel_domain_whois_getC

Get WHOIS information for a domain

Inputs: kwargs (required).

sentinel_hunting_queries_count_by_tacticC

Count Sentinel hunting queries (saved searches) by tactic

Inputs: kwargs (required).

sentinel_hunting_queries_listB

List all Sentinel hunting queries (saved searches) with optional tactic/technique filtering

Inputs: kwargs (required).

sentinel_hunting_query_getC

Get full details of a Sentinel hunting query (saved search) by name or ID.

Inputs: kwargs (required).

sentinel_incident_getC

Get detailed information about a specific Sentinel incident

Inputs: kwargs (required).

sentinel_incident_listC

List security incidents in Microsoft Sentinel

Inputs: kwargs (required).

sentinel_ip_geodata_getC

Get geolocation data for an IP address

Inputs: kwargs (required).

sentinel_logs_search_with_dummy_dataC

Test a KQL query with mock data using a datatable. Validates KQL locally first.

Inputs: kwargs (required).

sentinel_logs_table_details_getC

Get details (metadata, retention, row count, etc.) for a Log Analytics table

Inputs: kwargs (required).

sentinel_logs_table_schema_getC

Get schema (columns/types) for a Log Analytics table

Inputs: kwargs (required).

sentinel_logs_tables_listC

List available tables in the Log Analytics workspace

Inputs: kwargs (required).

sentinel_metadata_getC

Get details for specific Sentinel metadata by ID.

Inputs: kwargs (required).

sentinel_metadata_listC

List all Sentinel metadata in the current workspace.

Inputs: kwargs (required).

sentinel_ml_analytics_setting_getC

Get a specific Sentinel ML analytics setting by name.

Inputs: kwargs (required).

sentinel_ml_analytics_settings_listC

List all Sentinel ML analytics settings in the current workspace.

Inputs: kwargs (required).

sentinel_query_validateC

Validate KQL Query Syntax locally

Inputs: kwargs (required).

sentinel_source_control_getC

Get details for a specific Sentinel source control by ID.

Inputs: kwargs (required).

sentinel_source_controls_listC

List all Sentinel source controls in the current workspace.

Inputs: kwargs (required).

sentinel_ti_indicator_getC

Get a specific Sentinel threat intelligence indicator

Inputs: kwargs (required).

sentinel_ti_indicator_metrics_collectC

Collect metrics for Sentinel threat intelligence indicators

Inputs: kwargs (required).

sentinel_watchlist_getD

Get a specific Sentinel watchlist

Inputs: kwargs (required).

sentinel_watchlist_item_getC

Get a specific item from a Sentinel watchlist

Inputs: kwargs (required).

sentinel_watchlist_items_listC

List all items in a Sentinel watchlist

Inputs: kwargs (required).

sentinel_watchlists_listC

List all Sentinel watchlists

Inputs: kwargs (required).

sentinel_workspace_getD

Get workspace information (refactored, MCP-compliant)

Inputs: kwargs (required).

tool_docs_getC

Return the raw markdown for a given documentation path.

Inputs: kwargs (required).

tool_docs_listC

Enumerate available Sentinel server documentation markdown paths.

Inputs: kwargs (required).

Tool Schema Changelog

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

Loading tool schema changelog…

    TDQS

    C2.7/5.0

    Scored across 49 tools

    Disambiguation4/5

    Most tools have distinct purposes targeting specific Sentinel resources (e.g., incidents, rules, connectors) with clear action verbs, though some overlap exists between sentinel_logs_search and sentinel_logs_search_with_dummy_data, and between markdown_template_get and tool_docs_get. The descriptions help clarify differences, but agents might occasionally confuse similar tools.

    Naming Consistency5/5

    Tool names follow a highly consistent snake_case pattern with a clear verb_noun structure throughout (e.g., sentinel_incident_get, sentinel_analytics_rule_list). All tools adhere to this convention, making them predictable and easy to parse, with no mixing of styles or chaotic naming.

    Tool Count2/5

    With 49 tools, the count is excessive for a single server, likely overwhelming for agents and indicating poor scoping. While Sentinel is a broad domain, this many tools suggests fragmentation or redundancy, such as multiple counting tools (e.g., sentinel_analytics_rules_count_by_tactic, sentinel_analytics_rules_count_by_technique) that could be consolidated.

    Completeness5/5

    The tool set provides comprehensive coverage of the Sentinel domain, including CRUD operations for incidents, rules, connectors, watchlists, and metadata, plus utilities for logs, queries, and documentation. No obvious gaps exist; agents can perform full lifecycle management and analysis tasks without dead ends.

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      A Python-based MCP server that enables integration with Microsoft Security Copilot and Microsoft Sentinel, allowing users to run KQL queries, manage skillsets/plugins, and execute prompts in Security Copilot.
      23
      MIT
    • F
      license
      Not graded
      quality
      D
      maintenance
      MCP server for executing Kusto Query Language (KQL) queries against Azure Data Explorer clusters, integrating with Claude Desktop and VS Code via Azure CLI authentication.
      -
    • A
      license
      Not graded
      quality
      D
      maintenance
      A Model Context Protocol server that gives Claude Code (or any MCP client) controlled access to Microsoft 365 through the Microsoft Graph API: mail, calendar, contacts, files, notes, tasks, Teams, SharePoint, and the full tenant-admin surface.
      63 npm
      1
      MIT