servicenow-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| WRITE_ENABLED | No | Enable write operations (create/update) across ITSM, HRSD, CSM, Agile, etc. Set to 'true' to allow. | false |
| MCP_TOOL_PACKAGE | No | Role-based tool package to expose. Options: 'full', 'service_desk', 'change_coordinator', 'knowledge_author', 'catalog_builder', 'system_administrator', 'platform_developer', 'portal_developer', 'integration_engineer', 'itom_engineer', 'agile_manager', 'ai_developer'. Defaults to 'full'. | full |
| SCRIPTING_ENABLED | No | Enable scripting operations (business rules, script includes, changesets, etc.). Set to 'true' to allow. | false |
| CMDB_WRITE_ENABLED | No | Enable CMDB write operations (CI create/update). Set to 'true' to allow. | false |
| NOW_ASSIST_ENABLED | No | Enable Now Assist operations (AI Agentic Playbooks, NLQ, AI Search). Set to 'true' to allow. | false |
| SN_INSTANCES_CONFIG | No | Path to a JSON file containing configuration for multiple ServiceNow instances (e.g., /path/to/instances.json). Use this for multi-instance setup instead of single-instance environment variables. | |
| SERVICENOW_AUTH_METHOD | No | Authentication method: 'basic' for Basic Auth or 'oauth2' for OAuth 2.0. Defaults to 'basic'. | basic |
| SERVICENOW_INSTANCE_URL | No | The URL of your ServiceNow instance (e.g., https://yourinstance.service-now.com). Required for single-instance setup. | |
| SERVICENOW_BASIC_PASSWORD | No | Password for Basic Auth. Required if SERVICENOW_AUTH_METHOD is 'basic'. | |
| SERVICENOW_BASIC_USERNAME | No | Username for Basic Auth (e.g., admin). Required if SERVICENOW_AUTH_METHOD is 'basic'. | |
| SERVICENOW_OAUTH_CLIENT_ID | No | Client ID for OAuth 2.0. Required if SERVICENOW_AUTH_METHOD is 'oauth2'. | |
| SERVICENOW_OAUTH_TOKEN_URL | No | Token URL for OAuth 2.0 (e.g., https://yourinstance.service-now.com/oauth_token.do). Required if SERVICENOW_AUTH_METHOD is 'oauth2'. | |
| SERVICENOW_OAUTH_CLIENT_SECRET | No | Client secret for OAuth 2.0. Required if SERVICENOW_AUTH_METHOD is 'oauth2'. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
| prompts | {} |
| resources | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_toolsA | Search the full NowAIKit tool catalog (400+ tools) by keyword to discover the right tool without loading every definition. Returns matching tool names + descriptions ranked by relevance. Use this FIRST when you are unsure which tool to call. Especially useful with MCP_TOOL_DISCOVERY=lean, which exposes only a small core set plus this search. |
| query_recordsA | Query ServiceNow records with filtering, field selection, pagination, and sorting |
| get_table_schemaB | Get the structure and field information for a ServiceNow table |
| get_recordB | Retrieve complete details of a specific record by sys_id |
| create_recordA | Create a new record in any ServiceNow table (requires WRITE_ENABLED=true). Pass dry_run=true to preview the resolved payload without writing. |
| update_recordA | Update an existing record in any ServiceNow table (requires WRITE_ENABLED=true). Pass dry_run=true to preview a before→after field diff without writing. |
| delete_recordA | Delete a record from any ServiceNow table (requires WRITE_ENABLED=true). Pass dry_run=true to preview the record that would be deleted without deleting it. |
| validate_queryA | Lint-check a ServiceNow encoded query BEFORE running it: validates javascript: expressions against the safe function allowlist, length limits, and common mistakes (e.g. using = instead of ^, raw spaces). Returns { valid, issues, suggestions }. |
| get_userA | Look up user details by email or username |
| get_groupA | Find assignment group details by name or sys_id |
| search_cmdb_ciC | Search for configuration items (CIs) in the CMDB |
| get_cmdb_ciB | Get complete information about a specific configuration item |
| list_relationshipsB | Show parent and child relationships for a CI |
| list_discovery_schedulesA | List discovery schedules and their run status |
| list_mid_serversA | List MID servers and verify they are healthy |
| list_active_eventsC | Monitor critical infrastructure events |
| cmdb_health_dashboardA | Get CMDB data quality metrics (completeness of server and network CI data) |
| service_mapping_summaryA | View service dependencies and related CIs for impact analysis |
| natural_language_searchC | Search ServiceNow using plain English |
| natural_language_updateB | Update a record using natural language (requires WRITE_ENABLED=true) |
| list_instancesA | List all configured ServiceNow instances (multi-instance / multi-customer support) |
| switch_instanceA | Switch the active ServiceNow instance for this session |
| get_current_instanceA | Get the currently active ServiceNow instance name and URL |
| create_ci_relationshipA | [Write] Create a relationship between two CMDB Configuration Items |
| cmdb_impact_analysisA | Analyze the downstream impact of a Configuration Item change or outage |
| run_discovery_scanB | [Write] Trigger a ServiceNow Discovery scan for network/infrastructure |
| bulk_create_recordsA | Create many records in one table in a single call, tracking every created sys_id and returning a rollback_token. With rollback_on_error=true, a mid-way failure deletes everything already created so the batch is all-or-nothing. Supports dry_run. Requires WRITE_ENABLED=true. |
| rollback_changesA | Delete a set of previously-created records, e.g. the rollback_token returned by bulk_create_records. Requires WRITE_ENABLED=true. |
| compare_instancesA | Compare two configured ServiceNow instances: record counts for a table (with optional query) and/or a specific system property value. Useful for dev→prod drift detection and governance. |
| create_incidentA | Create a new incident record (requires WRITE_ENABLED=true) |
| get_incidentA | Get full details of an incident by number (e.g. INC0012345) or sys_id |
| update_incidentA | Update fields on an existing incident (requires WRITE_ENABLED=true) |
| resolve_incidentB | Resolve an incident with resolution code and notes (requires WRITE_ENABLED=true) |
| close_incidentA | Close a resolved incident (requires WRITE_ENABLED=true) |
| add_work_noteA | Add an internal work note to any ITSM record (requires WRITE_ENABLED=true) |
| add_commentA | Add a customer-visible comment to any ITSM record (requires WRITE_ENABLED=true) |
| create_problemA | Create a new problem record (requires WRITE_ENABLED=true) |
| get_problemA | Get full details of a problem by number (PRB...) or sys_id |
| update_problemA | Update fields on an existing problem (requires WRITE_ENABLED=true) |
| resolve_problemA | Resolve a problem with root cause and resolution notes (requires WRITE_ENABLED=true) |
| create_change_requestA | Create a new change request (requires WRITE_ENABLED=true) |
| get_change_requestA | Get full details of a change request by number (CHG...) or sys_id |
| update_change_requestA | Update fields on a change request (requires WRITE_ENABLED=true) |
| list_change_requestsA | List change requests with optional filtering by state or query |
| submit_change_for_approvalA | Move a change request to "Requested" state for approval (requires WRITE_ENABLED=true) |
| close_change_requestA | Close a change request with close code and notes (requires WRITE_ENABLED=true) |
| schedule_cab_meetingC | [Write] Schedule a Change Advisory Board (CAB) meeting |
| get_taskA | Get details of any task record by number or sys_id |
| update_taskA | Update fields on a task record (requires WRITE_ENABLED=true) |
| list_my_tasksA | List tasks assigned to the currently configured user |
| complete_taskA | Mark a task as complete (requires WRITE_ENABLED=true) |
| list_knowledge_basesA | List all knowledge bases available in the instance |
| search_knowledgeB | Search knowledge base articles by keyword |
| get_knowledge_articleA | Get the full content of a knowledge article by number (KB...) or sys_id |
| create_knowledge_articleB | Create a new knowledge article (requires WRITE_ENABLED=true) |
| update_knowledge_articleA | Update a knowledge article (requires WRITE_ENABLED=true) |
| publish_knowledge_articleA | Publish a draft knowledge article (requires WRITE_ENABLED=true) |
| retire_knowledge_articleA | [Write] Retire a knowledge article (mark as outdated) |
| list_catalog_itemsB | List available service catalog items |
| search_catalogA | Search the service catalog for items matching a keyword |
| get_catalog_itemA | Get full details of a catalog item including its variables |
| create_catalog_itemA | Create a new service catalog item (requires WRITE_ENABLED=true) |
| update_catalog_itemA | Update an existing catalog item (requires WRITE_ENABLED=true) |
| order_catalog_itemA | Order a service catalog item (requires WRITE_ENABLED=true) |
| create_approval_ruleA | Create an approval rule that automatically generates approval requests when a record matches given conditions (requires WRITE_ENABLED=true). Uses the sysapproval_rule table. |
| get_my_approvalsA | List approvals pending for the currently configured user |
| list_approvalsB | List approval requests with optional filters |
| approve_requestA | Approve a pending approval request (requires WRITE_ENABLED=true) |
| reject_requestA | Reject a pending approval request (requires WRITE_ENABLED=true) |
| get_sla_detailsA | Get SLA breach status for a specific task or incident |
| list_active_slasB | List active SLA records with optional filters |
| create_catalog_variableA | [Write] Add a form variable to a service catalog item |
| create_catalog_ui_policyA | [Write] Create a UI policy for a catalog item form |
| list_usersB | List users with optional search filter |
| create_userA | Create a new user account (requires WRITE_ENABLED=true) |
| update_userA | Update a user account (requires WRITE_ENABLED=true) |
| list_groupsA | List groups with optional search filter |
| create_groupA | Create a new assignment group (requires WRITE_ENABLED=true) |
| update_groupA | Update a group (requires WRITE_ENABLED=true) |
| add_user_to_groupA | Add a user to a group (requires WRITE_ENABLED=true) |
| remove_user_from_groupA | Remove a user from a group (requires WRITE_ENABLED=true) |
| list_reportsA | List saved reports in the instance (latest release: /api/now/reporting) |
| get_reportA | Get the definition and metadata of a saved report |
| run_aggregate_queryC | Run a grouped aggregate (COUNT, SUM, AVG) query on any table (latest release: /api/now/stats/{table}) |
| trend_queryA | Get time-bucketed trend data for a table (useful for monthly/weekly trend charts) |
| get_performance_analyticsA | Read Performance Analytics scorecard/indicator data (requires PA plugin; GET /api/now/pa/scorecards). Pass an indicator sys_id, or a PA widget sys_id to resolve its indicator. |
| export_report_dataA | Export raw table data as structured JSON for use in external reports |
| get_sys_logA | Retrieve system log entries for debugging or auditing. Set app_scope=true to read the scoped-application log (syslog_app_scope), where scoped gs.info()/gs.log() output lands, instead of the global syslog. |
| list_scheduled_jobsA | List scheduled jobs and their run schedules |
| get_scheduled_jobA | Get full details of a scheduled job by sys_id or name |
| create_scheduled_jobA | Create a new scheduled script execution job (requires WRITE_ENABLED=true) |
| update_scheduled_jobA | Update a scheduled job (requires WRITE_ENABLED=true) |
| trigger_scheduled_jobA | Immediately execute a scheduled job on-demand (requires WRITE_ENABLED=true) |
| create_reportA | Create a new saved report on any table (requires WRITE_ENABLED=true) |
| update_reportA | Update an existing saved report definition (requires WRITE_ENABLED=true) |
| list_job_run_historyA | List recent run history for scheduled jobs (success/failure log) |
| create_scheduled_reportB | [Write] Schedule a report for recurring email delivery |
| create_kpiC | [Write] Create a Key Performance Indicator from ServiceNow data |
| generate_reportA | Generate a branded PDF or PPTX report from capability analysis results. Call this after completing a scan, review, or audit to create a management-ready document with charts, tables, and ServiceNow links. Supports single capability (content) or multiple capabilities (sections) in one combined report. |
| list_atf_suitesA | List ATF test suites in the instance |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| morning-standup | Daily standup briefing — P1/P2 incidents, SLA breaches, changes due today |
| my-tickets | All open tasks, incidents, and requests assigned to me |
| p1-alerts | Active P1 incidents with time open and assignee |
| my-changes | My pending change requests and their approval status |
| knowledge-search | Search the knowledge base |
| create-incident | Guided incident creation — asks for details then creates the record |
| sla-breaches | Records currently breaching or about to breach SLA |
| ci-health | CMDB health check for a named CI |
| run-atf | Trigger an ATF test suite and report results |
| switch-instance | Switch to a different ServiceNow instance for this session |
| deploy-updateset | Preview and commit an update set |
| scan-health | Complete instance health assessment — plugins, scheduled jobs, logs, quotas, system diagnostics |
| scan-security | Comprehensive security scan — ACLs, roles, scripts, APIs, compliance across ALL artifact types |
| scan-debt | Find dead code, unused scripts, duplicate logic, stale configurations across ALL artifact types |
| scan-upgrade | Check deprecated APIs, incompatible patterns, and plugin conflicts before upgrading |
| scan-cmdb | CMDB health — stale CIs, broken relationships, data quality, orphan detection, class compliance |
| scan-automation | Automation conflict detection — overlapping business rules and flows, circular triggers, execution order |
| review-code | Deep code review — security, performance, best practices, upgrade safety across all artifact types |
| review-acls | ACL coverage analysis — missing ACLs, field-level gaps, overly permissive rules, conflicts |
| review-scripts | Bulk script scan — injection, performance antipatterns, deprecated APIs, hardcoded sys_ids |
| review-flows | Flow Designer audit — error handling, performance, dead paths, async issues, security, compliance |
| build-business-rule | Guided business rule creation — understand, check existing, generate, review, create, test |
| build-client-script | Guided client script creation — onChange, onLoad, onSubmit, onCellEdit with best practices |
| build-test-plan | Generate ATF test plan for any artifact type — BRs, SIs, Client Scripts, Flows, ACLs, Catalog |
| build-app | Complete 7-phase scoped application builder — from data model to packaging |
| build-flow | Flow Designer creation — triggers, actions, error handling, subflows, testing |
| build-portal | Service Portal widget builder — server, client, HTML, CSS with architectural guidance |
| build-uib | UI Builder / Next Experience component builder — Seismic, NEDS, macroponents |
| build-catalog | End-to-end catalog item builder — variables, approval, fulfillment, client scripts |
| build-rest-api | Scripted REST API builder — resources, auth, error handling, versioning, documentation |
| ops-triage | P1/P2 incident triage — fetch details, assess CMDB impact, check SLAs, search KB, suggest resolution |
| ops-deploy | Safe deployment pipeline — validate, preview, create change, ATF, commit, rollback plan |
| ops-risk | Change risk scoring, conflict detection, CAB preparation, and rollback planning |
| docs-app | Auto-generate comprehensive application documentation — tables, scripts, flows, ACLs, catalog |
| docs-release | Generate release notes from update set — categorize changes, highlight breaking changes |
| docs-runbook | Operational runbook — incident response, health checks, escalation, recovery procedures |
| docs-script | Detailed script documentation — JSDoc, explanation, usage examples, dependencies, security |
| build-atf-suite | AI-generates runnable ATF test suites from business rules, script includes, flows, or any artifact |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| my-incidents | Open incidents currently assigned to me |
| open-changes | Change requests pending approval or scheduled this week |
| sla-breaches | Records currently breaching or about to breach SLA |
| instance:info | Current active ServiceNow instance metadata |
| ci:<name> | CMDB Configuration Item by name (e.g. @ci:web-prod-01) |
| kb:<title> | Knowledge Base article by title (e.g. @kb:VPN-setup) |
| query-syntax | ServiceNow encoded query syntax reference — operators, patterns, date functions, anti-patterns |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/aartiq/servicenow-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server