Connect
Optimize
Secure
Announcing StackOne Defender: leading open-source prompt injection guard for your agent • Read More →
Production-ready ServiceNow MCP server with 74 extensible actions — plus built-in authentication, security, and optimized execution.
Coverage
Create, read, update, and delete across ServiceNow — and extend your agent's capabilities with custom actions.
Authentication
Per-user OAuth in one call. Your ServiceNow MCP server gets session-scoped tokens with zero credentials stored on your infra.
Agent Auth →Security
Every ServiceNow tool response scanned for prompt injection in milliseconds — 88.7% accuracy, all running on CPU.
Prompt Injection Defense →Performance
Free up to 96% of your agent's context window to enhance reasoning and reduce cost, on every ServiceNow call.
Tools Discovery →A ServiceNow MCP server lets AI agents read and write ServiceNow data through the Model Context Protocol — Anthropic's open standard for connecting LLMs to external tools. StackOne's ServiceNow MCP server ships with 74 pre-built actions, fully extensible via the Connector Builder — plus managed authentication, prompt injection defense, and optimized agent context. Connect it from MCP clients like Claude Desktop, Cursor, and VS Code, or from agent frameworks like OpenAI Agents SDK, LangChain, and Vercel AI SDK.
Every action from ServiceNow's API, ready for your agent. Create, read, update, and delete — scoped to exactly what you need.
Create a new record in any ServiceNow table using the Table API with dynamic field support. Use get_table_schema with the table_name to discover required fields and all available attributes. Use get_choice_list to get valid values for choice/dropdown fields.
Retrieve records from any ServiceNow table using the Table API with filtering, pagination, and field selection support. Use list_tables to discover available tables in your instance and get_table_schema with the table_name to discover available fields for filtering and selection.
Retrieve a single record by sys_id from any ServiceNow table using the Table API. Use list_tables to discover available tables and get_table_schema to see available fields.
Update an existing record in any ServiceNow table using the Table API with dynamic field support. Use get_table_schema with the table_name to discover updateable fields. Use get_choice_list to get valid values for choice/dropdown fields before updating.
Delete a record from any ServiceNow table using the Table API. Ensure you have the correct sys_id from list or get operations before deletion.
Create a new table in ServiceNow by inserting a record into sys_db_object. This creates the table structure. Use create_table_field to add fields/columns to the table. Requires admin permissions.
Retrieve a list of all tables in the ServiceNow instance from sys_db_object. Returns table names, labels, super classes, and accessibility info. Use this to discover available tables before creating records.
Create a new incident in ServiceNow. Use get_table_schema with table_name=incident to discover all available fields and required fields. Use get_choice_list to get valid values for state, priority, urgency, impact fields.
Retrieve a list of all incidents from ServiceNow. Use get_table_schema action with table_name=incident to discover available fields, or get_choice_list to get valid values for state, priority, urgency fields.
Retrieve a single incident by sys_id from ServiceNow. Use list_table_columns with table_name=incident to see all available fields you can request in sysparm_fields parameter.
Update an existing incident in ServiceNow. Use get_table_schema with table_name=incident to discover updateable fields. Use get_choice_list to get valid values for state, priority, urgency, impact fields.
Delete an incident from ServiceNow
Create a new problem record in ServiceNow for tracking root cause of recurring incidents. Use get_table_schema with table_name=problem to discover required fields. Use get_choice_list to get valid values for state, problem_state, priority fields.
Retrieve a list of all problem records from ServiceNow for root cause analysis of recurring incidents. Use get_table_schema with table_name=problem to discover available fields.
Retrieve a single problem record by sys_id from ServiceNow
Update an existing problem record in ServiceNow. Use get_table_schema with table_name=problem to discover updateable fields. Use get_choice_list to get valid values for state, problem_state fields.
Delete a problem record from ServiceNow. Note that some problem states (e.g., Known Error) may be protected by business rules and cannot be deleted.
Create a new change request in ServiceNow for planned infrastructure or service modifications. Use get_table_schema with table_name=change_request to discover required fields. Use get_choice_list to get valid values for type, state, risk, impact fields.
Retrieve a list of all change request records from ServiceNow for managing planned infrastructure and service changes. Use get_table_schema with table_name=change_request to discover available fields.
Retrieve a single change request record by sys_id from ServiceNow
Update an existing change request in ServiceNow. Use get_table_schema with table_name=change_request to discover updateable fields. Use get_choice_list to get valid values for type, state, risk fields.
Delete a change request from ServiceNow
Create a new task record in ServiceNow. Use get_table_schema with table_name=task to discover required fields. Use get_choice_list to get valid values for state, priority fields.
Retrieve a list of all task records from ServiceNow (base table for incidents, problems, etc.). Use get_table_schema with table_name=task to discover available fields.
Retrieve a single task record by sys_id from ServiceNow
Update an existing task record in ServiceNow. Use get_table_schema with table_name=task to discover updateable fields. Use get_choice_list to get valid values for state field.
Delete a task record from ServiceNow
Create a new service catalog request in ServiceNow. Use get_table_schema with table_name=sc_request to discover required fields. Use get_choice_list to get valid values for request_state, priority fields.
Retrieve a list of service catalog request records from ServiceNow. Use get_table_schema with table_name=sc_request to discover available fields.
Retrieve a single service catalog request by sys_id from ServiceNow
Update an existing service catalog request in ServiceNow
Delete a service catalog request from ServiceNow
Create a new service catalog request item in ServiceNow. Required fields are request (parent sc_request sys_id) and cat_item (catalog item sys_id). Use list_catalog_requests to find request sys_ids and list_catalog_items to find cat_item sys_ids.
Retrieve a list of service catalog request item records from ServiceNow (individual items within requests)
Retrieve a single service catalog request item by sys_id from ServiceNow
Update an existing service catalog request item in ServiceNow
Delete a service catalog request item from ServiceNow
Create a new knowledge base article in ServiceNow. Use get_table_schema with table_name=kb_knowledge to discover required fields. Use get_choice_list to get valid values for workflow_state, article_type fields.
Retrieve a list of knowledge base articles from ServiceNow. Use get_table_schema with table_name=kb_knowledge to discover available fields.
Retrieve a single knowledge article by sys_id from ServiceNow
Update an existing knowledge base article in ServiceNow. Use get_table_schema with table_name=kb_knowledge to discover updateable fields. Use get_choice_list to get valid values for workflow_state field.
Delete a knowledge article from ServiceNow
Create a new knowledge base category in ServiceNow
Retrieve a single knowledge category by sys_id from ServiceNow
Create a new knowledge base in ServiceNow
Retrieve a list of knowledge bases from ServiceNow
Retrieve a single knowledge base by sys_id from ServiceNow
Retrieve a list of user roles from ServiceNow sys_user_role table
Retrieve a single user role by sys_id from ServiceNow. Use list_user_roles to find valid role sys_ids first.
Create a new location in ServiceNow
Retrieve a list of company locations from ServiceNow cmn_location table
Retrieve a single location by sys_id from ServiceNow
Create a new department in ServiceNow
Retrieve a list of departments from ServiceNow cmn_department table
Retrieve a single department by sys_id from ServiceNow
Create a new user in ServiceNow sys_user table. Use get_table_schema with table_name=sys_user to discover required fields and all available user attributes.
Retrieve a list of users from ServiceNow sys_user table to get sys_id values for caller_id and assigned_to fields. Use get_table_schema with table_name=sys_user to discover available fields.
Retrieve a single user by sys_id from ServiceNow sys_user table
Update an existing user in ServiceNow sys_user table
Delete a user from ServiceNow sys_user table
Create a new assignment group in ServiceNow sys_user_group table. Use get_table_schema with table_name=sys_user_group to discover required fields and group attributes.
Retrieve a list of assignment groups from ServiceNow sys_user_group table to get sys_id values for assignment_group field. Use get_table_schema with table_name=sys_user_group to discover available fields.
Retrieve a single assignment group by sys_id from ServiceNow sys_user_group table
Update an existing assignment group in ServiceNow sys_user_group table
Delete an assignment group from ServiceNow sys_user_group table
Add a new field/column to a ServiceNow table by inserting into sys_dictionary. Use after create_table to define the table structure. Use get_table_schema to see existing fields.
Retrieve complete field schema for a ServiceNow table from sys_dictionary. Returns field names, types, max length, mandatory status, and reference tables. Use to discover available fields before creating/updating records.
Retrieve detailed metadata about a specific ServiceNow table from sys_db_object including structure, parent tables, access controls, and configuration. Useful for understanding table relationships and inheritance.
Retrieve simplified list of column names, labels, and types for a ServiceNow table from sys_dictionary. Returns field names, labels, data types, max length, mandatory status, and default values. Lightweight alternative to get_table_schema.
Retrieve valid choices (dropdown options) for a field in a ServiceNow table from sys_choice. Returns label, value, sequence, and status for choice fields like state, priority, urgency, impact. Essential for building forms with proper validation.
Retrieve reference qualifier rules for fields that reference other tables from sys_dictionary. Returns filtering rules that limit which records can be selected (e.g., only active users for assigned_to field).
Retrieve a list of knowledge base categories from ServiceNow
Retrieve a list of user-role assignments from ServiceNow sys_user_has_role table
Create a new user-role assignment in ServiceNow. Use list_users to find user sys_ids and list_user_roles to find role sys_ids before creating the assignment.
One endpoint. Any framework. Your agent is talking to ServiceNow in under 10 lines of code.
MCP Clients
Agent Frameworks
{
"mcpServers": {
"stackone": {
"command": "npx",
"args": [
"-y",
"mcp-remote@latest",
"https://api.stackone.com/mcp?x-account-id=<account_id>",
"--header",
"Authorization: Basic <YOUR_BASE64_TOKEN>"
]
}
}
}128+ actions
120+ actions
98+ actions
84+ actions
72+ actions
Anthropic's code_execution processes data already in context. Custom MCP code mode keeps raw tool responses in a sandbox. 14K tokens vs 500.
11 min
Benchmarking BM25, TF-IDF, and hybrid search for MCP tool discovery across 916 tools. The 80/20 TF-IDF/BM25 hybrid hits 21% Top-1 accuracy in under 1ms.
10 min
MCP tools that read emails, CRM records, and tickets are indirect prompt injection vectors. Here's how we built a two-tier defense that scans tool results in ~11ms.
12 min
origin_owner_id.All the tools you need to build and scale AI agent integrations, with best-in-class connectivity, execution, and security.