Skip to main content
Glama
vparlapalli490

ServiceNow MCP Server

delete_script_include

Remove a script include from a ServiceNow instance by specifying its ID or name. This action deletes server-side scripts used for custom business logic or automation.

Instructions

Delete a script include in ServiceNow

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
script_include_idYesScript include ID or name

Implementation Reference

  • The handler function that implements the delete_script_include tool logic. It retrieves the script include by ID, constructs the API URL, sends a DELETE request to ServiceNow, and returns a response indicating success or failure.
    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 BaseModel defining the input schema for the delete_script_include tool, requiring a script_include_id.
    class DeleteScriptIncludeParams(BaseModel):
        """Parameters for deleting a script include."""
        
        script_include_id: str = Field(..., description="Script include ID or name")
  • Tool registration entry in get_tool_definitions() dictionary, mapping the tool name to its handler (aliased), input schema, return type hint, description, and serialization method.
    "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 statement in tools/__init__.py that re-exports delete_script_include for convenient access from the tools package.
    from servicenow_mcp.tools.script_include_tools import (
        create_script_include,
        delete_script_include,
        get_script_include,
        list_script_includes,
        update_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/vparlapalli490/MCP'

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