Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
NEXT_UI_INSTANCE_URLYesURL of your ServiceNow instance
NEXT_UI_INSTANCE_USERYesUsername for your ServiceNow instance
NEXT_UI_INSTANCE_PASSWORDYesPassword for your ServiceNow instance

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

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
explain_now_ui_manifestA

Explains what now-ui.json is for in a ServiceNow Now/Next Experience UI Framework component project, and the rule that every property and dispatched event in a component's source must have a matching declaration in now-ui.json. Read this before creating or editing a component if you are unsure whether the manifest needs updating too.

get_framework_guidanceA

MANDATORY workflow guidance for ServiceNow Now/Next Experience UI Framework projects. MUST use next-ui-storybook with @dylanlindgren/next-ui-storybook-addon as the default local development and preview workflow. For existing projects, inspect their Storybook configuration, package scripts, stories, lockfile, and instructions before migrating; preserve compatible setup and make targeted changes rather than overwriting project files. For new components with no existing local style, MUST prefer the JSX scaffold returned by get_component_scaffold and MUST NOT hand-write low-level createElement trees unless the repo already uses that pattern. MUST prefer platform components such as now-card, now-button, and similar instance-backed HDS components before creating custom equivalents. MUST import the corresponding package for any HDS component used in JSX or markup, for example import "@servicenow/now-card" or import "@servicenow/now-button". MUST declare instance-backed platform packages in package.json under optionalDependencies with version "instance" rather than leaving them implicit. MUST also use the local runtime shims at src/runtime/ui-core.js and src/runtime/snabbdom.js for createCustomElement and the renderer. Runtime shims MUST import servicenowUiCore and servicenowUiRendererSnabbdom from @servicenow/ui-mega. Neither component source nor runtime shim files may import or re-export from @servicenow/ui-core or @servicenow/ui-renderer-snabbdom; wrapping those original packages in local files does not satisfy this requirement. JSX must use className instead of class, and styles must live in a separate .scss file per component, imported and declared on the component definition via the styles property. This tool includes the createCustomElement stub pattern, the agent workflow contract, the sample project structure, Storybook local-development and migration guidance, manifest rules, instance-backed dependency patterns, and the platform-component-first decision flow. When called without arguments, it defaults to create-custom-element guidance.

get_component_scaffoldA

Returns a minimal Now/Next Experience UI Framework component scaffold that uses Storybook with @dylanlindgren/next-ui-storybook-addon as its default local preview workflow. Include a matching now-ui.json stub, .storybook/main.mjs, a component story, and a separate component stylesheet in .scss imported and assigned via the createCustomElement styles property. Runtime shims MUST import servicenowUiCore and servicenowUiRendererSnabbdom from @servicenow/ui-mega, exactly as shown in the returned scaffold. Neither component source nor runtime shim files may import or re-export from @servicenow/ui-core or @servicenow/ui-renderer-snabbdom; wrapping those original packages in local files does not satisfy this requirement. For new components without an existing repo style, MUST prefer the JSX scaffold and MUST NOT hand-write low-level createElement trees. Agents must assess existing project configuration and preserve compatible Storybook setup, scripts, stories, examples, lockfiles, and custom instructions rather than replacing them wholesale. Agents must prefer existing platform components such as now-card before inventing a custom card or primitive when a suitable HDS component already exists. Any HDS component used in JSX must also include the matching package import (for example import "@servicenow/now-card"), and all JSX class names must use className instead of class. If the component is instance-backed, the generated package.json should declare the platform package in optionalDependencies with version "instance".

evaluate_platform_component_fitA

Evaluates whether an HDS platform component should be used directly, wrapped/composed, or replaced with a custom component. MUST prefer existing platform components such as now-card before building a custom card or custom primitive. Use this before scaffolding new UI from scratch and before inventing custom wrappers around functionality the instance already exposes. For any styled card, panel, or container, the evaluation must consider the platform component first and then require a separate .scss file plus a styles property on the custom element if custom UI is still necessary. When the chosen platform component is instance-backed, the project should declare it in package.json under optionalDependencies with version "instance".

