servicenow-platform-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SERVICENOW_ENV | No | Set to 'prod' or 'production' to block write operations | |
| MCP_TOOL_PACKAGE | No | Tool package preset: full, readonly, core_readonly, none, or a comma-separated list of group names | full |
| SERVICENOW_PASSWORD | Yes | Your ServiceNow password | |
| SERVICENOW_USERNAME | Yes | Your ServiceNow username | |
| SERVICENOW_INSTANCE_URL | Yes | Your ServiceNow instance URL, e.g. https://dev12345.service-now.com |
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 | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_tool_packagesA | List all available tool packages and their tool groups. |
| queryA | Read records, aggregates, or a single record from any ServiceNow table. Args:
table: ServiceNow table name (e.g. 'incident').
sys_id: When set, fetch a single record by sys_id (other filter args ignored
except |
| describeA | Return slim field metadata for a table, or list tables / script fields. Args:
table: ServiceNow table name. Required for the default flow and for
|
| record_writeA | Create, update, or delete a record. Defaults to preview mode. Supply all field values, including complete script or markup strings,
in Args: action: 'create' | 'update' | 'delete'. table: Target table. Required. sys_id: Required for 'update' and 'delete'. data: JSON string mapping field names to values, including any script fields. Required for 'create' and 'update'. Maximum 256 KiB of UTF-8 JSON, including escaping and field names. preview: When True (default) returns a preview_token; caller invokes record_apply to commit. When False, write commits immediately. |
| record_applyA | Commit a previously previewed write. Single-use token. Args:
preview_token: The token returned by |
| record_readA | Fetch a record by sys_id or name from any table. Exactly one of Args:
table: ServiceNow table name (e.g. |
| attachmentA | Read attachments. action: 'list' | 'get' | 'download' | 'download_by_name'. Args: action: One of: list, get, download, download_by_name. sys_id: Attachment sys_id (for get, download). table: Parent table (for list, download_by_name). table_sys_id: Parent record sys_id (for list, download_by_name). file_name: File name (for download_by_name). |
| attachment_writeA | Write attachments. action: 'upload' | 'delete'. Args: action: 'upload' or 'delete'. table: Parent table (upload). table_sys_id: Parent record sys_id (upload). file_name: Attachment file name (upload). content_base64: Base64-encoded file bytes (upload). content_type: MIME type (upload, default 'application/octet-stream'). sys_id: Attachment sys_id (delete). |
| investigateA | Run an investigation or explain a finding. Args: action: 'run' | 'explain' | 'describe'. name: Investigation name (required for 'run'; optional direct selector for 'explain' and filter for 'describe'). Available: stale_automations, deprecated_apis, table_health, acl_conflicts, error_analysis, slow_transactions, performance_bottlenecks. params: JSON string of run parameters (run only). element_id: 'table:sys_id' identifier of a finding (explain only). |
| resolve_choiceA | Resolve a choice label to its underlying value via ChoiceRegistry. Args: table: ServiceNow table name. field: Field name on that table. label: Choice label to resolve. When empty, returns the full {label: value} mapping for the field. |
| service_catalogB | Service Catalog operations. Dispatch on Args: action: One of: catalogs_list, catalog_get, categories_list, category_get, items_list, item_get, item_variables, order_now, add_to_cart, cart_get, cart_submit, cart_checkout. sys_id: Record sys_id (catalog_get, category_get, item_get, item_variables). item_sys_id: Catalog item sys_id (order_now, add_to_cart). catalog_sys_id: Catalog sys_id (categories_list). catalog: Filter by catalog sys_id (items_list). category: Filter by category sys_id (items_list). text: Search text (catalogs_list, items_list). variables: JSON object of variable name/value pairs (order_now, add_to_cart). limit: Max results (catalogs_list, categories_list, items_list). Default 20. offset: Pagination offset (categories_list, items_list). Default 0. top_level_only: Return only top-level categories (categories_list). |
| analysisA | Run bounded, read-only analysis over catalog answers or journals. Args: action: 'ritm_variables' | 'journal_history' | 'describe'. table: Target table for journal_history. sys_id: Target record sys_id for ritm_variables or journal_history. fields_csv: Allowed journal fields: comments, work_notes, close_notes. since: ISO date floor for journal_history; overrides window_days. window_days: Journal window; defaults to 90 days. limit: Row cap; defaults to MAX_ROW_LIMIT and is capped by it. offset: Zero-based row offset. |
| auditA | Inspect ServiceNow audit posture (table/field config) and audit trail. IMPORTANT: Args: action: 'check_field' | 'check_fields' | 'check_table' | 'history' | 'describe'. table: ServiceNow table name (required for all actions except 'describe'). field: Field name (required for 'check_field'). fields_csv: Comma-separated field names (required for 'check_fields', 1..50). sys_id: 32-char record sys_id (required for 'history'). since: YYYY-MM-DD cutoff (history only; overrides window_days). window_days: Audit-trail/positive-control window (defaults to 90). limit: Row cap for 'history' (defaults to settings.max_row_limit). |
| flowA | Inspect Flow Designer flows, triggers, and value blobs (read-only). Args: action: 'contract' | 'inspect' | 'find_by_table' | 'decode_values' | 'list_triggers' | 'describe'. sys_id: Flow sys_id (contract/inspect; mutually exclusive with name). name: Flow name (contract/inspect; mutually exclusive with sys_id). value: gzip+base64+JSON blob to decode (decode_values). table: Target table (find_by_table; optional filter for list_triggers). trigger_type: Trigger type filter (list_triggers, e.g. 'record_update'). active: 'true' | 'false' filter (list_triggers). limit: Row cap for list_triggers (default 100). sections: Comma-separated inspect/contract sections. Empty uses the compact default; '*' returns all. section_limit: Shared cap for selected flow rows/nodes (default 100, max MAX_ROW_LIMIT). |
| code_searchA | Search ServiceNow code or inspect Code Search table coverage. Args: action: One of 'search', 'list_tables', or 'describe'. term: Search term for action='search'. table: Optional table filter for action='search' (e.g. 'sys_script_include'). search_group: ServiceNow Code Search group; empty uses sn_codesearch.Default Search Group. limit: Max search results for action='search'. Default 20. extended_matching: Include additional Code Search context fields. Default false. Set true when the extra context is needed. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |