Skip to content

ServiceNow Service Catalog Integration

This document provides information about the ServiceNow Service Catalog integration in the ServiceNow MCP server.

Overview

The ServiceNow Service Catalog integration allows you to:

  • List service catalog categories
  • List service catalog items
  • Get detailed information about specific catalog items, including their variables
  • Filter catalog items by category or search query

Tools

The following tools are available for interacting with the ServiceNow Service Catalog:

list_catalog_categories

Lists available service catalog categories.

Parameters: - limit (int, default: 10): Maximum number of categories to return - offset (int, default: 0): Offset for pagination - query (string, optional): Search query for categories - active (boolean, default: true): Whether to only return active categories

Example:

from servicenow_mcp.tools.catalog_tools import ListCatalogCategoriesParams, list_catalog_categories

params = ListCatalogCategoriesParams(
    limit=5,
    query="hardware"
)
result = list_catalog_categories(config, auth_manager, params)

create_catalog_category

Creates a new service catalog category.

Parameters: - title (string, required): Title of the category - description (string, optional): Description of the category - parent (string, optional): Parent category sys_id - icon (string, optional): Icon for the category - active (boolean, default: true): Whether the category is active - order (integer, optional): Order of the category

Example:

from servicenow_mcp.tools.catalog_tools import CreateCatalogCategoryParams, create_catalog_category

params = CreateCatalogCategoryParams(
    title="Cloud Services",
    description="Cloud-based services and resources",
    parent="parent_category_id",
    icon="cloud"
)
result = create_catalog_category(config, auth_manager, params)

update_catalog_category

Updates an existing service catalog category.

Parameters: - category_id (string, required): Category ID or sys_id - title (string, optional): Title of the category - description (string, optional): Description of the category - parent (string, optional): Parent category sys_id - icon (string, optional): Icon for the category - active (boolean, optional): Whether the category is active - order (integer, optional): Order of the category

Example:

from servicenow_mcp.tools.catalog_tools import UpdateCatalogCategoryParams, update_catalog_category

params = UpdateCatalogCategoryParams(
    category_id="category123",
    title="IT Equipment",
    description="Updated description for IT equipment"
)
result = update_catalog_category(config, auth_manager, params)

move_catalog_items

Moves catalog items to a different category.

Parameters: - item_ids (list of strings, required): List of catalog item IDs to move - target_category_id (string, required): Target category ID to move items to

Example:

from servicenow_mcp.tools.catalog_tools import MoveCatalogItemsParams, move_catalog_items

params = MoveCatalogItemsParams(
    item_ids=["item1", "item2", "item3"],
    target_category_id="target_category_id"
)
result = move_catalog_items(config, auth_manager, params)

list_catalog_items

Lists available service catalog items.

Parameters: - limit (int, default: 10): Maximum number of items to return - offset (int, default: 0): Offset for pagination - category (string, optional): Filter by category - query (string, optional): Search query for items - active (boolean, default: true): Whether to only return active items

Example:

from servicenow_mcp.tools.catalog_tools import ListCatalogItemsParams, list_catalog_items

params = ListCatalogItemsParams(
    limit=5,
    category="hardware",
    query="laptop"
)
result = list_catalog_items(config, auth_manager, params)

get_catalog_item

Gets detailed information about a specific catalog item.

Parameters: - item_id (string, required): Catalog item ID or sys_id

Example:

from servicenow_mcp.tools.catalog_tools import GetCatalogItemParams, get_catalog_item

params = GetCatalogItemParams(
    item_id="item123"
)
result = get_catalog_item(config, auth_manager, params)

Resources

The following resources are available for accessing the ServiceNow Service Catalog:

catalog://items

Lists service catalog items.

Example:

catalog://items

catalog://categories

Lists service catalog categories.

Example:

catalog://categories

catalog://{item_id}

Gets a specific catalog item by ID.

Example:

catalog://item123

Integration with Claude Desktop

To use the ServiceNow Service Catalog with Claude Desktop:

  1. Configure the ServiceNow MCP server in Claude Desktop
  2. Ask Claude questions about the service catalog

Example prompts: - "Can you list the available service catalog categories in ServiceNow?" - "Can you show me the available items in the ServiceNow service catalog?" - "Can you list the catalog items in the Hardware category?" - "Can you show me the details of the 'New Laptop' catalog item?" - "Can you find catalog items related to 'software' in ServiceNow?" - "Can you create a new category called 'Cloud Services' in the service catalog?" - "Can you update the 'Hardware' category to rename it to 'IT Equipment'?" - "Can you move the 'Virtual Machine' catalog item to the 'Cloud Services' category?" - "Can you create a subcategory called 'Monitors' under the 'IT Equipment' category?" - "Can you reorganize our catalog by moving all software items to the 'Software' category?"

Example Scripts

Integration Test

The examples/catalog_integration_test.py script demonstrates how to use the catalog tools directly:

python examples/catalog_integration_test.py

Claude Desktop Demo

The examples/claude_catalog_demo.py script demonstrates how to use the catalog functionality with Claude Desktop:

python examples/claude_catalog_demo.py

Data Models

CatalogItemModel

Represents a ServiceNow catalog item.

Fields: - sys_id (string): Unique identifier for the catalog item - name (string): Name of the catalog item - short_description (string, optional): Short description of the catalog item - description (string, optional): Detailed description of the catalog item - category (string, optional): Category of the catalog item - price (string, optional): Price of the catalog item - picture (string, optional): Picture URL of the catalog item - active (boolean, optional): Whether the catalog item is active - order (integer, optional): Order of the catalog item in its category

CatalogCategoryModel

Represents a ServiceNow catalog category.

Fields: - sys_id (string): Unique identifier for the category - title (string): Title of the category - description (string, optional): Description of the category - parent (string, optional): Parent category ID - icon (string, optional): Icon of the category - active (boolean, optional): Whether the category is active - order (integer, optional): Order of the category

CatalogItemVariableModel

Represents a ServiceNow catalog item variable.

Fields: - sys_id (string): Unique identifier for the variable - name (string): Name of the variable - label (string): Label of the variable - type (string): Type of the variable - mandatory (boolean, optional): Whether the variable is mandatory - default_value (string, optional): Default value of the variable - help_text (string, optional): Help text for the variable - order (integer, optional): Order of the variable