Microsoft Security Copilot

by jguimera

18 stars
347 downloads
Not rated
GitHub

About

Integrates Microsoft Security Copilot with Microsoft Sentinel for running KQL queries, managing skillsets, and executing prompts using Azure Identity Authentication

Details

Author
jguimera
Repository
jguimera/SecurityCopilotMCPServer
GitHub stars
18
Downloads
347
License
MIT License
Categories
Productivity, Developer Tools, Design, Workplace, AI, Frontend, Cloud Service, Security
Tags
#integration

- Sentinel Integration: Execute KQL queries against your Sentinel workspace
- Security Copilot Management:
- List existing skillsets/plugins
- Upload new or update existing skillsets/plugins
- Run prompts or skills within Security Copilot
- Authentication Support: Multiple authentication methods including interactive browser, client secret, and managed identity

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Microsoft Security Copilot
    Command (node, npx, python, etc.) npx
    Arguments
    • Argument 1 -y
    • Argument 2 @highlight/mcp-server

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

You can use this MCP server from the Client of your choice. In this repo you can find intructions and config files for Cursor.

Add the .cursor folder inside your client project to enable the MCP tools.
This folder contains two files:
1. Cursor Project Rules (securitycopilotdev.mdc): This file include some Custom Cursor Rules to help the agents in the process definition and understanding user prompts.
2. MCP Client Configuration (mcp.json): File that connects Cursor to the MCP server.

You can invoke the tool directly using /tool_name parameter1="Value of the tool parameter"
For example: /run_prompt content="List the most recent risky users"

More info: https://docs.cursor.com/context/model-context-protocol#configuring-mcp-servers

run_sentinel_query

Execute KQL queries in Sentinel.

get_skillsets

List skillsets in Security Copilot.

upload_plugin

Upload or update a skillset/plugin.

run_prompt

Run a prompt or skill in Security Copilot.

The MCP server provides the following tools:

1. run_sentinel_query: Execute KQL queries in Sentinel
2. get_skillsets: List skillsets in Security Copilot
3. upload_plugin: Upload or update a skillset/plugin
4. run_prompt: Run a prompt or skill in Security Copilot

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "microsoft security copilot": {
            "env": {},
            "args": [
                "-y",
                "@highlight/mcp-server"
            ],
            "command": "npx"
        }
    }
}

Linux

{
    "env": [],
    "args": [
        "-y",
        "@highlight/mcp-server"
    ],
    "command": "npx"
}

Macos

{
    "env": [],
    "args": [
        "-y",
        "@highlight/mcp-server"
    ],
    "command": "npx"
}

Windows

{
    "env": [],
    "args": [
        "/c",
        "npx",
        "-y",
        "@highlight/mcp-server"
    ],
    "command": "cmd"
}

Security Copilot and Sentinel MCP Server

A Python-based MCP server using FastMCP library that provides integration with Microsoft Security Copilot and Microsoft Sentinel using Azure Identity Authentication.
Diagram

Overview

This project implements an MCP server that enables:

- Running KQL queries against Microsoft Sentinel
- Uploading/Updating Microsoft Security Copilot skillsets/plugins
- Running prompts and skills in Microsoft Security Copilot

The server acts as a bridge between development environments and Microsoft Security Copilot, allowing for testing, deployment, and execution of skills and plugins. It uses SSE as transport layer for the MCP server.
There are many use cases for the current integration. One of the most interesting ones is to support the development, test and deployment of Security Copilot KQL Skills.

AgentFlow1
AgentFlow2

Features

- Sentinel Integration: Execute KQL queries against your Sentinel workspace
- Security Copilot Management:
- List existing skillsets/plugins
- Upload new or update existing skillsets/plugins
- Run prompts or skills within Security Copilot
- Authentication Support: Multiple authentication methods including interactive browser, client secret, and managed identity

Roadmap


The next features will include:
- Promptbook test and Update
- Run Advance Hunting queries in Defender XDR

Prerequisites

- Python 3.8+
- Microsoft Sentinel workspace
- Microsoft Security Copilot access
- Appropriate Azure permissions for Sentinel and Security Copilot

Installation

1. Clone the repository:

   git clone https://github.com/jguimera/SecurityCopilotMCPServer.git
cd SecurityCopilotMCPServer

2. Install dependencies:

   pip install -r requirements.txt

3. Create a .env file with the following configuration:

   #Add App Reg to use ClientID and Secret authentication
#AZURE_TENANT_ID=your_tenant_id
#AZURE_CLIENT_ID=your_client_id
#AZURE_CLIENT_SECRET=your_client_secret
SENTINEL_SUBSCRIPTION_ID=your_subscription_id
SENTINEL_RESOURCE_GROUP=your_resource_group
SENTINEL_WORKSPACE_NAME=your_workspace_name
SENTINEL_WORKSPACE_ID=your_workspace_id
#Authentication Options: interactive, client_secret
AUTHENTICATION_TYPE=interactive

Usage

Starting the Server

Run the MCP server:

python server.py

To run tests before starting the server:

python server.py --run-tests

Available Tools

The MCP server provides the following tools:

1. run_sentinel_query: Execute KQL queries in Sentinel
2. get_skillsets: List skillsets in Security Copilot
3. upload_plugin: Upload or update a skillset/plugin
4. run_prompt: Run a prompt or skill in Security Copilot

MCP Client Config for Cursor

You can use this MCP server from the Client of your choice. In this repo you can find intructions and config files for Cursor.

Add the .cursor folder inside your client project to enable the MCP tools.
This folder contains two files:
1. Cursor Project Rules (securitycopilotdev.mdc): This file include some Custom Cursor Rules to help the agents in the process definition and understanding user prompts.
2. MCP Client Configuration (mcp.json): File that connects Cursor to the MCP server.

You can invoke the tool directly using /tool_name parameter1="Value of the tool parameter"
For example: /run_prompt content="List the most recent risky users"

More info: https://docs.cursor.com/context/model-context-protocol#configuring-mcp-servers

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

1. Fork the repository
2. Create your feature branch (git checkout -b feature/amazing-feature)
3. Commit your changes (git commit -m 'Add some amazing feature')
4. Push to the branch (git push origin feature/amazing-feature)
5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.