This tool allows you to create a service catalog by simple prompts, then generate json file of specified format then it checks whether the record of this type is already present in servicenow instance or not if not it creates a new record in the instance.
Project description
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
๐ค AI-Powered Creation
|
๐ Smart Validation
|
๐ Enterprise Integration
|
๐ Advanced Export
|
๐ ๏ธ 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]"
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file service_cat_creator_app-0.1.0.tar.gz.
File metadata
- Download URL: service_cat_creator_app-0.1.0.tar.gz
- Upload date:
- Size: 12.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d1d8c2c81138fce51fdb70b551ecfcc4671fd3c011605ffad71723704b44e50b
|
|
| MD5 |
1a4fae44be067b27791295275d0d30a5
|
|
| BLAKE2b-256 |
494239706bf34c3b176b457a21763c346bb6b594e9bcf2b84595a398e6f9afe9
|
Provenance
The following attestation bundles were made for service_cat_creator_app-0.1.0.tar.gz:
Publisher:
python-publish.yml on divyashah0510/service-cat-creator-app
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
service_cat_creator_app-0.1.0.tar.gz -
Subject digest:
d1d8c2c81138fce51fdb70b551ecfcc4671fd3c011605ffad71723704b44e50b - Sigstore transparency entry: 319571708
- Sigstore integration time:
-
Permalink:
divyashah0510/service-cat-creator-app@4b705f0c6f239916f372f940e9ad32b8f49b60ce -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/divyashah0510
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@4b705f0c6f239916f372f940e9ad32b8f49b60ce -
Trigger Event:
release
-
Statement type:
File details
Details for the file service_cat_creator_app-0.1.0-py3-none-any.whl.
File metadata
- Download URL: service_cat_creator_app-0.1.0-py3-none-any.whl
- Upload date:
- Size: 12.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5458aa455ecd0a8b827678c26b55d5522fe6338a5aa8fecd989bd2dfff60a252
|
|
| MD5 |
433252ce3b0e772db6682594aac2f331
|
|
| BLAKE2b-256 |
ad645b356cde5209957af7119a1ac4a004d1d472497613b018b2ab1b53d2395e
|
Provenance
The following attestation bundles were made for service_cat_creator_app-0.1.0-py3-none-any.whl:
Publisher:
python-publish.yml on divyashah0510/service-cat-creator-app
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
service_cat_creator_app-0.1.0-py3-none-any.whl -
Subject digest:
5458aa455ecd0a8b827678c26b55d5522fe6338a5aa8fecd989bd2dfff60a252 - Sigstore transparency entry: 319571718
- Sigstore integration time:
-
Permalink:
divyashah0510/service-cat-creator-app@4b705f0c6f239916f372f940e9ad32b8f49b60ce -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/divyashah0510
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@4b705f0c6f239916f372f940e9ad32b8f49b60ce -
Trigger Event:
release
-
Statement type: