ServiceNow_Developer_Panel
Summary: The server is a local, read-only MCP interface to ServiceNow that lets AI models inspect metadata, fetch/cache records, run SQLite joins on cached data, export results, and check ACLs.
List configured ServiceNow instances and whether each has usable MCP authentication.
Describe table fields, including labels, types, references, mandatory/read-only flags, inheritance, overrides, and active choices.
Fetch records from one table with encoded queries, selected or dot-walked fields, ordering, limits, and local caching.
Fetch multiple tables into one cached response for later joins, and add more tables to an existing cached response.
Run read-only SQLite queries against cached tables, including joins, grouping, and TEMP tables.
Export cached responses as CSV files or an XLSX workbook.
Verify table or field ACL decisions for role profiles across create, read, update, and delete operations.
List cached responses with their tables, row counts, timestamps, and current/expired status.
What is this project
This project is meant as a helper tool for service now developer. It provides a simple, desktop native UI to make Rest API call to a ServiceNow instance and to browse and query the result.

From standard Table API operations, such as selecting filtered records in a table, you will be able to perform advanced operations, like join operations between tables and grouping.

The same APIs used for the user interface also powers a local MCP server, so your AI model of choice can browse and study your ServiceNow instance.

This tool provides read-only methods, although PUT calls may be added in the future.
Warning notice
This project is an independent, community tool: it is not affiliated with or endorsed by ServiceNow. ServiceNow is a trademark of ServiceNow, Inc.
This tool pulls data from a selected ServiceNow instance, using user provided authentication, to process it locally. Always make sure not to violate your organization's policies. I do not in any way condone misuse of this tool. To report a vulnerability, or to see what the tool stores and how, read the security policy.
How to use it
To get started with this tool first configure your instance and authentication methods in the Configuration tab. Note: Your credentials are only saved locally and sent to ServiceNow to authenticate your requests.
Configuration: settings, instances and authentication methods.
User interface: tabs and sidebar.
Database: what is stored locally and where, how responses are reused and when they expire.
MCP: the MCP server and its tools.
Each release includes two setup executables, for Windows and for Linux .
Simply download the setup for your system and run it to install the application (portable ~180MB, but you can build the project yourself to save storage). Running a newer setup on an existing installation updates it and keeps your data.
The installers are not code-signed, so Windows SmartScreen may warn you the first time you run the setup. See Building and installing for what to expect, how to verify the download and how to build it yourself.
Code stuff
This project is written entirely in Python.
I used Pyside6 for the UI and the mcp package for the MCP server.
The list of packages needed to build this application is in the requirement.txt file.
You can build the app or run it from its source yourself. See Building and installing for details.
Available Tools
9 toolsadd_tablesARead-only
Add tables to a response cached by request_tables, so query_cache can join them with the tables it already holds. Only the new tables are fetched. If the cached response has expired, every table is requested again into a new cached response and the returned cache_name changes. Returns the same summary as request_tables, for every table of the response.
Inputs: tables (required), cache_name (required). Returns: source, sections, warnings, row_count, +3 more
describe_tableARead-onlyIdempotent
List the fields of a table from the instance dictionary, including the fields it inherits from the tables it extends, for example task for incident. Each field has its name, label and type, the table that defines it, the table it points to for reference and list fields, and whether it is mandatory or read only. The dictionary overrides of the table and of its parents are applied and listed under overrides. default_value, dependent and choices appear only when the field has them; choices are the active values and labels to use in queries, with the dependent_value of the dependent field when they depend on one. Use it before querying a table whose fields you do not know for sure, custom application tables included. Inactive fields are left out. The returned cache_name holds the tables sys_db_object, sys_dictionary, sys_dictionary_override and sys_choice, where name is the table and element the field.
Inputs: table (required), instance (required), fields, refresh. Returns: label, table, fields, source, +5 more
export_cacheAIdempotent
Write a cached response to disk, as csv with one file per table or as an xlsx workbook with one sheet per table. Returns the absolute paths written.
Inputs: cache_name (required), format, destination. Returns: paths, format, tables, cache_name
list_cached_responsesARead-only
List the responses in the local cache, most recent first, with the tables and row counts each holds. current is false once a response is older than the cache lifetime: it can still be queried and exported, but request tools will fetch fresh data.
Inputs: limit. Returns: result
list_instancesARead-only
List the configured ServiceNow instances and whether each has a usable MCP authentication method. The other tools take the instance name returned here.
Inputs: no named parameters. Returns: result
query_cacheARead-only
Run read-only SQLite against a cached response. Each ServiceNow table is a SQLite table with TEXT columns. Returns at most 2000 rows; truncated is true when more matched.
Inputs: sql (required), cache_name (required). Returns: rows, columns, row_count, truncated, +1 more
request_tableARead-onlyIdempotent
Fetch records from one ServiceNow table. Returns a sample of the records, any warnings and a cache_name; the full result is cached locally for query_cache and export_cache. To join several tables, fetch them with request_tables instead.
Inputs: table (required), instance (required), limit, query, +4 more. Returns: limit, table, source, columns, +8 more
request_tablesARead-onlyIdempotent
Fetch several tables in one request, each with its own query, fields and limit. All of them are stored in one cached response, so query_cache can join them. Returns the row count and columns of each table, any warnings and the cache_name. Example arguments: {"instance": "dev", "tables": [{"table": "sys_user_group", "fields": ["sys_id", "name"], "limit": 1000}, {"table": "sys_group_has_role", "query": "role.name=itil", "fields": ["group", "role", "group.name"], "limit": 5000}]}
Inputs: tables (required), instance (required), refresh. Returns: source, sections, warnings, row_count, +3 more
verify_aclARead-onlyIdempotent
Check whether users holding the given sets of roles can run an operation on a table, or on one of its fields, according to the ACLs of the instance. Each profile gets a decision (allowed, conditional, denied or missing), a summary, the reasons and the controls involved. Scripts and conditions are not run: conditional means the scripts and conditions listed in the controls decide. The controls also show which roles each ACL requires. Parent table inheritance is not evaluated: missing means no ACL matched.
Inputs: table (required), instance (required), profiles (required), operation (required), +2 more. Returns: field, table, source, target, +4 more
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 9 tools
Each tool targets a distinct operation: instance discovery, schema inspection, single vs. multi-table fetching, cache querying/exporting, ACL verification, and cache listing. The single/plural fetch pair and add_tables are clearly differentiated by their descriptions and explicit guidance.
All tool names follow a consistent snake_case verb_noun convention (list_instances, describe_table, request_table, query_cache, export_cache, verify_acl, list_cached_responses). No mixed casing or vague verb-only names.
Nine tools is well-scoped for a ServiceNow data exploration and ACL verification server. Each tool has a clear role in the workflow, with no redundant or filler tools.
The surface covers instance discovery, schema inspection, record fetching, SQL querying, export, ACL checks, and cache management. It appears intentionally read-only, so record mutation and explicit cache invalidation are minor gaps rather than dead ends.
Maintenance
Related MCP Connectors
Query, join, profile, clean and convert CSV/JSON/Parquet with server-side DuckDB over MCP.
Query your org's data in natural language — read-only MCP access to SQL, NoSQL, files & warehouses.
One governed MCP endpoint for 40+ business systems. Read-only, source-cited answers.
Governed data discovery, exact queries, decisions, simulations, and runtime utilities over MCP.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceProvides AI assistants with read access to ServiceNow instances to aid in building and debugging applications. It enables users to query tables, retrieve specific records, and inspect table schemas using standard ServiceNow encoded query strings.-
- AlicenseBqualityBmaintenanceEnables natural language control of ServiceNow from AI clients like Claude and Cursor. Provides 400+ tools for incidents, changes, CMDB, and scripts via MCP protocol.500182 npm2MIT
- AlicenseAqualityBmaintenanceThe most comprehensive ServiceNow MCP server. 17 tools for full CRUD, CMDB graph traversal, background scripts, ATF testing, and more.24431 npm13MIT
- AlicenseAqualityDmaintenanceA read-only MCP server that enables AI assistants to query ServiceNow instances—incidents, changes, users, CMDB—with malformed query linting and injection protection.7MIT