MCP for ServiceNow
Project description
๐ฏ Transform ServiceNow data access with natural language commands
Export ServiceNow table data effortlessly using voice commands and AI - no complex APIs needed!
๐ Quick Start โข ๐ Documentation โข ๐ก Examples โข ๐ค Contributing
๐ Table of Contents
- ๐ Overview
- โจ Key Features
- ๐๏ธ Architecture
- โก Quick Start
- ๐ง Installation
- โ๏ธ Configuration
- ๐ก Usage Examples
- ๐๏ธ Available Tools
- ๐ Supported Formats
- ๐บ๏ธ Table Mappings
- ๐ Authentication
- ๐ Troubleshooting
- ๐ค Contributing
- ๐ License
๐ Overview
The ServiceNow MCP Server is a cutting-edge Model Context Protocol server that revolutionizes how you interact with ServiceNow data. By combining the power of AI with intuitive natural language processing, this tool transforms complex ServiceNow API operations into simple conversational commands.
graph TD
A[๐ค User Voice Command] --> B[๐ค Claude AI]
B --> C[๐ง MCP Server]
C --> D[๐ ServiceNow API]
D --> E[๐ Data Processing]
E --> F[๐ File Export]
F --> G[๐พ Downloads Folder]
๐ฏ Why Choose ServiceNow MCP Server?
- ๐ฃ๏ธ Voice-Controlled: Use natural language commands instead of complex API calls
- ๐ง AI-Powered: Intelligent table name resolution from conversational descriptions
- โก Lightning Fast: Optimized async operations for rapid data retrieval
- ๐ Secure: Built-in authentication and error handling
- ๐ฑ Cross-Platform: Works on Windows, macOS, and Linux
- ๐จ Multiple Formats: Export to CSV, XML, or both simultaneously
โจ Key Features
๐ค Natural Language Interface
|
๐ Smart Data Export
|
๐ง Advanced API Support
|
๐ก๏ธ Enterprise Ready
|
๐๏ธ Architecture
๐ Click to expand architecture details
System Components
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
โ Claude AI โโโโโถโ MCP Server โโโโโถโ ServiceNow โ
โ โ โ โ โ โ
โ โข NL Processing โ โ โข Table Mapping โ โ โข REST API โ
โ โข Tool Calling โ โ โข Data Export โ โ โข Authenticationโ
โ โข User Interfaceโ โ โข File Generationโ โ โข Data Storage โ
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโ
โ Local File Systemโ
โ โ
โ โข Downloads Folderโ
โ โข CSV/XML Files โ
โ โข Auto Naming โ
โโโโโโโโโโโโโโโโโโโโ
Data Flow
- Input: User provides natural language command
- Processing: Claude AI interprets and calls appropriate MCP tool
- Resolution: MCP server resolves table names and builds queries
- Retrieval: Secure API calls to ServiceNow instance
- Transformation: Data converted to requested format(s)
- Output: Files saved to Downloads folder with confirmation
โก Quick Start
๐ 1-Minute Setup with Claude
# Clone the repository
git clone https://github.com/mallikarjunservicenow/ServiceNow_MCP
cd ServiceNow_MCP
# Install dependencies
pip install -r requirements.txt
# Configure Claude Desktop (see Configuration section)
# Add the servicenow-client configuration to your Claude config
# Restart Claude Desktop
# Start using natural language commands!
๐ฏ First Export with Claude
Once configured in Claude Desktop, try these natural language commands:
๐ฌ "Export the server table from ServiceNow"
๐ฌ "Get me incident data in XML format"
๐ฌ "Show me all available ServiceNow tables"
๐ฌ "Export users with both CSV and XML formats"
๐ Workflow Integration
graph LR
A[๐ค User in Claude] --> B[๐ฌ Natural Language]
B --> C[๐ง MCP Server]
C --> D[๐ ServiceNow API]
D --> E[๐ Data Export]
E --> F[๐ Claude Attachment]
๐ง Installation
Prerequisites
| Requirement | Version | Purpose |
|---|---|---|
| Python | 3.8+ | Runtime environment |
| ServiceNow Instance | Any | Data source |
| Claude AI Access | Latest | Natural language interface |
Step-by-Step Installation
๐ฆ Detailed Installation Guide
-
Clone Repository
git clone https://github.com/mallikarjunservicenow/ServiceNow_MCP cd ServiceNow_MCP
-
Create Virtual Environment
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install Dependencies
pip install -r requirements.txt
-
Environment Setup
cp .env.example .env
Edit
.envfile:SERVICENOW_INSTANCE=https://your-instance.service-now.com SERVICENOW_USERNAME=your_username SERVICENOW_PASSWORD=your_password
-
Verify Installation
python -c "import main; print('โ Installation successful!')"
Requirements
# Core dependencies
fastmcp>=0.1.0
httpx>=0.24.0
python-dotenv>=1.0.0
# Optional enhancements
rich>=13.0.0 # Better console output
typer>=0.9.0 # CLI interface
pytest>=7.0.0 # Testing framework
โ๏ธ Configuration
Claude Desktop Configuration
To use this MCP server with Claude Desktop, add the following configuration to your Claude config file:
Location:
- Windows:
%APPDATA%\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"servicenow-client": {
"command": "servicenow-mcp",
"args": [],
"env": {
"SERVICENOW_INSTANCE": "https://your_instance_id.service-now.com",
"SERVICENOW_USERNAME": "your_username",
"SERVICENOW_PASSWORD": "your_password"
}
}
}
}
โ ๏ธ Security Note: Replace the example credentials with your actual ServiceNow instance details. For production use, consider using environment variables or secure credential management.
Environment Variables
| Variable | Description | Example | Required |
|---|---|---|---|
SERVICENOW_INSTANCE |
Your ServiceNow instance URL | https://your_instance_id.service-now.com |
โ |
SERVICENOW_USERNAME |
ServiceNow username | your_username |
โ |
SERVICENOW_PASSWORD |
ServiceNow password | your_password |
โ |
Alternative: Environment File Setup
Create a .env file in the project root:
SERVICENOW_INSTANCE=https://your_instance_id.service-now.com
SERVICENOW_USERNAME=your_username
SERVICENOW_PASSWORD=your_password
### ๐ Claude Integration Quick Start
1. **Install the MCP server** following the installation steps above
2. **Update Claude config** with the servicenow-client configuration
3. **Restart Claude Desktop** to load the new MCP server
4. **Start chatting** with natural language commands like:
- *"Export the server table from ServiceNow"*
- *"Get me all incidents in XML format"*
- *"Show me the available ServiceNow tables"*
### ๐ง Advanced Configuration Options
<details>
<summary><strong>๐ Click to see advanced settings</strong></summary>
You can customize the MCP server behavior by adding additional environment variables:
```json
{
"mcpServers": {
"servicenow-client": {
"command": "servicenow-mcp",
"args": ["--verbose", "--max-records=1000"],
"env": {
"SERVICENOW_INSTANCE": "https://your-instance.service-now.com",
"SERVICENOW_USERNAME": "your_username",
"SERVICENOW_PASSWORD": "your_password",
"DEBUG": "1",
"DEFAULT_FORMAT": "xml",
"DOWNLOAD_PATH": "C:\\Custom\\Downloads"
}
}
}
}
Additional Environment Variables:
DEBUG: Enable debug logging (set to "1")DEFAULT_FORMAT: Set default export format ("csv", "xml", "both")DOWNLOAD_PATH: Custom download directory pathMAX_RECORDS: Default maximum records to export
๐ก Usage Examples
Natural Language Commands
Try these conversational commands with Claude:
"Export all incidents from ServiceNow"
"Get me user data in XML format"
"Show available tables in ServiceNow"
"Export server information with both CSV and XML"
"Get cmdb_ci_server table data"
Advanced Queries
"Export incidents where state is active"
"Get all users created this month"
"Export server data with specific fields only"
๐๏ธ Available Tools
The MCP server provides these tools for Claude AI:
export_servicenow_table: Main export functionalitylist_available_tables: Browse ServiceNow tablesget_table_schema: View table structuretest_connection: Verify ServiceNow connectivity
๐ Supported Formats
- CSV: Comma-separated values (Excel compatible)
- XML: Structured XML format (ServiceNow native)
- Both: Generate both formats simultaneously
๐บ๏ธ Table Mappings
Common table aliases supported:
| Alias | Actual Table | Description |
|---|---|---|
| incidents | incident | Service incidents |
| users | sys_user | System users |
| servers | cmdb_ci_server | Server CIs |
| changes | change_request | Change requests |
๐ Authentication
The server supports ServiceNow basic authentication. Ensure your ServiceNow user has appropriate read permissions for the tables you want to export.
๐ Troubleshooting
Common Issues:
- Connection failed: Check ServiceNow instance URL and credentials
- Permission denied: Verify user has table read access
- Large exports: Use pagination for tables with millions of records
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 servicenow_mcp-0.1.1.tar.gz.
File metadata
- Download URL: servicenow_mcp-0.1.1.tar.gz
- Upload date:
- Size: 25.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bbd95d603d03384501e72e9768983ed85e614133d61dd45b53354ea2bbb6e050
|
|
| MD5 |
633b0c40143f561799ecec2a89a6af1e
|
|
| BLAKE2b-256 |
5923ce910643f46d2eb3b6c350591692053b0004f3e086bb276a178689c8457d
|
Provenance
The following attestation bundles were made for servicenow_mcp-0.1.1.tar.gz:
Publisher:
publish.yml on mallikarjunservicenow/ServiceNow_MCP
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
servicenow_mcp-0.1.1.tar.gz -
Subject digest:
bbd95d603d03384501e72e9768983ed85e614133d61dd45b53354ea2bbb6e050 - Sigstore transparency entry: 346643835
- Sigstore integration time:
-
Permalink:
mallikarjunservicenow/ServiceNow_MCP@18fa4845a0240e92583b925e168a54727c704916 -
Branch / Tag:
refs/tags/latest-version - Owner: https://github.com/mallikarjunservicenow
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@18fa4845a0240e92583b925e168a54727c704916 -
Trigger Event:
release
-
Statement type:
File details
Details for the file servicenow_mcp-0.1.1-py3-none-any.whl.
File metadata
- Download URL: servicenow_mcp-0.1.1-py3-none-any.whl
- Upload date:
- Size: 21.2 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 |
a499f2d6073295b87afa0056be8d230e82520814cb15d2603b942e297ea7b8df
|
|
| MD5 |
b2f9c0f24e4f8736ffd6f9ac170b602b
|
|
| BLAKE2b-256 |
6ba28767d605d76118d8ed8d1fdc761d2213e235a36fbadde3338ae5fd4f655c
|
Provenance
The following attestation bundles were made for servicenow_mcp-0.1.1-py3-none-any.whl:
Publisher:
publish.yml on mallikarjunservicenow/ServiceNow_MCP
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
servicenow_mcp-0.1.1-py3-none-any.whl -
Subject digest:
a499f2d6073295b87afa0056be8d230e82520814cb15d2603b942e297ea7b8df - Sigstore transparency entry: 346643837
- Sigstore integration time:
-
Permalink:
mallikarjunservicenow/ServiceNow_MCP@18fa4845a0240e92583b925e168a54727c704916 -
Branch / Tag:
refs/tags/latest-version - Owner: https://github.com/mallikarjunservicenow
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@18fa4845a0240e92583b925e168a54727c704916 -
Trigger Event:
release
-
Statement type: