Labsco
MCP SERVER

ServiceNow MCP Server

by osomai

Work ServiceNow from an assistant — incidents, catalog items, change requests, knowledge — with the tool list trimmed to your role.

Customer Support & Helpdesk
Summary
Load the package for the job — a service-desk session does not need the catalog builder's tools.

ServiceNow is large enough that exposing everything is its own problem: clients with tool limits fail to load, and models pick badly from a long list. Setting MCP_TOOL_PACKAGE to a role trims it to what that person actually does, and an invalid name falls back to none rather than silently loading everything. The package definitions are a YAML file you can edit into your own roles.

What it is

A ServiceNow bridge covering records, the service catalog, change management, knowledge and scripting, with tool packages so a client only loads the subset a given role needs.

What you get
  • Incidents — create_incident, update_incident, add_comment, resolve_incident and list_incidents
  • Service catalog — list_catalog_items, get_catalog_item, list_catalogs, list_catalog_categories, create_catalog_category, update_catalog_category, move_catalog_items, and the catalog item variable tools
  • Catalog optimisation — get_optimization_recommendations and update_catalog_item
  • Change management — create_change_request, update_change_request and the rest of the change lifecycle including tasks and approvals
  • Knowledge, user and group management, workflow development, script includes and changesets
  • Tool packages selected with MCP_TOOL_PACKAGE: service_desk, catalog_builder, change_coordinator, knowledge_author, platform_developer, system_administrator, agile_management, full or none
  • list_tool_packages, which reports the available packages and which one is loaded — present in every package except none
  • Both stdio and an SSE server exposing /sse and /messages/
Requirements

Python 3.11 or higher and a ServiceNow instance you have credentials for. A .env file with SERVICENOW_INSTANCE_URL, SERVICENOW_USERNAME, SERVICENOW_PASSWORD and SERVICENOW_AUTH_TYPE — basic, oauth or api_key. Clone and pip install -e, then run the CLI; the SSE server listens on 0.0.0.0:8080 by default and takes --host and --port.

Setup effort

One command plus a key — uvx servicenow-mcp, then supply credentials