sn-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SN_PASS | Yes | ServiceNow password | |
| SN_USER | Yes | ServiceNow username (e.g., claude_mcp_readonly) | |
| SN_INSTANCE | Yes | ServiceNow instance URL (e.g., https://dev203275.service-now.com) | |
| MCP_HTTP_HOST | No | Host to bind for HTTP transport (default: 127.0.0.1) | |
| MCP_HTTP_PORT | No | Port to bind for HTTP transport (default: 3535) | |
| MCP_HTTP_TOKEN | No | Optional bearer token for HTTP transport. If set, every request must send Authorization: Bearer <token>; if unset, server logs a warning and accepts unauthenticated requests. |
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_syslog_reportA | Fetch sys_log rows (warnings/errors by default) for a given date, defaulting to yesterday. Returns raw rows only — the caller (Claude) does the 'suggested fixes' analysis in conversation. |
| get_developer_work_reportA | Fetch developer work (sys_update_xml changes) between two dates, grouped by author and update set. Returns structured rows only — the caller (Claude) flags concerns narratively (e.g. changes in the Default update set, unnamed sets, unusually large sets, off-hours activity). |
| create_incidentC | Create a new incident. |
| update_incidentC | Update an existing incident (accepts sys_id or incident number). |
| add_commentB | Add a comment or work note to an incident. |
| resolve_incidentC | Resolve an incident (sets state to Resolved with a resolution code and notes). |
| list_incidentsC | List incidents, most recent first. limit/offset paginate — this returns one bounded page, not the full table. |
| get_incident_by_numberA | Fetch a single incident by its number (e.g. INC0010001). |
| create_userC | Create a new user. |
| update_userC | Update an existing user (accepts sys_id, username, or email). |
| get_userA | Fetch a single user by sys_id, username, or email. |
| list_usersA | List users, most recent first. limit/offset paginate — this returns one bounded page, not the full table. |
| create_groupC | Create a new group, optionally with initial members. |
| update_groupC | Update an existing group (accepts sys_id or name). |
| add_group_membersA | Add one or more members to a group. |
| remove_group_membersB | Remove one or more members from a group. |
| list_groupsA | List groups. limit/offset paginate — this returns one bounded page, not the full table. |
| list_catalog_itemsC | List service catalog items. limit/offset paginate — this returns one bounded page, not the full table. |
| get_catalog_itemA | Fetch a single catalog item by sys_id, including its variables (form fields). |
| list_catalog_categoriesB | List service catalog categories. limit/offset paginate — this returns one bounded page, not the full table. |
| create_catalog_categoryC | Create a new service catalog category. |
| update_catalog_categoryC | Update an existing service catalog category. |
| move_catalog_itemsC | Move one or more catalog items to a different category. |
| create_catalog_item_variableC | Create a new variable (form field) on a catalog item. |
| list_catalog_item_variablesC | List the variables (form fields) defined on a catalog item. |
| update_catalog_item_variableC | Update an existing catalog item variable. |
| get_optimization_recommendationsA | SIMULATED catalog optimization recommendations — low_usage/high_abandonment/slow_fulfillment stats are randomly fabricated (no real usage-tracking data source exists), matching the reference project's own use of Python's random module. inactive_items and description_quality reflect real instance data. Never present this as real analysis. |
| update_catalog_itemC | Update an existing catalog item's core fields (name, description, category, price, active, order). |
| create_change_requestC | Create a new change request. |
| update_change_requestB | Update an existing change request (accepts sys_id or change number). |
| list_change_requestsC | List change requests. limit/offset paginate — this returns one bounded page, not the full table. |
| get_change_request_detailsB | Fetch a single change request with its associated change tasks. |
| add_change_taskC | Add a task to a change request. |
| submit_change_for_approvalA | Submit a change request for approval (sets state to Assess and creates an approval record). NOTE: may fail on instances with Change Model governance (state transition business rules) or where sysapproval_approver doesn't accept direct inserts — confirmed on this PDI. |
| approve_changeA | Approve a change request's pending approval record and move the change to Implement. NOTE: may fail on instances with Change Model governance — confirmed on this PDI. |
| reject_changeA | Reject a change request's pending approval record and cancel the change. NOTE: may fail on instances with Change Model governance — confirmed on this PDI. |
| list_changesetsB | List changesets (update sets). limit/offset paginate — this returns one bounded page, not the full table. |
| get_changeset_detailsA | Fetch a single changeset with the changes (sys_update_xml rows) it contains. |
| create_changesetC | Create a new changeset (update set). |
| update_changesetC | Update an existing changeset (accepts sys_id or name). |
| commit_changesetC | Commit a changeset (sets state to complete). |
| publish_changesetC | Publish a changeset. NOTE: requires a 'published' state choice to exist on sys_update_set — not present on every instance (confirmed absent on this PDI). |
| add_file_to_changesetB | Add a file (sys_update_xml record) to a changeset. NOTE: sys_update_xml often blocks direct inserts via ACL (confirmed on this PDI) since it normally holds system-generated content. |
| create_knowledge_baseD | Create a new knowledge base. |
| list_knowledge_basesB | List knowledge bases. limit/offset paginate — this returns one bounded page, not the full table. |
| create_categoryB | Create a new category in a knowledge base. |
| create_articleC | Create a new knowledge article. |
| update_articleC | Update an existing knowledge article. |
| publish_articleA | Change a knowledge article's workflow state (defaults to published). NOTE: confirmed on this PDI that a direct field write silently reverts to draft — article state appears governed by the platform's own publish flow, not settable via a bare Table API write. |
| list_articlesA | List knowledge articles. limit/offset paginate — this returns one bounded page, not the full table. |
| get_articleB | Fetch a single knowledge article by sys_id. |
| list_categoriesB | List knowledge base categories. limit/offset paginate — this returns one bounded page, not the full table. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/TaiRaven/sn-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server