ServiceNow Dev MCP
AI-powered ServiceNow developer toolkit for Claude Code with 116 tools covering script generation, code review, portal and catalog development, notifications, user and group management, CRUD operations, dictionary overrides, data migration, bidirectional integrations, ATF testing, performance analysis, technical documentation, and issue diagnosis.
README
ServiceNow Dev MCP
AI-powered ServiceNow developer toolkit for Claude Code — 116 tools covering script generation, code review, portal & catalog development, notifications, user & group management, CRUD operations, dictionary overrides, data migration, bidirectional integrations, ATF testing, performance analysis, technical documentation, and issue diagnosis.
What is this?
ServiceNow Dev MCP is a Model Context Protocol server that connects Claude Code directly to your ServiceNow, Jira, and Salesforce instances. Instead of switching between tabs, writing boilerplate from scratch, or Googling best practices, you just describe what you need and Claude handles it end-to-end.
"Create a Business Rule that sets priority to Critical when the category is Security"
"Clone the sc-cat-item widget and add a real-time search bar"
"Review this Script Include for performance issues"
"Create a user John Smith with role itil and add him to the Network Operations group"
"Make the business_service field mandatory on incident but not on task"
"Generate full technical documentation for my HR application"
"My widget shows a blank white box — help me diagnose it"
"Create a high-priority Jira ticket and link it to incident INC0012345"
"Migrate all Jira issues from project KAN to the incident table in ServiceNow"
Capabilities
| Category | What it does |
|---|---|
| Script Generation | Business Rules, Script Includes, Client Scripts, UI Actions, Scripted REST APIs, Scheduled Jobs, Fix Scripts, Widgets — best practices built in |
| Code Review | 20-rule static analyser — anti-patterns, performance, security, null-safety. Score 0–10 with per-issue fix guidance |
| Service Portal | Analyze portals, find / clone / create / update widgets, scaffold new portals with CSS-variable themes |
| Service Catalog | Catalog items with typed variables, client scripts, UI policies; clone existing items; categories; record producers |
| Notifications | Email notifications with HTML templates, push notifications, email scripts, notification analysis |
| User & Group Management | Create users/groups, assign roles, manage membership — ServiceNow, Jira, and Salesforce |
| CRUD Operations | Full Create / Read / Update / Delete on any table/object across all three platforms |
| Dictionary Overrides | Create, inspect, and delete field overrides on child tables with correct override_X flag handling |
| Table Explorer | Schema discovery — fields, BRs, Client Scripts, ACLs, relationships, parent hierarchy |
| ATF Testing | Generate Automated Test Framework suites for BRs, SIs, REST APIs, forms, tables |
| Performance Analysis | Slow script detection, missing index suggestions, BR audits, error pattern analysis |
| Technical Docs | Full project documentation generated from live SN data; feature one-pagers |
| Issue Diagnosis | 60+ catalogued issues with step-by-step diagnosis, copy-paste fixes, prevention tips |
| Data Migration | Migrate Jira / Salesforce data into any ServiceNow table with full artifact generation |
| Bidirectional Integration | Design and implement SN↔Jira, SN↔Salesforce integrations with BRs, Scripted REST, Apex |
Tool count: 116
<details> <summary><strong>Developer Productivity (35 tools)</strong></summary>
| Tool | What it does |
|---|---|
generate_script |
Generate any SN artifact with best practices |
review_script |
Code review — 20 rules, score 0–10, fix guidance |
list_review_rules |
Browse all 20 review rules by category |
explore_table |
Full schema: fields, BRs, Client Scripts, ACLs, relationships, hierarchy |
find_table |
Search tables by keyword |
get_table_acls |
All ACL rules for a table |
generate_atf_tests |
ATF test suites for BRs, SIs, REST APIs, forms, tables |
analyze_performance |
Slow scripts, index gaps, error patterns, BR audit |
find_sys_logs |
Search system logs by keyword / source / level |
run_background_script |
Create and run Fix Script records (dry_run safe) |
generate_docs |
Markdown API docs for SIs, BRs, tables, REST APIs, applications |
scaffold_application |
Full app scaffold: table + BRs + SI + UI Actions + ACLs + ATF + docs |
health_check_instance |
Instance health score with actionable findings |
explain_api |
Explain SN APIs (GlideRecord, GlideAggregate, RESTMessageV2, etc.) |
analyze_portal |
Analyze a complete Service Portal |
find_widget |
Search widgets by name, ID, or keyword |
clone_widget |
Clone a widget with modifications |
create_widget |
Generate a complete widget from a requirement |
update_widget |
PATCH specific widget sections |
create_portal |
Scaffold a new portal with theme and pages |
create_catalog_item |
Catalog item with variables, client scripts, UI policies |
clone_catalog_item |
Clone a live catalog item from SN |
create_catalog_category |
Create a catalog category |
get_catalog_item |
Fetch catalog item and variables |
create_notification |
Email notification with responsive HTML template |
analyze_notifications |
Audit and find issues in existing notifications |
create_push_notification |
Push notification for Now Mobile |
create_email_script |
Dynamic email script (sys_script_email) |
generate_project_doc |
Full project technical doc from live SN data |
generate_feature_doc |
Feature one-pager for sprint / change docs |
diagnose_issue |
Diagnose any SN issue from a symptom description |
get_issue_guide |
Step-by-step guided fix for a known issue |
list_common_issues |
Browse 60+ catalogued issues by category |
get_field_choices |
Get choice list values for any field |
create_choice |
Add a new value to a choice list |
</details>
<details> <summary><strong>User & Group Management (11 tools)</strong></summary>
| Tool | Platform | What it does |
|---|---|---|
sn_create_user |
ServiceNow | Create sys_user — roles + groups in one call, manager resolution, auto username |
sn_create_group |
ServiceNow | Create sys_user_group — duplicate check, members, roles, parent group |
sn_manage_group_members |
ServiceNow | Add / remove / list group members |
sn_assign_roles |
ServiceNow | Assign or revoke roles on users or groups |
sn_get_user |
ServiceNow | Full user profile with roles and group memberships |
sn_get_group |
ServiceNow | Group detail with member list and assigned roles |
sn_list_roles |
ServiceNow | Browse sys_user_role with keyword filter |
jira_create_group |
Jira | Create group and add initial members |
jira_manage_group_members |
Jira | Add / remove / list Jira group members |
sf_create_user |
Salesforce | Create User with all required system fields |
sf_manage_group |
Salesforce | Create Public Groups / Queues, manage members |
</details>
<details> <summary><strong>CRUD Operations (12 tools)</strong></summary>
| Tool | Platform | What it does |
|---|---|---|
sn_create |
ServiceNow | Create any record in any table |
sn_read |
ServiceNow | Read by sys_id or encoded query |
sn_update |
ServiceNow | PATCH a record — only changed fields |
sn_delete |
ServiceNow | Delete with confirm=true safety gate |
jira_create |
Jira | Create issues, comments, subtasks, components, versions |
jira_read |
Jira | Read issues, JQL search, projects, users, boards, sprints, transitions |
jira_update |
Jira | Update fields, transition status, edit comments |
jira_delete |
Jira | Delete issues or comments with confirm gate |
sf_create |
Salesforce | Create any sObject record |
sf_read |
Salesforce | Read by Id, SOQL query, or object describe |
sf_update |
Salesforce | PATCH a record — only changed fields |
sf_delete |
Salesforce | Delete with confirm gate (recoverable via Recycle Bin) |
</details>
<details> <summary><strong>Dictionary Overrides (3 tools)</strong></summary>
| Tool | What it does |
|---|---|
create_dictionary_override |
Create or update a field override on a child table. Correctly sets both the value and the required override_X=true flag — the step most developers miss. Supports: mandatory, default_value, column_label, read_only, display, calculation, choice, dependent. Dry-run mode available. |
get_dictionary_overrides |
List all active overrides on a table or field — shows which flags are set and their effective values |
delete_dictionary_override |
Delete an override, reverting the field to parent table defaults. Requires confirm=true. |
</details>
<details> <summary><strong>Data Migration (30 tools)</strong></summary>
| Tool | What it does |
|---|---|
get_config |
Show credential/connection status |
configure_credentials |
Set per-session credentials (web Claude Code) |
connect |
Test connectivity to SN / Jira / Salesforce |
check_migration_state |
Scan SN for existing artifacts, return gap analysis |
discover_schema |
Pull source + target schemas, auto-suggest mappings |
analyze_dependencies |
Jira hierarchy analysis, user mapping, migration sequence |
build_artifacts |
Create staging table, transform map, field maps (idempotent) |
run_test_migration |
Push sample records, field-level data quality report |
run_full_migration |
Full migration in dependency order with parallel batches |
map_users |
Map source users to SN users |
pre_migration_check |
Pre-flight validation |
transform_preview |
Preview a transform rule on sample data |
convert_rich_text |
Convert Jira ADF / Salesforce HTML to SN HTML |
topological_sort |
Dependency-ordered migration sequence |
start_audit_session |
Start an audit trail for a migration |
get_audit_stats |
Migration audit statistics |
reconcile_migration |
Field-level comparison: source vs SN |
reconcile_staging |
Compare staging vs target (PASS/PARTIAL/FAIL) |
migration_test_report |
Full migration test report |
fetch_sn_records |
Query any SN table |
analyze_transform_map |
Audit an existing transform map |
get_report_data |
Structured data for sign-off documents |
cleanup_migration |
Delete migrated records (with confirmation) |
cleanup_artifacts |
Delete all migration setup artifacts |
list_sf_flows |
List Salesforce flows |
analyze_flow |
Parse Salesforce flow structure |
build_flow |
Build equivalent SN Flow Designer flow |
</details>
<details> <summary><strong>Bidirectional Integration (25 tools)</strong></summary>
| Tool | What it does |
|---|---|
design_integration |
Design a full bidirectional integration plan (SN↔Jira, SN↔SF, SF↔Jira) |
create_sn_integration_artifacts |
Business Rules, Scripted REST APIs, correlation/retry tables |
create_jira_integration_artifacts |
Jira webhooks and automation rules |
create_sf_integration_artifacts |
Salesforce Apex triggers, Named Credentials, REST callout classes |
get_integration_status |
Check sync health and error counts |
retry_failed_syncs |
Retry records in the dead-letter table |
test_integration |
End-to-end integration test |
disable_integration |
Pause all syncs (maintenance mode) |
enable_integration |
Resume syncs after maintenance |
update_field_mappings |
Update field mappings in a live integration |
</details>
Quick start
1. Clone and install
git clone https://github.com/pinnintisagarSB/ServiceNow-Dev-MCP.git
cd ServiceNow-Dev-MCP
npm install
2. Configure credentials
cp .env.example .env
Edit .env:
# ServiceNow (required for all tools)
SN_INSTANCE_URL=https://yourinstance.service-now.com
SN_USERNAME=admin
SN_PASSWORD=yourpassword
SN_SCOPE_PREFIX=u
# Jira (required for Jira tools)
JIRA_BASE_URL=https://yourcompany.atlassian.net
JIRA_EMAIL=your_email@example.com
JIRA_API_TOKEN=your_api_token
# Salesforce (required for Salesforce tools)
SF_LOGIN_URL=https://login.salesforce.com
SF_CLIENT_ID=your_consumer_key
SF_CLIENT_SECRET=your_consumer_secret
SF_USERNAME=your_sf_username@example.com
SF_PASSWORD=your_sf_password
SF_SECURITY_TOKEN=your_security_token
3. Register with Claude Code
claude mcp add sn-dev-mcp node "$(pwd)/src/mcp-server.js"
Verify:
claude mcp list
# sn-dev-mcp: node /path/to/... ✔ Connected
4. Restart Claude Code
Close and reopen Claude Code. All 116 tools are now available. Type /mcp to confirm.
Example prompts
Script development
Generate a Business Rule on incident that creates a Jira ticket when priority changes to 1
Review this Script Include for performance and security issues — [paste code]
Clone the "sc-cat-item" widget and rename it "My Catalog Item"
Create a catalog item for a Laptop Request with employee name (mandatory),
model (dropdown), justification (text), and manager approval (yes/no)
Create an email notification for when an incident is assigned —
send to the assigned user and their manager
User & group management
Create user Jane Smith, email jane@company.com, title "Senior Analyst",
role itil, add to groups "Service Desk" and "Change Approvers"
Create a group "Network Operations APAC" managed by john.doe,
add members [alice, bob, carol], assign role itil
What roles and groups does david.jones have?
Add sarah.connor to the "Problem Management" group
Remove the admin role from temp.contractor@company.com
CRUD across platforms
Create a high-priority incident in ServiceNow for the network outage in Building 3
Find all open Jira tickets assigned to john@company.com in project OPS
Update Salesforce Case 500ABC — set Status to Escalated, Priority to Critical
Create a Jira comment on KAN-55: "Picked up, will update by EOD"
Move Jira ticket KAN-55 to Done status
Dictionary overrides
Make the business_service field mandatory on incident but not on task
Rename the caller_id label to "Requested By" on sc_request
Hide the parent field on hr_case
Show me all dictionary overrides on the change_request table
Data migration
Migrate all Jira issues from project KAN to the incident table
Run a test migration of 5 records first and show me the field quality report
Design a bidirectional integration between ServiceNow incidents and Jira issues
Debugging & docs
My widget shows a blank white box when it loads — diagnose the issue
The email notification for incidents isn't being received — what could be wrong?
Generate full technical documentation for our IT Asset application
(tables: u_asset, u_asset_request)
Architecture
src/
├── mcp-server.js # 116 MCP tools — single entry point
├── connectors/
│ ├── servicenow.js # SN Table API, Import Set API, bulk ops
│ ├── salesforce.js # SF REST + Tooling API + Bulk API 2.0
│ └── jira.js # Jira REST API v3 — full CRUD
├── developer/
│ ├── script-builder.js # Generate BR, SI, CS, UI Action, REST, Job, Widget
│ ├── code-reviewer.js # 20-rule static analyser
│ ├── table-explorer.js # Schema: fields, BRs, ACLs, relationships
│ ├── test-generator.js # ATF test suite generator
│ ├── perf-analyzer.js # Slow scripts, indexes, error patterns
│ ├── doc-generator.js # Markdown API docs per artifact
│ ├── portal-builder.js # SP widget / portal builder
│ ├── catalog-builder.js # Catalog items, variables, categories
│ ├── notification-builder.js # Email & push notifications
│ ├── tech-doc-writer.js # Full project docs from live SN data
│ └── issue-guide.js # 60+ issue catalogue with guided fixes
├── migration/
│ ├── schema.js # Schema discovery + mapping suggestions
│ ├── staging.js # Artifact builder (idempotent)
│ ├── runner.js # Migration runner with topo sort + ETA
│ ├── batch.js # Parallel batch runner + dedup
│ ├── dependency.js # User/hierarchy analysis
│ ├── validator.js # Field-level data quality report
│ ├── transform-engine.js # 15+ transform types
│ ├── reconciler.js # 3-layer reconciliation (PASS/PARTIAL/FAIL)
│ ├── audit.js # NDJSON audit trail
│ ├── user-mapping.js # Source → SN user mapping
│ ├── pre-migration-checks.js # Pre-flight validation
│ └── cleanup.js # Delete records and artifacts
├── integration/
│ ├── designer.js # Integration plan designer
│ ├── sn-artifacts.js # SN BRs, Scripted REST, correlation tables
│ ├── jira-artifacts.js # Jira webhooks + automation rules
│ └── sf-artifacts.js # Salesforce Apex triggers, callout classes
├── flows/
│ ├── retriever.js # Salesforce flow parser
│ └── jira-automation.js # Jira automation retriever
└── utils/
├── logger.js # Structured logging
├── rich-text.js # ADF → HTML, SF HTML → SN HTML
└── sn-auth.js # Basic auth + SDK OAuth
Running modes
Local CLI (default)
node src/mcp-server.js
HTTP/SSE (web Claude Code or remote deployment)
MCP_MODE=http MCP_PORT=3000 node src/mcp-server.js
Update .mcp.json with your deployed URL:
{
"mcpServers": {
"sn-dev-mcp": {
"type": "http",
"url": "https://your-server.example.com/sse"
}
}
}
In HTTP mode, use configure_credentials to set per-session credentials — never logged or persisted.
Permissions required
| Capability | Minimum role |
|---|---|
| Read any table | read ACL on the table |
| Scripts, BRs, widgets, notifications | admin |
| Catalog items | catalog_admin |
| User / group management | admin or user_admin |
| Data migration (staging tables, transform maps) | import_admin |
| ATF tests | atf_test_designer |
| Background scripts | admin |
Requirements
- Node.js 18+
- Claude Code (CLI, desktop app, web, or IDE extension)
- ServiceNow developer or sub-production instance (PDI recommended)
- Jira Cloud API token (for Jira tools)
- Salesforce Connected App credentials (for Salesforce tools)
Tool growth
The MCP is designed to grow with every use case. New tools are added by:
- Adding a method to an existing module in
src/developer/orsrc/integration/ - Registering a
server.tool()insrc/mcp-server.js - Pushing — no build step required
| Version | Tools | Key additions |
|---|---|---|
| 1.0 | 27 | Data migration (Jira → SN, SF → SN) |
| 1.5 | 55 | Bidirectional integrations, reconciliation, audit |
| 2.0 | 90 | Developer toolkit: scripts, review, portal, catalog, notifications, docs, issue guide |
| 2.1 | 105 | Full CRUD (SN + Jira + SF), dictionary overrides |
| 2.2 | 116 | User & group management across all 3 platforms |
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。