Skip to main content
Glama
javerthl

ServiceNow MCP Server

by javerthl

delete_script_include

Remove a script include from a ServiceNow instance by providing its ID or name to manage server-side logic and maintain system integrity.

Instructions

Delete a script include in ServiceNow

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
script_include_idYesScript include ID or name

Implementation Reference

  • Implementation of the delete_script_include tool handler. Retrieves the script include by ID, then sends a DELETE request to the ServiceNow API to remove it.
    def delete_script_include(
        config: ServerConfig,
        auth_manager: AuthManager,
        params: DeleteScriptIncludeParams,
    ) -> ScriptIncludeResponse:
        """Delete a script include from ServiceNow.
        
        Args:
            config: The server configuration.
            auth_manager: The authentication manager.
            params: The parameters for the request.
            
        Returns:
            A response indicating the result of the operation.
        """
        # First, get the script include to delete
        get_params = GetScriptIncludeParams(script_include_id=params.script_include_id)
        get_result = get_script_include(config, auth_manager, get_params)
        
        if not get_result["success"]:
            return ScriptIncludeResponse(
                success=False,
                message=get_result["message"],
            )
            
        script_include = get_result["script_include"]
        sys_id = script_include["sys_id"]
        name = script_include["name"]
        
        # Build the URL
        url = f"{config.instance_url}/api/now/table/sys_script_include/{sys_id}"
        
        # Make the request
        headers = auth_manager.get_headers()
        
        try:
            response = requests.delete(
                url,
                headers=headers,
                timeout=30,
            )
            response.raise_for_status()
            
            return ScriptIncludeResponse(
                success=True,
                message=f"Deleted script include: {name}",
                script_include_id=sys_id,
                script_include_name=name,
            )
            
        except Exception as e:
            logger.error(f"Error deleting script include: {e}")
            return ScriptIncludeResponse(
                success=False,
                message=f"Error deleting script include: {str(e)}",
            ) 
  • Pydantic schema for the input parameters of the delete_script_include tool, requiring script_include_id.
    class DeleteScriptIncludeParams(BaseModel):
        """Parameters for deleting a script include."""
        
        script_include_id: str = Field(..., description="Script include ID or name")
  • Registration of the delete_script_include tool in the tool_definitions dictionary, mapping name to function, params schema, description, etc.
    "delete_script_include": (
        delete_script_include_tool,
        DeleteScriptIncludeParams,
        str,  # Expects JSON string
        "Delete a script include in ServiceNow",
        "json_dict",  # Tool returns Pydantic model
    ),
  • Import of delete_script_include function into tools package __init__ for exposure.
    from servicenow_mcp.tools.script_include_tools import (
        create_script_include,
        delete_script_include,
        get_script_include,
        list_script_includes,
        update_script_include,
    )
  • Inclusion of delete_script_include in __all__ list for public export.
    "delete_script_include",

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/javerthl/servicenow-mcp'

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