Sentinel Solutions MCP Server
Analyzes Microsoft Sentinel solutions from GitHub repositories to map data connectors to Log Analytics tables and query security content like detections and playbooks. It provides instant access to the official Content Hub or private repositories through a high-performance pre-built index.
README
Sentinel Solutions MCP Server
An MCP (Model Context Protocol) server that analyzes Microsoft Sentinel solutions from any GitHub repository and maps data connectors to Log Analytics tables. Query the official Azure Sentinel Content Hub or your own custom/private solution repositories.
Quick Start
# Use with npx (recommended - instant startup with pre-built index)
npx
# Or install globally
npm install -g sentinel-solutions-mcp
Add to Claude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"sentinel-solutions": {
"command": "npx",
"args": ["sentinel-solutions-mcp"]
}
}
}
Features
Multi-Repository Support
Query any GitHub repository containing Sentinel solutions, not just the official Azure repo. Perfect for:
- Private/Custom Solutions: Analyze your organization's private Sentinel repository
- Forked Repositories: Test changes in your fork before contributing
- Testing Environments: Analyze development or staging branches
- Community Solutions: Explore third-party Sentinel solution repositories
Performance Optimizations
- Optimized Pre-built Index: Ships with LLM-friendly index (3.8MB, excludes KQL queries) for instant startup (< 1 second first query)
- 68% Size Reduction: Optimized index is 68% smaller than full index for better token efficiency
- Direct GitHub Access: Uses GitHub API - no cloning or downloads required!
- On-Demand Queries: KQL queries fetched from GitHub only when explicitly needed
- Zero Setup: Works immediately, no git repository cloning or storage needed
- Always Current: Accesses latest data directly from GitHub
Comprehensive Analysis
- Full Content Hub Coverage: Analyzes the entire Microsoft Sentinel Content Hub repository
- 15+ Content Types Indexed: Pre-built index includes 2,579 detections, 519 workbooks, 2,463 hunting queries, 696 playbooks, 895 parsers, 51 watchlists, 6 functions, 105 ASIM items, 16 summary rules, 41 tools, and more
- 8,697 Total Items: Comprehensive index with 480 solutions and complete connector-table mappings
- 23 MCP Tools: Query all content types including solutions, connectors, detections, workbooks, hunting queries, playbooks, parsers, watchlists, notebooks, functions, ASIM content, summary rules, tools, tutorials, dashboards, and data connectors
- 6 Detection Methods: Implements all table detection strategies from the original Python tool:
- graphQueries.{index}.baseQuery
- sampleQueries.{index}.query
- dataTypes.{index}.lastDataReceivedQuery
- connectivityCriterias.{index}.value
- ARM template logAnalyticsTableId variables
- Parser function resolution with cycle prevention
- Tolerant Parsing: Multi-stage JSON parsing with fallback strategies
- KQL Query Analysis: Context-aware Kusto Query Language parser
- YAML Parser Resolution: Recursive parser-to-table mapping with depth limiting
Installation & Usage
# Run with npx (recommended)
npx sentinel-solutions-mcp
# Or install globally
npm install -g sentinel-solutions-mcp
Claude Desktop Configuration:
{
"mcpServers": {
"sentinel-solutions": {
"command": "npx",
"args": ["sentinel-solutions-mcp"]
}
}
}
For detailed usage instructions, configuration options, and examples, see USAGE.md.
Available Tools
The MCP server provides 23 tools for querying Microsoft Sentinel content:
Solution & Connector Analysis (6 tools)
analyze_solutions- Full analysis of all solutions with connector-table mappingsget_connector_tables- Get Log Analytics tables for a specific connectorsearch_solutions- Search solutions by name, publisher, or support tierget_solution_details- Comprehensive details about a specific solutionlist_tables- List all Log Analytics tables (all/custom/standard)validate_connector- Validate connector JSON and extract tables
Content Analysis (17 tools)
list_detections/get_detection_details- Detection rules with MITRE ATT&CK mappingslist_workbooks/get_workbook_details- Workbooks and visualizationslist_hunting_queries- Threat hunting querieslist_playbooks- Automation playbooks (Logic Apps)list_parsers- KQL parsers and functionslist_watchlists- Watchlist definitionslist_notebooks- Jupyter notebookslist_exploration_queries- Exploration querieslist_functions- Saved KQL functionslist_asim_content- ASIM (Advanced Security Information Model) contentlist_summary_rules- Summary ruleslist_tools- Sentinel tools and utilitieslist_tutorials- Learning resources and tutorialslist_dashboards- Sentinel dashboardslist_data_connectors- Data connector definitions
All tools support filtering by solution and querying custom/private repositories via the pre-built index or live GitHub API. See USAGE.md for detailed documentation and examples.
How It Works
The server provides instant access to the Microsoft Sentinel Content Hub:
- Optimized Pre-built Index: Ships with a LLM-friendly 3.8MB index containing all 8,697+ items from the Azure-Sentinel repository
- Token Efficient: Excludes KQL queries from index (68% size reduction) for better LLM performance
- Instant Queries: First query returns results in < 1 second using the pre-built index
- On-Demand Queries: KQL queries fetched from GitHub API only when explicitly requested
- GitHub API Access: Optional live queries via GitHub API for custom repositories or latest updates
- Smart Caching: Results cached by repository commit SHA for optimal performance
- Multi-Repository Support: Query any GitHub repository containing Sentinel solutions
The analyzer uses 6 sophisticated detection methods to identify Log Analytics tables from connector definitions, including KQL query parsing, ARM template analysis, and recursive parser resolution. See USAGE.md for technical details.
Architecture
Built with TypeScript and the Model Context Protocol SDK:
- MCP Server: Stdio-based communication for AI agent integration
- Content Analyzer: Parses all Sentinel content types from GitHub repositories
- Optimized Pre-built Index: 3.8MB LLM-friendly JSON index with 8,697+ items shipped with the package
- Token Efficiency: Excludes KQL queries from index for 68% size reduction
- GitHub Client: Direct API access with smart caching and rate limit handling
- Type Safety: Full TypeScript definitions for all content types
Performance
- Pre-built Index: Instant first query (< 1 second) using pre-built analysis shipped with package
- Smart Caching: Analysis results and file contents cached by repository commit hash
- Parallel Requests: Multiple files fetched concurrently
- No Downloads: Zero initial download time - starts instantly
- Auto-refresh: Weekly automated index updates via GitHub Actions
- Typical Performance:
- Default repo (with pre-built index): < 1 second
- Custom repo (fresh analysis): 100+ solutions analyzed in ~30-60 seconds
- Subsequent queries: Instant (cached)
Comparison to Python Version
This TypeScript implementation provides:
- Feature Parity: All 6 detection methods implemented
- Same Logic: Matching parsing and resolution algorithms
- MCP Integration: Exposed via Model Context Protocol for AI agents
- Multi-Repository: Analyze any GitHub repo, not just official Azure repo
- Pre-built Index: Instant startup (< 1s) vs. full analysis every time
- GitHub API Access: No cloning, no storage, instant start
- Better Distribution: Runnable via npx, no Python or Git dependency
- Type Safety: Full TypeScript type definitions
- Auto-updates: Weekly index refresh via GitHub Actions
Troubleshooting
GitHub API Rate Limits: The pre-built index eliminates the need for GitHub API access in most cases. For custom repositories or live updates, use a GitHub token:
export MCP_GITHUB_TOKEN=your_token_here
Custom Repositories: Configure via environment variables or tool parameters. See USAGE.md for details.
Performance: The pre-built index provides instant results (< 1s). Custom repository analysis takes 30-60 seconds for first query, then cached.
Development
npm install # Install dependencies
npm run build # Build TypeScript + pre-built index
npm run dev # Run in development mode
npm test # Verify index loads correctly
Contributing
Contributions welcome! This project maintains feature parity with the Microsoft Sentinel Solutions Analyzer Python tool while adding MCP integration.
License
MIT
Credits
Based on the Microsoft Sentinel Solutions Analyzer Python tool from the Azure-Sentinel repository.
Related Projects
- Microsoft Sentinel - Official Microsoft Sentinel repository
- Model Context Protocol - MCP specification
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
E2B
Using MCP to run code via e2b.