io.github.IvanBBaev/servicenow-mcp-ai
MCPB · SERVICENOW-MCP-AI-3.1.1.MCPB · 3 COMPONENTS
ServiceNow MCP server — 100 tools over the full REST surface, every auth method, flows, diagrams.
Last scanned (6 hours ago)
Scores higher than 82% of MCPB servers
Category Project Management
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security25
- No malware scan is available for this kind of package: the supply-chain vendors we use do not cover it. This is a permanent gap in our coverage, not a finding about the package.Unverified
- Known CVEs were checked across the 7 of 7 dependencies we could resolve, so this covers what we could see, not the whole tree.Partial
- No install/post-install scripts declared.Pass
- 0 of 7 dependencies flagged as unhealthy. View diagnostics → Pass
Provenance & Transparency48
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (GPL-3.0-or-later).Pass
- Actively maintained (last published 5 days ago).Pass
- Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability82
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (good).Pass
- Tool/resource definitions use about 3355 tokens (~90/item across 37 items; 20 tools + 17 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management20
- Stability observed for 6 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 99% of tool parameters carry a description.Partial
- Structured output schemas are declared (65% of tools); any adoption earns full credit.Pass
Tool Safety75
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- 0 of 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "servicenow_delete_record" implies "delete" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
- An AI judge read all 22 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
Checks we ran (15)
- Known CVEs
- Install scripts
- Dependency health
- Source repository
- Provenance
- License
- Maintenance
- Security disclosure
- Schema quality
- Stability
- Tool coverage
- Injection markers
- Destructive annotations
- Judged manipulation
- MCP protocol
Checks we could not complete (1)
These are gaps on our side, not findings about this package. We only credit what we can confirm, so a category made up entirely of them scores 0.
- Malware scan in Supply Chain SecurityNo malware scan is available for this kind of package: the supply-chain vendors we use do not cover it. This is a permanent gap in our coverage, not a finding about the package.
Does not apply to this package (2)
- Endpoint SecurityScored on hosted endpoints only. A package has no live endpoint of its own for us to probe.
- Transport & ReachabilityScored on hosted endpoints only. A package has no live endpoint of its own for us to probe.
The score does not measure everything. What the score does not measure →
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 4 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 13 to 17. That category is still filling its 30-day observation window: 4 days of observed history at the previous scan, 5 at this one. The score rises as the window fills, whether or not the server changes.
- 2 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.
- 31 Oct 26 +2
- Stability: unverified → 0.03 ▲ functional
- Maintenance: unverified → pass ▲ functional
- Package version: 3.1.0 → 3.1.1 functional
- 30 Oct 26 47
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 5 Nov 2026 · Analysed mcpb/https://github.com/IvanBBaev/servicenow-mcp-ai/releases/download/v3.1.1/servicenow-mcp-ai-3.1.1.mcpb@3.1.1
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | mcpb |
| Reason | No attestation published |
Background: How many MCP packages publish verified provenance →
Dependencies 7 packages
| Packages resolved | 7 |
|---|---|
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
servicenow_aggregate Aggregate ServiceNow records ~185
Server-side aggregates (count, avg, min, max, sum) over a table via the Stats API, optionally grouped.
| Name | Type | Req | Description |
|---|---|---|---|
| avg_fields | array | – | Numeric fields to average. |
| count | boolean | – | Include a count (sysparm_count). |
| displayValue | boolean | – | Add display values (sysparm_display_value=all). |
| group_by | array | – | Fields to group by. |
| having | string | – | HAVING clause (sysparm_having). |
| instance | string | – | Profile (default active) |
| max_fields | array | – | Fields to take the max of. |
| min_fields | array | – | Fields to take the min of. |
| query | string | – | Encoded query filtering the rows. |
| sum_fields | array | – | Numeric fields to sum. |
| table | string | yes | Table, e.g. 'incident'. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | – | – | – |
No examples provided.
servicenow_check_capabilities Check achievable capabilities ~116
Preflight which sys_* tables are readable and which capabilities work — run it before scripts/flows/codecheck on a governed instance. 'groups' picks matrix probes; results are cached (refresh:true).
| Name | Type | Req | Description |
|---|---|---|---|
| groups | array | – | Groups to probe (default all), one read-only probe each; update_sets adds canRead / canSet (inferred). The sys_* preflight always runs. |
| instance | string | – | Profile (default active) |
| refresh | boolean | – | Discard the cache and probe again. |
| Name | Type | Req | Description |
|---|---|---|---|
| capabilities | – | – | – |
| degraded | boolean | yes | – |
| matrix | – | – | – |
| summary | string | yes | – |
No examples provided.
servicenow_create_record Create ServiceNow record ~165
Create a new record in a table with the given field values.
| Name | Type | Req | Description |
|---|---|---|---|
| apply | boolean | – | true executes; omitted: a non-mutating plan preview (SN_WRITE_MODE=apply executes by default). |
| inputDisplayValue | boolean | – | Values are display values the instance resolves (sysparm_input_display_value); default false: raw. |
| instance | string | – | Profile (default active) |
| table | string | yes | Table, e.g. 'incident'. |
| update_set | string | – | In-progress update set (sys_id or exact name) to capture the write in, restored after. Default SN_UPDATE_SET; data rows are never captured. |
| values | object | yes | Field name/value pairs, e.g. { "short_description": "x" }. |
No output schema declared.
No examples provided.
servicenow_delete_record Delete ServiceNow record ~168
Delete a record from a table by its sys_id.
| Name | Type | Req | Description |
|---|---|---|---|
| apply | boolean | – | true executes; omitted: a non-mutating plan preview (SN_WRITE_MODE=apply executes by default). |
| expected_mod_count | integer | – | sys_mod_count from the plan's apply_with; with apply, a changed record is refused (STALE_RECORD). |
| instance | string | – | Profile (default active) |
| plan_token | string | – | Plan preview token (apply:true) |
| sys_id | string | yes | Record sys_id. |
| table | string | yes | Table, e.g. 'incident'. |
| update_set | string | – | In-progress update set (sys_id or exact name) to capture the write in, restored after. Default SN_UPDATE_SET; data rows are never captured. |
No output schema declared.
No examples provided.
servicenow_describe_table Describe ServiceNow table ~86
List a table's columns from sys_dictionary (name, label, type, mandatory, reference, default, flags). details:true adds choice lists and dictionary overrides.
| Name | Type | Req | Description |
|---|---|---|---|
| details | boolean | – | Add choice lists and dictionary overrides (two extra reads). |
| instance | string | – | Profile (default active) |
| table | string | yes | Table, e.g. 'incident'. |
| Name | Type | Req | Description |
|---|---|---|---|
| columns | array | yes | – |
| count | number | yes | – |
| table | string | yes | – |
| warnings | array | – | – |
No examples provided.
servicenow_disable_package Disable a tool package ~67
Disable a tool package for this session: its tools, resources and prompts are withdrawn (list_changed is sent). The admin tools cannot be disabled.
| Name | Type | Req | Description |
|---|---|---|---|
| instance | string | – | Profile (default active) |
| name | string | yes | Package name, e.g. 'codecheck'. |
| Name | Type | Req | Description |
|---|---|---|---|
| changed | boolean | yes | – |
| enabled | boolean | yes | – |
| package | string | yes | – |
| prompts | array | yes | – |
| readOnly | boolean | yes | – |
| tools | array | yes | – |
No examples provided.
servicenow_enable_package Enable a tool package ~72
Enable a tool package for this session (list_changed is sent). Denied packages are refused; a read-only package brings only its read tools. Ends with the session.
| Name | Type | Req | Description |
|---|---|---|---|
| instance | string | – | Profile (default active) |
| name | string | yes | Package name, e.g. 'codecheck'. |
| Name | Type | Req | Description |
|---|---|---|---|
| changed | boolean | yes | – |
| enabled | boolean | yes | – |
| package | string | yes | – |
| prompts | array | yes | – |
| readOnly | boolean | yes | – |
| tools | array | yes | – |
No examples provided.
servicenow_explain_policy Explain ServiceNow access policy ~77
Say whether a table may be read or written under the active policy and which rule decides, or, without a table, return the effective policy. Local; no instance call.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | – | Default read. |
| instance | string | – | Profile (default active) |
| table | string | – | Table to check. |
No output schema declared.
No examples provided.
servicenow_find_tools Find tools by intent ~72
Search all tool packages, loaded or not, by intent; servicenow_enable_package loads a match's package.
| Name | Type | Req | Description |
|---|---|---|---|
| instance | string | – | Profile (default active) |
| limit | integer | – | – |
| query | string | yes | What to do, e.g. 'run an ATF suite'. |
| Name | Type | Req | Description |
|---|---|---|---|
| matches | array | yes | – |
No examples provided.
servicenow_get_record Get ServiceNow record ~82
Read a single record from a table by its sys_id.
| Name | Type | Req | Description |
|---|---|---|---|
| displayValue | string | – | As in query_table. |
| fields | array | – | Columns (default all). |
| instance | string | – | Profile (default active) |
| sys_id | string | yes | Record sys_id. |
| table | string | yes | Table, e.g. 'incident'. |
Structured output declared, but exposes no named fields.
No examples provided.
servicenow_get_status Get ServiceNow connection status ~55
Show instance, auth, missing credentials, per-profile write mode, policy, limits, TLS, queue, write counters, version, uptime. Secrets are never shown.
| Name | Type | Req | Description |
|---|---|---|---|
| instance | string | – | Profile (default active) |
| Name | Type | Req | Description |
|---|---|---|---|
| activeProfile | string | yes | – |
| allowedTables | array | yes | – |
| authMode | string | yes | – |
| authWarnings | array | yes | – |
| configured | boolean | yes | – |
| deniedPackages | array | yes | – |
| deniedTables | array | yes | – |
| enabledPackages | array | yes | – |
| http | object | yes | – |
| instance | string | yes | – |
| passwordSet | boolean | yes | – |
| pluginApis | object | yes | – |
| policy | object | yes | – |
| profileDetails | array | yes | – |
| profiles | array | yes | – |
| readOnly | boolean | yes | – |
| readOnlyPackages | array | yes | – |
| sdkManaged | object | yes | – |
| server | object | yes | – |
| telemetry | object | yes | – |
| user | string | yes | – |
| writes | object | yes | – |
No examples provided.
servicenow_list_instances List connection profiles ~59
List the connection profiles: name, host, user, auth method (and OAuth grant), refresh-token state, read-only flag, write mode, credentials complete. Secrets are never included.
| Name | Type | Req | Description |
|---|---|---|---|
| instance | string | – | Profile (default active) |
| Name | Type | Req | Description |
|---|---|---|---|
| count | number | yes | – |
| profiles | array | yes | – |
No examples provided.
servicenow_list_packages List tool packages ~57
List tool packages with their session state: enabled, configured, denied, read-only, tool count. Toggle one with servicenow_enable_package / servicenow_disable_package.
| Name | Type | Req | Description |
|---|---|---|---|
| instance | string | – | Profile (default active) |
| Name | Type | Req | Description |
|---|---|---|---|
| enabled | array | yes | – |
| packages | array | yes | – |
No examples provided.
servicenow_list_tables List ServiceNow tables ~52
List tables from sys_db_object, optionally filtered by a name or label fragment.
| Name | Type | Req | Description |
|---|---|---|---|
| filter | string | – | Case-insensitive name or label fragment. |
| instance | string | – | Profile (default active) |
| Name | Type | Req | Description |
|---|---|---|---|
| count | number | yes | – |
| tables | array | yes | – |
No examples provided.
servicenow_query_table Query ServiceNow table ~455
Read records from any table (Table API): encoded query, fields, paging, fetchAll. '^' cannot be escaped inside a value; very long queries can hit HTTP 414 — split them. See the servicenow://reference/encoded-query resource.
| Name | Type | Req | Description |
|---|---|---|---|
| displayValue | string | – | 'true' display, 'false' raw (default), 'all' both, 'display' compact ([sys_id, name] refs). |
| domain | string | – | Only this domain's rows (sys_id). |
| explain | boolean | – | Read no records: which conditions can use an index, with cost notes (advice). |
| fetchAll | boolean | – | All matches (≤ SN_MAX_RECORDS): sys_id cursor without an ORDERBY (stable), else offset. |
| fields | – | – | Columns (default all); 'summary': the list view's. |
| fileFormat | string | – | With format 'file': 'csv' (default; columns from 'fields' or page 1) or 'jsonl' (all keys). |
| format | string | – | 'json' (default), 'csv', 'table' (columns + rows) or 'file': the full (redacted) result to <profile>/exports/. |
| instance | string | – | Profile (default active) |
| limit | integer | – | Max records (default 10). |
| noCount | boolean | – | Skip the row count (sysparm_no_count): faster on huge tables; 'total' unknown. |
| offset | integer | – | Records to skip (paging). |
| omitEmpty | boolean | – | Drop empty cells; columns are listed. |
| query | string | – | Encoded query (sysparm_query), e.g. 'active=true^ORDERBYDESCsys_created_on'. |
| queryCategory | string | – | sysparm_query_category, e.g. a read replica. |
| queryNoDomain | boolean | – | Query all accessible domains (sysparm_query_no_domain). |
| suppressPaginationHeader | boolean | – | sysparm_suppress_pagination_header. |
| table | string | yes | Table, e.g. 'incident'. |
| view | string | – | UI view's fields (sysparm_view); 'fields' wins. |
| Name | Type | Req | Description |
|---|---|---|---|
| count | number | – | – |
| explain | – | – | – |
| format | string | – | – |
| note | string | – | – |
| records | array | – | – |
| rows | number|array | – | – |
| total | number | – | – |
| truncated | boolean | – | – |
No examples provided.
servicenow_set_credentials Set ServiceNow credentials ~225
Save connection credentials to the env file for later requests (any subset; auth / oauth_client_id / oauth_grant pick the method). Secrets are never arguments: list them in request_secrets for elicitation. See 'instance' for host changes.
| Name | Type | Req | Description |
|---|---|---|---|
| auth | string | – | Stored as SN_AUTH (default: inferred). |
| instance | string | – | Instance host, e.g. 'dev12345'. A change needs the new host's auth in the same call (Basic: user + password, else CREDENTIALS_INCOMPLETE) and elicitation confirmation unless SN_ALLOW_UNCONFIRMED_CRED… |
| oauth_client_id | string | – | OAuth client id (not a secret). |
| oauth_grant | string | – | Stored as SN_OAUTH_GRANT. |
| password | string | – | ServiceNow password. |
| profile | string | – | Profile (default active); a new name creates one. |
| request_secrets | array | – | Secrets to enter through elicitation (never as arguments). |
| user | string | – | ServiceNow username. |
No output schema declared.
No examples provided.
servicenow_test_connection Test ServiceNow connection ~53
Verify the credentials work: reads one sys_user record, reports ok/status/latency. Auth and connectivity problems come back as ok:false, not errors.
| Name | Type | Req | Description |
|---|---|---|---|
| instance | string | – | Profile (default active) |
| Name | Type | Req | Description |
|---|---|---|---|
| latencyMs | number | yes | – |
| message | string | – | – |
| ok | boolean | yes | – |
| status | number|null | yes | – |
| user | string | – | – |
No examples provided.
servicenow_update_record Update ServiceNow record ~195
Update fields on an existing record identified by its sys_id.
| Name | Type | Req | Description |
|---|---|---|---|
| apply | boolean | – | true executes; omitted: a non-mutating plan preview (SN_WRITE_MODE=apply executes by default). |
| expected_mod_count | integer | – | sys_mod_count from the plan's apply_with; with apply, a changed record is refused (STALE_RECORD). |
| inputDisplayValue | boolean | – | Values are display values the instance resolves (sysparm_input_display_value); default false: raw. |
| instance | string | – | Profile (default active) |
| sys_id | string | yes | Record sys_id. |
| table | string | yes | Table, e.g. 'incident'. |
| update_set | string | – | In-progress update set (sys_id or exact name) to capture the write in, restored after. Default SN_UPDATE_SET; data rows are never captured. |
| values | object | yes | Field name/value pairs to change. |
No output schema declared.
No examples provided.
servicenow_upsert_record Upsert ServiceNow record ~295
Create or update one record matched by an exact key of field/value pairs: no match creates, one updates, several are refused (AMBIGUOUS_KEY). Pass the plan's expected_action / expected_sys_id with apply:true; a changed decision gives STALE_RECORD.
| Name | Type | Req | Description |
|---|---|---|---|
| apply | boolean | – | true executes; omitted: a non-mutating plan preview (SN_WRITE_MODE=apply executes by default). |
| expected_action | string | – | The plan's action; with apply, refused (STALE_RECORD) if the key now resolves differently. |
| expected_sys_id | string | – | The plan's sys_id; with apply, refused (STALE_RECORD) if the key now matches another record or none. |
| inputDisplayValue | boolean | – | Values are display values the instance resolves (sysparm_input_display_value); default false: raw. |
| instance | string | – | Profile (default active) |
| key | object | yes | Field/value pairs identifying the record, matched on raw values ('' matches an empty field); no '^' in values. |
| table | string | yes | Table name, e.g. 'cmdb_ci_server'. |
| update_set | string | – | In-progress update set (sys_id or exact name) to capture the write in, restored after. Default SN_UPDATE_SET; data rows are never captured. |
| values | object | yes | Fields to write (plus the key fields on create). |
No output schema declared.
No examples provided.
servicenow_use_instance Switch connection profile ~69
Switch the connection profile (over HTTP: this session only unless persist).
| Name | Type | Req | Description |
|---|---|---|---|
| instance | string | – | Profile (default active) |
| name | string | yes | Profile to activate, e.g. 'dev'. |
| persist | boolean | – | Write the env file (journaled; default false). |
No output schema declared.
No examples provided.
How do I install the io.github.IvanBBaev/servicenow-mcp-ai server?
io.github.IvanBBaev/servicenow-mcp-ai ships as an MCPB bundle, a single file you download and open in an MCP host that supports MCPB bundles, such as Claude Desktop. The host reads the launch command from the bundle's own manifest, so there is no command to copy. Before opening it, check the file's SHA-256 matches the one the MCP registry declares for it, 70898025449f56fbc8c51174ce3891490ec478d54afe77ce4018249911b2644e; the commands to do that are on this page. If it does not match, do not open it.
mcpb · servicenow-mcp-ai-3.1.1.mcpb
Download bundleCheck the download matches the SHA-256 the MCP registry declares before you open it. If it does not match, do not open the file.
SHA-256
70898025449f56fbc8c51174ce3891490ec478d54afe77ce4018249911b2644e
macOS / Linux
echo "70898025449f56fbc8c51174ce3891490ec478d54afe77ce4018249911b2644e servicenow-mcp-ai-3.1.1.mcpb" | shasum -a 256 -c
Windows (PowerShell)
(Get-FileHash -Algorithm SHA256 .\servicenow-mcp-ai-3.1.1.mcpb).Hash -eq "70898025449f56fbc8c51174ce3891490ec478d54afe77ce4018249911b2644e"
Run it in the folder you saved the bundle to, then open the file with an MCPB-capable host such as Claude Desktop.
What is the io.github.IvanBBaev/servicenow-mcp-ai server?
io.github.IvanBBaev/servicenow-mcp-ai is listed in the public MCP registry as io.github.IvanBBaev/servicenow-mcp-ai. ServiceNow MCP server, 100 tools over the full REST surface, every auth method, flows, diagrams. This page covers its MCPB bundle (https://github.com/IvanBBaev/servicenow-mcp-ai/releases/download/v3.1.1/servicenow-mcp-ai-3.1.1.mcpb).
Is the io.github.IvanBBaev/servicenow-mcp-ai server safe to use?
io.github.IvanBBaev/servicenow-mcp-ai scores 51 out of 100 on VerifyMCP. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the io.github.IvanBBaev/servicenow-mcp-ai server expose?
io.github.IvanBBaev/servicenow-mcp-ai exposes 20 tools: servicenow_query_table, servicenow_get_record, servicenow_create_record, servicenow_update_record, servicenow_upsert_record, and 15 more. Their descriptions and schemas cost roughly 2,605 tokens of context every time the server is loaded.
What licence is the io.github.IvanBBaev/servicenow-mcp-ai server under?
io.github.IvanBBaev/servicenow-mcp-ai declares the GPL-3.0-or-later licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.
What did VerifyMCP test on the io.github.IvanBBaev/servicenow-mcp-ai server?
VerifyMCP ran 15 checks on io.github.IvanBBaev/servicenow-mcp-ai, covering Known CVEs, Install scripts, Dependency health, Source repository and 11 more. One item could not be completed, a gap on our side rather than a finding about io.github.IvanBBaev/servicenow-mcp-ai: Malware scan. Endpoint Security and Transport & Reachability do not apply to an MCPB bundle, so they were not tested. The score does not measure everything, and the scoring documentation lists what it leaves out.