analyze_project_dependenciesA

Analyzes a Next Experience UI component project package.json for platform components that should be declared as optionalDependencies with the version set to "instance". Use this when adding or changing instance-backed platform dependencies, including preparation for eventual deployment with snc ui-component deploy --fa, regardless of the local preview workflow.

search_instance_componentsA

Searches a curated HDS component registry and enriches matches with live ServiceNow instance metadata when available. Use this when an agent needs to discover likely platform components before choosing a dependency or writing custom UI code.

search_instance_iconsA

Searches the icon library (the icon property of now-icon, now-button, now-alert, now-pill and other HDS components) on the user's configured ServiceNow instance. Icon names are read from the instance's now-icon package, so results are the real icons available there. Use this BEFORE picking an icon name instead of guessing. Results are base names in dash-case (e.g. "star", "address-book"); append "-outline" or "-fill" to get the value for an icon property (e.g. "star-outline"). Passing a full name such as "star-outline" also validates that the base icon exists. Requires NEXT_UI_INSTANCE_URL and credentials.

recommend_instance_componentsA

Recommends likely HDS platform components from a curated registry, using live ServiceNow instance metadata when available for props and dispatched events. Use this before inventing a custom component when an existing platform component may already fit.

resolve_component_packageA

Returns the exact npm package that a ServiceNow HDS component tag belongs to. Examples: now-card -> @servicenow/now-card and now-card-header -> @servicenow/now-card. Never guesses from the tag name; if the tag is not in the curated registry, returns an explicit "unknown" result instead of inventing a package.

validate_now_ui_manifestA

Validates a now-ui.json manifest using the ServiceNow component-schema-validation package and checks that each uiBuilder object has a non-empty tileIcon path. Accepts either the raw manifest object or a JSON string. Returns whether the manifest is valid and any schema or tileIcon issues found.

get_component_apiA

Looks up the REAL, current API (properties, slots, and dispatched actions/events) of a Now/Next Experience UI Framework component — e.g. now-button, now-input, now-select — as it actually exists on the user's own configured ServiceNow instance. The lookup uses sys_ux_lib_component for the tag and the related sys_ux_macroponent row through root_component to read the component's actual props, dispatched_events, and availableSlots from root_component_definition, which may be newer or richer than what is published to public npm. Call this BEFORE writing custom markup/logic that duplicates something a platform component already provides, so the real component and its actual props/events/slots get used instead of a hand-rolled equivalent. Use search_instance_components first if you do not already know the exact tag. Requires the target instance to be configured via environment variables (NEXT_UI_INSTANCE_URL and credentials).

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.8/5.0

Scored across 11 tools

Disambiguation3/5

Several tools cluster around component discovery: search_instance_components ('group likely platform components') and recommend_instance_components ('recommend likely HDS components from a curated registry') are nearly indistinguishable, and resolve_component_package/evaluate_platform_component_fit/get_component_api further overlap in the same decision space. Most other tools (guidance, scaffold, manifest validate vs explain, icon search) are clearly distinct, so descriptions help but boundaries are fuzzy.

Naming Consistency5/5

Every tool follows a clean snake_case verb_noun pattern (get_framework_guidance, validate_now_ui_manifest, search_instance_icons, evaluate_platform_component_fit, etc.). No mixed conventions or vague bare verbs.

Tool Count4/5

11 tools is a sensible, well-scoped set for a component-development assistant. Slightly heavy on overlapping discovery/decision helpers, but each has a plausible place.

Completeness4/5

Covers the lifecycle well: guidance, scaffolding, manifest explain/validate, icon lookup, component discovery, API inspection, dependency analysis, and platform-fit decisions. Minor gap in that manifest authoring is only indirectly handled via the scaffold stub rather than a dedicated create/update tool.

Maintenance

ActivityMaintained
ResponsivenessUnresponsive