Integración con el Catálogo de Servicios de ServiceNow
Este documento proporciona información sobre la integración con el Catálogo de Servicios de ServiceNow en el servidor MCP de ServiceNow.
Descripción general
Sección titulada «Descripción general»La integración con el Catálogo de Servicios de ServiceNow le permite:
- Listar categorías del catálogo de servicios
- Listar elementos del catálogo de servicios
- Obtener información detallada sobre elementos específicos del catálogo, incluidas sus variables
- Filtrar elementos del catálogo por categoría o consulta de búsqueda
Herramientas
Sección titulada «Herramientas»Las siguientes herramientas están disponibles para interactuar con el Catálogo de Servicios de ServiceNow:
manage_catalog(action="list_categories")
Sección titulada «manage_catalog(action="list_categories")»Lista las categorías disponibles del catálogo de servicios.
Parámetros:
limit(int, default: 10): Número máximo de categorías a devolveroffset(int, default: 0): Desplazamiento para la paginaciónquery(string, optional): Consulta de búsqueda para categoríasactive(boolean, default: true): Si solo se deben devolver categorías activas
Ejemplo:
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)manage_catalog(action="list_items")
Sección titulada «manage_catalog(action="list_items")»Lista los elementos disponibles del catálogo de servicios.
Parámetros:
limit(int, default: 10): Número máximo de elementos a devolveroffset(int, default: 0): Desplazamiento para la paginacióncategory(string, optional): Filtrar por categoríaquery(string, optional): Consulta de búsqueda para elementosactive(boolean, default: true): Si solo se deben devolver elementos activos
Ejemplo:
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)manage_catalog(action="get_item")
Sección titulada «manage_catalog(action="get_item")»Obtiene información detallada sobre un elemento específico del catálogo.
Parámetros:
item_id(string, required): ID o sys_id del elemento del catálogo
Ejemplo:
from servicenow_mcp.tools.catalog_tools import GetCatalogItemParams, get_catalog_item
params = GetCatalogItemParams( item_id="item123")result = get_catalog_item(config, auth_manager, params)Recursos
Sección titulada «Recursos»Los siguientes recursos están disponibles para acceder al Catálogo de Servicios de ServiceNow:
catalog://items
Sección titulada «catalog://items»Lista los elementos del catálogo de servicios.
Ejemplo:
catalog://itemscatalog://categories
Sección titulada «catalog://categories»Lista las categorías del catálogo de servicios.
Ejemplo:
catalog://categoriescatalog://{item_id}
Sección titulada «catalog://{item_id}»Obtiene un elemento específico del catálogo por ID.
Ejemplo:
catalog://item123Integración con Claude Desktop
Sección titulada «Integración con Claude Desktop»Para usar el Catálogo de Servicios de ServiceNow con Claude Desktop:
- Configure el servidor MCP de ServiceNow en Claude Desktop
- Haga preguntas a Claude sobre el catálogo de servicios
Ejemplos de indicaciones:
- “¿Puedes listar las categorías disponibles del catálogo de servicios en ServiceNow?”
- “¿Puedes mostrarme los elementos disponibles en el catálogo de servicios de ServiceNow?”
- “¿Puedes listar los elementos del catálogo en la categoría Hardware?”
- “¿Puedes mostrarme los detalles del elemento del catálogo ‘New Laptop’?”
- “¿Puedes encontrar elementos del catálogo relacionados con ‘software’ en ServiceNow?”
- “¿Puedes crear una nueva categoría llamada ‘Cloud Services’ en el catálogo de servicios?”
- “¿Puedes actualizar la categoría ‘Hardware’ para cambiarle el nombre a ‘IT Equipment’?”
- “¿Puedes mover el elemento del catálogo ‘Virtual Machine’ a la categoría ‘Cloud Services’?”
- “¿Puedes crear una subcategoría llamada ‘Monitors’ bajo la categoría ‘IT Equipment’?”
- “¿Puedes reorganizar nuestro catálogo moviendo todos los elementos de software a la categoría ‘Software’?”
Scripts de ejemplo
Sección titulada «Scripts de ejemplo»Prueba de integración
Sección titulada «Prueba de integración»El script examples/catalog_integration_test.py demuestra cómo usar las herramientas del catálogo directamente:
python examples/catalog_integration_test.pyDemostración con Claude Desktop
Sección titulada «Demostración con Claude Desktop»El script examples/claude_catalog_demo.py demuestra cómo usar la funcionalidad del catálogo con Claude Desktop:
python examples/claude_catalog_demo.pyModelos de datos
Sección titulada «Modelos de datos»CatalogItemModel
Sección titulada «CatalogItemModel»Representa un elemento del catálogo de ServiceNow.
Campos:
sys_id(string): Identificador único del elemento del catálogoname(string): Nombre del elemento del catálogoshort_description(string, optional): Descripción corta del elemento del catálogodescription(string, optional): Descripción detallada del elemento del catálogocategory(string, optional): Categoría del elemento del catálogoprice(string, optional): Precio del elemento del catálogopicture(string, optional): URL de la imagen del elemento del catálogoactive(boolean, optional): Si el elemento del catálogo está activoorder(integer, optional): Orden del elemento del catálogo en su categoría
CatalogCategoryModel
Sección titulada «CatalogCategoryModel»Representa una categoría del catálogo de ServiceNow.
Campos:
sys_id(string): Identificador único de la categoríatitle(string): Título de la categoríadescription(string, optional): Descripción de la categoríaparent(string, optional): ID de la categoría padreicon(string, optional): Icono de la categoríaactive(boolean, optional): Si la categoría está activaorder(integer, optional): Orden de la categoría
CatalogItemVariableModel
Sección titulada «CatalogItemVariableModel»Representa una variable de un elemento del catálogo de ServiceNow.
Campos:
sys_id(string): Identificador único de la variablename(string): Nombre de la variablelabel(string): Etiqueta de la variabletype(string): Tipo de la variablemandatory(boolean, optional): Si la variable es obligatoriadefault_value(string, optional): Valor predeterminado de la variablehelp_text(string, optional): Texto de ayuda para la variableorder(integer, optional): Orden de la variable