MCP custom tools

Build your own agent tools using MCP Tool Actions and existing server and resource actions

Extend the built-in MCP tool set in Cloud Management Platform (CMP) with organization-specific tools.

Two ways to expose a tool

  • MCP Tool Actions: purpose-built agent tools authored directly in CMP
  • Existing server and resource actions: can be promoted to agent tools

Both are permission-aware, so agents only see and run what the authenticated user is entitled to.

MCP Tool Actions

An MCP Tool Action is a CMP action purpose-built as an agent tool. Every enabled MCP Tool Action that the authenticated user is permitted to run is automatically published as a first-class tool, including its name, description, input schema, and any annotations.

MCP Tool Actions are also discoverable and runnable through generic dispatcher tools:

Tool Description
fetch_mcp_tool_actions List the MCP Tool Actions the authenticated user is permitted to run. Returns each action’s mcp_tool_name, mcp_tool_description, and a generated JSON input schema.
run_mcp_tool_action(mcp_tool_name, parameters) Run the selected MCP Tool Action in-process.

Create an MCP Tool Action

  1. Go to Admin > MCP Tool Actions.

  2. Select Add and select Create New to author the action from scratch.

  3. Complete the creation form. The fields are described in the table below.

    Screenshot of the Create MCP Tool Action form. (opens full-size image in a new tab)

  4. Select Save. The action is created. Additional fields, including Synchronous Action, Roles, and any parameter default values, are available when you reopen the action to edit it.

  5. Enable the action from the MCP Tool Actions list page.

    Screenshot of the enable option for an MCP Tool Action. (opens full-size image in a new tab)

Field reference

Field Description
Label Display name for the action in CMP. Allows spaces.
MCP tool name Identifier the agent calls. Must be unique within its namespace. Restricted to ^[a-zA-Z0-9_-]+$.
MCP tool description Natural-language explanation of what the tool does and when to use it. This is the primary signal the agent uses to select the tool. See Writing effective tool descriptions.
MCP tool title Human-readable display title. When not set, the Label is used.
Read-only hint The tool does not modify its environment. An agent may auto-approve a read-only tool.
Destructive hint The tool may perform destructive updates. Only meaningful when Read-only hint is not set to Yes.
Idempotent hint Repeated calls with the same arguments have no additional effect. Only meaningful when Read-only hint is not set to Yes.
Open-world hint The tool interacts with external entities beyond CMP.
Synchronous Action Displays when editing a created action. When selected, the tool returns its result inline. When unselected, the tool runs asynchronously and returns a job ID, pollable via fetch_job.
Roles Displays when editing a created action. The roles that grant permission to run this action.

Configure resource and server actions for MCP

Existing resource and server actions can be exposed to agents without rebuilding them. On the action’s detail page, open the AI / MCP tab to view and edit the MCP settings.

Screenshot of the AI / MCP tab for a resource action. (opens full-size image in a new tab)

Setting Description
Hide from MCP Yes excludes the action from MCP. No makes it available.
First-class tool name Promotes the action to a named first-class tool. When not set, the action is available only via the generic dispatcher.
First-class tool description The description published to the agent for this tool. See Writing effective tool descriptions.

Writing effective tool descriptions

When an agent connects, CMP publishes each tool’s name, description, input schema, and annotations. The agent matches the user’s request against those descriptions to select the right tool. The description is therefore the most important field for ensuring the correct tool is used.

Principle Detail
State the purpose and outcome Lead with what the tool does and what it produces. For example: “Restart the application service on one or more servers and wait for it to come back healthy.”
Say when to use it and when not to Disambiguation matters most when several tools look similar. For example: “Retrieves current order status; does not create or modify orders.”
Name key inputs and side effects Mention key parameters and any side effects so the agent can provide the correct arguments.
Be specific Vague descriptions cause the agent to overlook a purpose-built tool in favor of a generic one.

Describing tool inputs

An agent also receives a description for each of a tool’s inputs, which it uses to decide what to pass. On an action input, set:

  • Description: what the field is for and how to choose a value.
  • Placeholder: a sample of the expected value. Available for string, password, and text parameters.

CMP publishes both alongside the input’s label in the tool’s input schema, so guidance written for people on the order form also reaches the agent. An input with neither is published with its label alone. This applies to MCP Tool Actions, Server Actions, and Resource Actions alike. See Action input parameters.

Version control and portability

MCP Tool Actions are first-class CMP objects and travel through CMP’s existing mechanisms:

  • Source-code repository sync: push tools to and refresh from a Git repository.
  • Blueprint export and import: move or share a curated toolset without manual reconfiguration.

Tool name prefixes

Each action family publishes under its own prefix, preventing name collisions between built-in tools and custom tools, and between action families.

Action family Prefix Example Promotion
MCP Tool Action custom_ custom_restart_db Automatic
Resource Action resource_action_ resource_action_restart_db Opt-in via AI / MCP tab
Server Action server_action_ server_action_restart_db Opt-in via AI / MCP tab