Skip to content

Latest commit

 

History

History
258 lines (190 loc) · 7.59 KB

File metadata and controls

258 lines (190 loc) · 7.59 KB

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