Skip to main content
Glama
dstreefkerk

ms-sentinel-mcp-server

by dstreefkerk

sentinel_connectors_get

Retrieve a specific Azure Sentinel data connector by its ID to access configuration details and monitoring settings.

Instructions

Get a specific data connector by ID

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
kwargsYes

Implementation Reference

  • The async run method implements the core execution logic for the sentinel_connectors_get tool: validates Azure context and data_connector_id input, retrieves the specific data connector using Azure Security Insights client, and returns its details or error.
    async def run(self, ctx: Context, **kwargs):
        """Retrieve a specific Sentinel data connector by its ID.
    
        Args:
            ctx (Context): The MCP server or test context.
            **kwargs: Keyword arguments containing 'data_connector_id'.
        Returns:
            dict: Connector details or error information.
        """
        logger = self.logger
        workspace_name, resource_group, subscription_id = self.get_azure_context(ctx)
        if not (workspace_name and resource_group and subscription_id):
            logger.error("Missing Azure context for getting data connector.")
            return {"error": "Missing Azure context for getting data connector."}
        data_connector_id = self._extract_param(kwargs, "data_connector_id")
        if not data_connector_id:
            logger.error("Missing required parameter: data_connector_id")
            return {"error": "Missing required parameter: data_connector_id"}
        try:
            client = self.get_securityinsight_client(subscription_id)
            connector = client.data_connectors.get(
                resource_group_name=resource_group,
                workspace_name=workspace_name,
                data_connector_id=data_connector_id,
            )
            return {
                "name": getattr(connector, "name", None),
                "type": getattr(connector, "type", None),
                "kind": getattr(connector, "kind", None),
                "id": getattr(connector, "id", None),
                "etag": getattr(connector, "etag", None),
                "properties": getattr(connector, "properties", None),
            }
        except Exception as e:
            logger.error("Error getting data connector: %s", e)
            return {"error": "Error getting data connector: %s" % str(e)}
  • Tool class declaration, name, description, and docstring defining the input requirement (data_connector_id in kwargs) and purpose.
    class SentinelConnectorsGetTool(MCPToolBase):
        """
        MCP tool for retrieving a specific Sentinel data connector by ID.
    
        This tool supports both MCP server context (using ctx.request_context)
        and direct invocation for integration tests.
        If ctx.request_context is not present, Azure credentials and context are
        loaded from environment variables, as required by project architecture guidelines.
        """
    
        name = "sentinel_connectors_get"
        description = "Get a specific data connector by ID"
  • Registers the SentinelConnectorsGetTool instance with the MCP server via the register_tools function.
    def register_tools(mcp):
        """Register all data connector tools with the MCP server.
    
        Args:
            mcp: The MCP server instance.
        """
        SentinelConnectorsListTool.register(mcp)
        SentinelConnectorsGetTool.register(mcp)

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/dstreefkerk/ms-sentinel-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server