Skip to main content
Glama
jacebenson

AI MCP ServiceNow

by jacebenson

AI MCP Servicenow

This is a work in progress. Right now none of the tools are implemented. The goal is to create a Model Context Protocol (MCP) server that can be used with ServiceNow on out of box instances. This will allow you to use AI tools in ServiceNow without having to write any code in things like Open Web UI.

Want to learn more about the Model Context Protocol? Check out the following resources:

Note, This is inspired by the project at https://github.com/echelon-ai-labs/servicenow-mcp. I like what they did but I wanted it in the TypeScript style that I use in my other projects. Also Typescript is a lot closer to JavaScript and JavaScript is what's used in ServiceNow.

Installation

Pre-requisites

  • Node.js

  • A ServiceNow Instance

Setup

git clone https://github.com/jacebenson/ai-mcp-servicenow.git
cd ai-mcp-servicenow
npm install

Configuration

Create a .env file in the root directory with the following content:

SERVICENOW_INSTANCE_URL=https://dev12345.service-now.com
SERVICENOW_USERNAME=admin
SERVICENOW_PASSWORD=your_password_here

Related MCP server: ServiceNow MCP Server

Usage

Standard (stdio) Mode

I've mapped these to scripts in the package.json file so you can run them with npm run server or npm run dev or npm run inspector.

However you can also run them directly with npx if you prefer.

Standard Mode

To start the MCP server in standard mode, run:

npx -y @modelcontextprotocol/inspector npx -y tsx main.ts
# or
npm run server

Inspector Mode

To start the MCP server in inspector mode, run:

npx -y @modelcontextprotocol/inspector npx -y tsx main.ts --inspector
# or
npm run inspector

Contributing

I've included a tool, ./tools/get-weather.js, that demonstrates how to create a tool for the MCP server. You can use this as a starting point for creating your own tools, or the tools I've spelled out in the ./main.ts file.

Available Tools

1 tool
get-weatherC

Tool to get the weather of a city

ParametersJSON Schema
NameRequiredDescriptionDefault
cityYesThe name of the city to get the weather for

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It only states the basic action ('get the weather') without disclosing behavioral traits like error handling, data freshness, rate limits, or authentication needs. This leaves significant gaps for a tool with no annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with no wasted words, making it appropriately sized and front-loaded. However, it could be more structured (e.g., by including key details) without sacrificing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (1 parameter, no output schema, no annotations), the description is incomplete. It lacks details on what weather data is returned (e.g., temperature, conditions), potential errors, or usage context, making it inadequate for full understanding.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% coverage, clearly documenting the 'city' parameter. The description adds no meaning beyond the schema (e.g., format examples or constraints), so it meets the baseline of 3 where the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the tool's purpose ('get the weather of a city') with a clear verb ('get') and resource ('weather'), but it's vague about scope (e.g., current vs. forecast) and lacks sibling tools for differentiation. It's not tautological but lacks specificity beyond the basic function.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool vs. alternatives, prerequisites, or context. With no sibling tools, it doesn't need to distinguish from others, but it still lacks any usage instructions (e.g., for what scenarios or inputs).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool update
    • First observedget-weather

TDQS

C2.8/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool, there is no possibility of ambiguity or overlap between tools, as there are no other tools to compare it to. The tool's purpose is clearly distinct by default.

Naming Consistency5/5

Since there is only one tool, naming consistency is inherently perfect—there are no other tool names to be inconsistent with. The tool name 'get-weather' follows a clear verb-noun pattern.

Tool Count2/5

A single tool is too few for a server named 'AI MCP ServiceNow', which suggests a broader scope related to ServiceNow operations, not just weather. This extreme mismatch indicates the tool set is severely under-scoped for the apparent purpose.

Completeness1/5

The tool set is severely incomplete for the inferred domain of ServiceNow, as it only provides a weather tool with no coverage of typical ServiceNow operations like incident management, user queries, or data retrieval. This leaves obvious and significant gaps that will cause agent failures.

Maintenance

ActivityInactive
ResponsivenessSyncing

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol server enabling AI agents to access and manipulate ServiceNow data through natural language interactions, allowing users to search for records, update them, and manage scripts.
    47
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol server that enables AI assistants and development tools to interact with ServiceNow instances, providing comprehensive API coverage for incident management, change management, CMDB, and other ServiceNow modules.
    3
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    A production-ready Model Context Protocol server that integrates with ServiceNow for enterprise workflows and provides comprehensive health monitoring capabilities.
    3
    -
  • A
    license
    A
    quality
    A
    maintenance
    An MCP server that enables AI assistants to interact with ServiceNow instances, allowing script execution, data querying, ATF tests, and log tailing through natural language commands.
    89
    79 npm
    16
    MIT