---
sourceDocument: Australia Enable AI
sourceDocumentLink: https://www.servicenow.com/docs/r/australia/intelligent-experiences

 Release :

    - australia

ft:locale :

    - en-US

ft:publication_title :

    - Australia Enable AI

ft:clusterId :

    - platai

bundleId :

    - platai

workflow :

    - Platform


---

# Creating tools

# Creating tools for a Model Context Protocol server {#ariaid-title1}

Release version: Australia  
Updated July 28, 2026  
![](https://www.servicenow.com/docs/portal-asset/ico-clock) 3 minutes to read
Summarize  
![AI sparkle icon](https://servicenow.com/docs/portal-asset/ai-sparkle-icon) Summarized using AI  
This content was generated using new OpenAI-powered functionality. Results are provided on an as is basis and are not guaranteed to be accurate or complete.  

## Summary of Creating tools for a Model Context Protocol server

ServiceNow customers can create tools to expose platform capabilities to Model Context Protocol (MCP) clients via MCP servers.
Tools define the available functionality, data exposure, and actions that MCP clients can perform on ServiceNow instances.
Each MCP server must have at least one tool, and tools must reside in the same application scope as their servers.
Show full answer Show less  
Tools can be created from various capability types such as subflows, actions, Knowledge Graph schemas, REST APIs, and AI skills---including custom skills built with the AI Skill Kit. Tool inputs correspond to the fields of the underlying capability, and only enabled inputs are exposed to MCP clients.

## Key Features

* **Tool Descriptions:** Clear, complete descriptions are essential to help clients understand each tool's purpose and appropriate usage, avoiding incorrect tool selection.
* **Shared Tools:** Tools can be shared across multiple MCP servers; changes to tool properties affect all associated servers, so impact analysis is advised before editing.
* **Access Controls:** Standard ServiceNow permissions---including ACLs, role-based permissions, and field-level security---apply to all MCP tool calls, ensuring no bypass of security policies.
* **Execution Identities:** Tool calls run either under the authenticated human user's identity or an integration user account for autonomous agents, with access evaluated accordingly.
* **Tool-Level ACL Enforcement:** Beyond user roles, some tools require specific ACLs to control execution permission at the tool level. Configuration differs by tool type:
  * **AI Skill Tools:** Require an execute ACL and role masking for custom AI skills to avoid silent failures.
  * **Subflow and Action Tools:** Must have an AI ACL configured for MCP tool use.
  * **Knowledge Graph Tools:** Enforce ACLs at the node level during graph traversal, resulting in query results tailored to caller permissions.

## Practical Considerations for ServiceNow Customers

* Ensure tool descriptions comprehensively explain the tool's functionality and use cases to facilitate correct client interaction.
* Review all associated MCP servers before modifying shared tools to understand the broader impact.
* Configure integration user roles carefully to balance access and security for autonomous agents.
* Implement appropriate tool-level ACLs based on the tool type to prevent authorization issues and incomplete data results.
* Understand the identity under which tool calls execute to troubleshoot permission-related issues effectively.

## Next Steps

Use the MCP Server Console to create tools from Playbooks, Searches, Subflows, Actions, Knowledge Graphs, REST APIs, or AI skills. Follow related guidance on creating AI ACLs, checking subflow/action compatibility, and setting up OAuth inbound integration for MCP clients to ensure secure and functional tool deployment.  
You can create tools from various tool categories to expose ServiceNow capabilities to Model Context Protocol (MCP) clients from MCP servers.

## MCP tools overview {#creating-tools-mcp-server__section_vjk_f5h_bkc}

Tools define which functionality and data an MCP server exposes to clients and the actions that can be performed on an instance by MCP clients. You can create tools based on the following capabilities:

* [Subflows](https://www.servicenow.com/docs/~0Iq_f1WzfS1Y6Z30V4MhQ "Create a tool from a Subflow to expose it to Model Context Protocol (MCP) clients from an MCP Server Console.")
* [Actions](https://www.servicenow.com/docs/bxOx91gA9b0XneyeUGRnjw "Create a tool from an Action to expose it to Model Context Protocol (MCP) clients from an MCP Server.")
* [Knowledge Graph schemas](https://www.servicenow.com/docs/QVrb_1oX_hRcCi0~UFaz6g "Create a tool from a Knowledge Graph to expose it to Model Context Protocol (MCP) clients from an MCP Server.")
* [REST APIs](https://www.servicenow.com/docs/jVQbSLn9IpjJwJ9R1G94XQ "Use a REST API to create a tool and expose it to Model Context Protocol (MCP Server Console) clients from an MCP Server Console.")
* [AI skills](https://www.servicenow.com/docs/hNsE_N8Qk93R4WDunu8x~w "Create a tool from a generative AI skill to expose it to Model Context Protocol (MCP) clients from an MCP Server."), including custom skills created with AI Skill Kit
{#creating-tools-mcp-server__ul_rct_fxh_bkc}

Tools include inputs that correspond to the fields of the existing capability. Any inputs that are enabled for a tool are exposed to clients. Each server must include at least one tool, and tools must be in the same
application scope as any servers that contain them.

When clients receive a list of available tools from a server, they rely on tool descriptions to decide whether to call a tool and how to call it. Every tool description should answer two questions: what does this tool do and
when should it be called. When creating tools, particularly REST API tools, make sure the description is clear and complete, otherwise clients may select the wrong tool for the job.  
Note:  
A tool can be used by multiple servers. Changes that you make to a tool's name, description, or enabled inputs apply to any servers that use the tool. Before editing a tool, review which servers it's associated with to determine the impact for every server.

## MCP tools access {#creating-tools-mcp-server__section_overview}

Existing access control lists (ACLs), role-based permissions, and field-level security all apply to tool calls made through an MCP server. MCP servers and tools don't bypass any ServiceNow access controls applied to the capabilities that tools are based on.  
Evaluating ACL enforcement depends on who is calling a tool and which capability the tool is based on. If a caller lacks permission, tools can return an empty or incomplete result rather than an explicit authorization error so it's important to understand which type of enforcement applies to a given caller and tool type when troubleshooting unexpected results. MCP tool calls execute under one of two identities, which are evaluated differently:

Human users
:   Tool calls execute under the authenticated user's own ServiceNow user identity. A user who can't read incident records in the platform can't retrieve them through an MCP tool either. All four layers of the standard access model apply:
    role-based access, contextual script-based ACLs, row- and field-level security, and deny-unless-permitted defaults.

Autonomous agents
:   Tool calls execute under the identity of the integration user account rather than any individual end user's identity. What an agent can access is controlled by the integration user's roles and by the tool-level
    ACLs two layers, which are evaluated independently and both must permit the call for a tool to return data:

    * The integration user must hold the roles required for every tool the agent will call. Under-provisioning this account causes tool calls to fail while over-provisioning creates unnecessary risk. For more information about configuring this account, see [Create an OAuth inbound integration for an MCP client](https://www.servicenow.com/docs/gz8fUCs3ZXjZWmx_Pcp0KA "Secure access to Model Context Protocol (MCP) servers on an instance by creating an OAuth inbound integration for each MCP client.").
    * Tool-level ACLs control whether execution is permitted at the level of the tool itself, independent of the integration user's roles. Configuration requirements differ by tool type.
    {#creating-tools-mcp-server__ul_jqm_bj3_bkc}

## ACL requirements for MCP tools {#creating-tools-mcp-server__section_tool_type_table}

The configuration required for tool-level enforcement depends on which capability the tool is built from.
{#creating-tools-mcp-server__table_acl_by_tool_type__entry__2}

| Tool type | ACL configuration |
|-|-|
| AI skill tools | An execute ACL and role masking is required for any custom AI skill to be used as a tool. Otherwise a tool can return empty results instead of an authorization error, which can be difficult to diagnose as a permissions issue rather than a data issue. For more information, see [Create a skill](https://www.servicenow.com/docs/LKwxb28v59W_28ULmgLTkg "Create a custom skill for Otto. Custom skills extend the generative AI capabilities of Otto to fit your own use cases.") and [Create a tool from an AI skill](https://www.servicenow.com/docs/hNsE_N8Qk93R4WDunu8x~w "Create a tool from a generative AI skill to expose it to Model Context Protocol (MCP) clients from an MCP Server."). |
| Subflow and Action tools | An AI ACL is required for any Subflow or Action to be used as an MCP tool. For more information, see [Create an AI ACL for a Subflow or Action](https://www.servicenow.com/docs/27svSioqwNE7Ca_y3itD2Q "Create the necessary AI Access Control List (ACL) for the component to be called externally.") and [Check the compatibility of a Subflow or Action](https://www.servicenow.com/docs/Lk6dZRq0clpD3VlTbR~eUg "After establishing the ACL, publish the component and check the compatibility staging table."). |
| Knowledge Graph tools | ACL enforcement happens at the node level during every graph traversal. Two users or agents with different permissions issuing the identical query can receive different results, based on what each caller is permitted to see. For more information, see [Knowledge Graph](https://www.servicenow.com/docs/p9laDGoP006vQJxrhhjEjg "The Knowledge Graph application, uses the structured and unstructured data from ServiceNow records, knowledge bases, and external sources to enhance the performance of ServiceNow Otto for Virtual Agent, AI agents, and generative AI skills.") and [Create a tool from a Knowledge Graph](https://www.servicenow.com/docs/QVrb_1oX_hRcCi0~UFaz6g "Create a tool from a Knowledge Graph to expose it to Model Context Protocol (MCP) clients from an MCP Server."). |
[Table 1. Tool-level ACL configuration by tool type]

{#creating-tools-mcp-server__table_acl_by_tool_type}
* **[Create a tool from a Playbook](https://www.servicenow.com/docs/IsT2t71Ke6pBDpUGbY_Rww)**   
  Create a tool from a Playbook to expose it to Model Context Protocol (MCP) clients from an MCP Server Console.
* **[Create a tool from a Search](https://www.servicenow.com/docs/zIYJsPSn3IBUopugi0JTBQ)**   
  Create a tool from a Search to expose it to Model Context Protocol (MCP) clients from an MCP Server Console.
* **[Create a tool from a Subflow](https://www.servicenow.com/docs/~0Iq_f1WzfS1Y6Z30V4MhQ)**   
  Create a tool from a Subflow to expose it to Model Context Protocol (MCP) clients from an MCP Server Console.
* **[Create a tool from an Action](https://www.servicenow.com/docs/bxOx91gA9b0XneyeUGRnjw)**   
  Create a tool from an Action to expose it to Model Context Protocol (MCP) clients from an MCP Server.
* **[Create a tool from a Knowledge Graph](https://www.servicenow.com/docs/QVrb_1oX_hRcCi0~UFaz6g)**   
  Create a tool from a Knowledge Graph to expose it to Model Context Protocol (MCP) clients from an MCP Server.
* **[Create a tool from a REST API](https://www.servicenow.com/docs/jVQbSLn9IpjJwJ9R1G94XQ)**   
  Use a REST API to create a tool and expose it to Model Context Protocol (MCP Server Console) clients from an MCP Server Console.
* **[Create a tool from an AI skill](https://www.servicenow.com/docs/hNsE_N8Qk93R4WDunu8x~w)**   
  Create a tool from a generative AI skill to expose it to Model Context Protocol (MCP) clients from an MCP Server.

**Related tasks**   

* [Create an AI ACL for a Subflow or Action](https://www.servicenow.com/docs/27svSioqwNE7Ca_y3itD2Q "Create the necessary AI Access Control List (ACL) for the component to be called externally.")
* [Check the compatibility of a Subflow or Action](https://www.servicenow.com/docs/Lk6dZRq0clpD3VlTbR~eUg "After establishing the ACL, publish the component and check the compatibility staging table.")
* [Create an OAuth inbound integration for an MCP client](https://www.servicenow.com/docs/gz8fUCs3ZXjZWmx_Pcp0KA "Secure access to Model Context Protocol (MCP) servers on an instance by creating an OAuth inbound integration for each MCP client.")

