Service Catalog Creator App 🚀
🤖 AI-Powered ServiceNow Service Catalog Automation
Transform natural language prompts into production-ready ServiceNow catalog items
📋 Overview
The Service Catalog Creator App revolutionizes ServiceNow service catalog management by leveraging AI to transform simple natural language descriptions into fully-configured catalog items. This intelligent tool bridges the gap between business requirements and technical implementation.
🎯 What It Does
- 🧠 AI-Powered Generation: Convert natural language prompts into structured service catalog entries
- 🔍 Smart Duplicate Detection: Automatically checks for existing records before creation
- 🔗 ServiceNow Integration: Direct, seamless integration with your ServiceNow instance
- 📡 MCP Server Support: Built-in Model Context Protocol integration for enhanced AI capabilities
- 📄 JSON Export: Generate standardized, ServiceNow-compatible JSON files
- ⚡ Batch Processing: Handle multiple catalog entries efficiently
✨ Key Features
🛠️ Technology Stack
| Technology | Purpose | Version |
|---|---|---|
| Core Language | 3.10+ | |
| HTTP Client | 0.28.1+ | |
| Protocol Server | 1.12.2+ | |
| Target Platform | Latest | |
| Data Format | Standard |
🚀 Quick Start Guide
📋 Prerequisites
Click to expand prerequisites
- Python: Version 3.10 or higher
- ServiceNow Instance: Active instance with API access
- Credentials: Valid ServiceNow user credentials with catalog management permissions
- Network: Internet connectivity for API calls
⚡ Installation
# Clone the repository (requires permission)
git clone <repository-url>
cd service-cat-creator-app
# Install dependencies
pip install -e .
# Verify installation
python -c "import service_cat_creator; print('✅ Installation successful!')"
🔧 Environment Setup
Create a .env file in the project root:
# ServiceNow Configuration
SERVICENOW_INSTANCE=your-instance.service-now.com
SERVICENOW_USERNAME=your-username
SERVICENOW_PASSWORD=your-password
# Optional: Advanced Settings
SERVICENOW_API_VERSION=v1
TIMEOUT_SECONDS=30
MAX_RETRIES=3
🎯 Basic Usage
from service_cat_creator import ServiceCatalogCreator
# Initialize the creator
creator = ServiceCatalogCreator()
# Create from natural language
prompt = """
Create a laptop request service for employees that includes:
- Choice of laptop type (Standard, Premium, Developer)
- Memory options (8GB, 16GB, 32GB)
- Storage options (256GB SSD, 512GB SSD, 1TB SSD)
- Justification field for business need
"""
# Generate and create in ServiceNow
result = creator.create_from_prompt(prompt)
print(f"✅ Created service: {result['name']}")
🔧 MCP Server Integration
This application provides comprehensive MCP (Model Context Protocol) server integration for enhanced AI capabilities.
📡 MCP Client Configuration
{
"mcpServers": {
"service-catalog-creator": {
"command": "python",
"args": ["-m", "service_cat_creator.mcp_server"],
"env": {
"SERVICENOW_INSTANCE": "your-instance.service-now.com",
"SERVICENOW_USERNAME": "${SERVICENOW_USERNAME}",
"SERVICENOW_PASSWORD": "${SERVICENOW_PASSWORD}"
}
}
}
}
🛠️ Available MCP Tools
| Tool | Description | Input Parameters |
|---|---|---|
create_service_catalog_item |
Create new service catalog entries | prompt, category |
check_existing_service |
Verify if a service already exists | service_name |
generate_service_json |
Generate JSON format for services | prompt, format_type |
list_service_categories |
Get available service categories | None |
validate_service_structure |
Validate service catalog JSON | json_data |
📊 JSON Format & Schema
🏗️ ServiceNow-Compatible Structure
{
"name": "Laptop Request",
"short_description": "Request a new laptop for work",
"description": "Submit a request for a new laptop with specific requirements",
"category": "Hardware",
"subcategory": "Computer Equipment",
"state": "Published",
"active": true,
"variables": [
{
"name": "laptop_type",
"question": "Select laptop type",
"type": "choice",
"choices": ["Standard", "Premium", "Developer"],
"mandatory": true,
"order": 1
},
{
"name": "memory_size",
"question": "Select memory configuration",
"type": "choice",
"choices": ["8GB", "16GB", "32GB"],
"mandatory": true,
"order": 2
}
],
"variables_set": "Hardware Request Variables",
"app_scope": "global",
"owner": "admin",
"workflow": "Hardware Approval Process"
}
📋 Schema Validation
The application automatically validates generated JSON against ServiceNow schema requirements:
- ✅ Required field validation
- ✅ Data type checking
- ✅ Choice list validation
- ✅ Workflow compatibility
- ✅ Permission verification
🎯 Use Cases & Examples
🖥️ IT Service Management
# Hardware requests
creator.create_from_prompt("Create a desktop computer request with OS options")
# Software requests
creator.create_from_prompt("Create software license request for Adobe Creative Suite")
# Access requests
creator.create_from_prompt("Create VPN access request with approval workflow")
👥 HR Services
# Onboarding
creator.create_from_prompt("Create new employee onboarding checklist service")
# Benefits
creator.create_from_prompt("Create health insurance enrollment service")
# Time off
creator.create_from_prompt("Create vacation request service with manager approval")
🏢 Facilities Management
# Space requests
creator.create_from_prompt("Create conference room booking service")
# Maintenance
creator.create_from_prompt("Create facility maintenance request service")
# Security
creator.create_from_prompt("Create building access card request service")
📖 Advanced API Reference
🔧 ServiceCatalogCreator Class
Core Methods
create_from_prompt(prompt: str, **kwargs) -> dict
Creates a complete service catalog item from natural language.
Parameters:
prompt(str): Natural language descriptioncategory(str, optional): Force specific categoryauto_publish(bool, optional): Auto-publish after creation
Returns: Dictionary with created service details
generate_json_only(prompt: str, format_type: str = "servicenow") -> str
Generates JSON without creating in ServiceNow.
check_duplicate(service_name: str) -> bool
Checks if service already exists in ServiceNow.
batch_create(prompts: List[str]) -> List[dict]
Creates multiple services from a list of prompts.
🤝 Contributing & Development
🔒 Access Requirements
To contribute or access the source code:
- Request Permission: Contact shah.divya.2206@gmail.com
- Provide Justification: Explain your intended use case
- Agree to Terms: Accept additional licensing terms
- Wait for Approval: Receive written authorization
🛠️ Development Setup
# After receiving permission
git clone <repository-url>
cd service-cat-creator-app
# Install development dependencies
pip install -e ".[dev]"
Metadata
Release files for service-cat-creator-app 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| service_cat_creator_app-0.1.0.tar.gz | 12.1 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| service_cat_creator_app-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 25.0 kB
Release files / service_cat_creator_app-0.1.0.tar.gz
| Download URL | service_cat_creator_app-0.1.0.tar.gz |
|---|---|
| Size | 12.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d1d8c2c81138fce51fdb70b551ecfcc4671fd3c011605ffad71723704b44e50b
|
|
BLAKE2b-256 checksum How to use checksums |
494239706bf34c3b176b457a21763c346bb6b594e9bcf2b84595a398e6f9afe9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 28, 2025.
Transparency logRelease files / service_cat_creator_app-0.1.0-py3-none-any.whl
| Download URL | service_cat_creator_app-0.1.0-py3-none-any.whl |
|---|---|
| Size | 12.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5458aa455ecd0a8b827678c26b55d5522fe6338a5aa8fecd989bd2dfff60a252
|
|
BLAKE2b-256 checksum How to use checksums |
ad645b356cde5209957af7119a1ac4a004d1d472497613b018b2ab1b53d2395e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 28, 2025.
Transparency logSecurity for service-cat-creator-app 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for service_cat_creator_app-0.1.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 28, 2025.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.