Skip to main content

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 ๐Ÿš€

Python ServiceNow MCP License Agentic JSON

๐Ÿค– 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

  • Natural language to service catalog conversion
  • Intelligent field mapping and validation
  • Context-aware variable generation
  • Smart categorization

๐Ÿ” Smart Validation

  • Duplicate detection algorithms
  • ServiceNow schema compliance
  • Data integrity checks
  • Error prevention mechanisms

๐Ÿ”— Enterprise Integration

  • Direct ServiceNow API integration
  • OAuth and basic authentication support
  • Real-time synchronization
  • Bulk operations support

๐Ÿ“Š Advanced Export

  • Multiple format support (JSON, XML, CSV)
  • Template-based generation
  • Custom field mapping
  • Batch export capabilities

๐Ÿ› ๏ธ Technology Stack

Technology Purpose Version
Python Core Language 3.10+
HTTPX HTTP Client 0.28.1+
MCP Protocol Server 1.12.2+
ServiceNow Target Platform Latest
JSON 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

MCP Enabled

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 description
  • category (str, optional): Force specific category
  • auto_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

โš ๏ธ This is a proprietary repository showcasing technical innovation

๐Ÿ”’ Access Requirements

To contribute or access the source code:

  1. Request Permission: Contact shah.divya.2206@gmail.com
  2. Provide Justification: Explain your intended use case
  3. Agree to Terms: Accept additional licensing terms
  4. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

service_cat_creator_app-0.1.0.tar.gz (12.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

service_cat_creator_app-0.1.0-py3-none-any.whl (12.9 kB view details)

Uploaded Python 3

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

Hashes for service_cat_creator_app-0.1.0.tar.gz
Algorithm Hash digest
SHA256 d1d8c2c81138fce51fdb70b551ecfcc4671fd3c011605ffad71723704b44e50b
MD5 1a4fae44be067b27791295275d0d30a5
BLAKE2b-256 494239706bf34c3b176b457a21763c346bb6b594e9bcf2b84595a398e6f9afe9

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file service_cat_creator_app-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for service_cat_creator_app-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5458aa455ecd0a8b827678c26b55d5522fe6338a5aa8fecd989bd2dfff60a252
MD5 433252ce3b0e772db6682594aac2f331
BLAKE2b-256 ad645b356cde5209957af7119a1ac4a004d1d472497613b018b2ab1b53d2395e

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page