npx skills add ...
npx skills add datadog-labs/claude-code-plugin --skill ddtoolsets
Manages toolsets for the plugin's Datadog MCP server. Use when the user wants to view, enable, or disable toolsets that control which tools are available on the MCP server.
npx skills add datadog-labs/claude-code-plugin --skill ddtoolsets
The id of the Datadog MCP Server referenced on this document is plugin:datadog:mcp. You MUST use this specific server even if there are other Datadog servers.
This is a hard gate, not a suggestion. You MUST actually read references/mcp-settings.md before proceeding and writing any user-facing text, asking any question, or performing any file edit suggested by this skill — even if you believe you already know its contents from a prior turn or a prior session. Do not answer from memory of Datadog site codes, domains, or file paths; the tables and path rules in that file are the only authoritative source, and they can differ from your general knowledge or from what you've seen in other contexts.
The references/mcp-settings.md file contains the datadog-server-state check, registration file location, and editing rules used by the flows below.
Check the datadog-server-state (see mcp-settings.md). Use the datadog://mcp/toolsets resource on the plugin's Datadog MCP server as the MCP call (do NOT use any other Datadog MCP server). Do not output anything until the datadog-server-state and resource content are available, and proceed based on the results:
/ddsetup, and stop./ddconfig, and stop.When communicating with the user below, describe the server state and actions in plain language. Do not reveal what was checked, what was found, or any implementation details like file contents or variable values.
A toolset is a named group of related tools for a specific Datadog feature. Enabling a toolset makes its tools available; disabling it removes them.
A toolset alias is a name that stands in for a fixed set of toolsets (its expandsTo list) — e.g. a toolset alias might expand to logs,metrics,traces. Toolset aliases come from the same datadog://mcp/toolsets resource as individual toolsets, each carrying its own expandsTo set of toolset names.
The server accepts a toolset alias name anywhere it accepts a toolset name — enabling a toolset alias enables every toolset in its expandsTo set, exactly as if they had been listed individually. This works in both directions:
expandsTo set.expandsTo set, write the toolset alias name in place of those toolsets instead of listing them individually.Toolset aliases are a convenience, not a separate capability — a toolset alias never grants a tool that isn't already covered by the toolsets it expands to.
The DD_MCP_TOOLSETS default value in the registration file controls which toolsets are active. It has two states:
${DD_MCP_TOOLSETS:-}) — the server decides which toolsets to enable. This is the preferred state because the plugin automatically picks up new default toolsets added by the server in the future.${DD_MCP_TOOLSETS:-core,alerting}) — exactly these toolsets are enabled, nothing more. The server's defaults are ignored. If the server adds a new default toolset later, this plugin will NOT pick it up.The order of toolsets in the comma-separated list is not meaningful. core,alerting and alerting,core are equivalent. When comparing lists (e.g. to check if the result matches the defaults), compare as sets, not strings.
When computing changes, always prefer empty over an explicit list that happens to match the current defaults. See the editing rule in mcp-settings.md for how to set an empty default value.
Use the content of the datadog://mcp/toolsets resource from the plugin's Datadog MCP server. This tells you which toolsets exist, which are currently enabled, which are defaults, what each one does, and which toolset aliases are available (each with its expandsTo set of toolset names). Present all toolsets and toolset aliases that are available to the user — do not summarize and do choose the best format for the client (selectable list, table, grouped summary, etc.). Make it easy for the user to identify which toolsets are currently enabled and which toolsets and toolset aliases are available to them.
A toolset alias shows as currently enabled when every toolset in its expandsTo set is currently enabled.
Also read the current DD_MCP_TOOLSETS default value from the registration file. If it is empty, the user is currently using server defaults. If it has an explicit list, those are the manually selected toolsets.
Any toolset name in the registration file that does not appear in the datadog://mcp/toolsets resource is unknown — ignore it when presenting to the user and silently drop it when writing the updated list.
The user may want to:
Understand the user's intent from their response. Ask for clarification if ambiguous.
The user may refer to a toolset by its individual name or by a toolset alias name. Treat a toolset alias reference as shorthand for every toolset in its expandsTo set.
Important: If the current default value is empty (server defaults) and the user wants to add a toolset, you need to know what the defaults ARE so you can build the full list. Use the default information from the datadog://mcp/toolsets resource.
Apply the user's changes to produce a new comma-separated value for DD_MCP_TOOLSETS:
expandsTo sets of toolset names, then apply the add/remove/replace against that expanded set.expandsTo set → replace those items with the toolset alias name. If more than one toolset alias is fully covered, prefer the toolset alias that covers the most toolsets first, then repeat for whatever toolsets remain.core → warn the user before applying. The core toolset provides essential Datadog functionality and most workflows depend on it. Only proceed without core if the user explicitly confirms.Edit DD_MCP_TOOLSETS in the registration file following the editing rule in mcp-settings.md.
Example — adding alerting when currently using server defaults (assuming core and synthetics are defaults):
Example — reverting to server defaults:
Before writing, tell the user in plain language that their toolset selection is being saved locally so it can be re-applied automatically if the plugin is later updated or reinstalled (do not reveal the file path or variable names). Then write the new toolset value to ${CLAUDE_PLUGIN_DATA}/toolsets (plain text, one line — write an empty file if reverting to server defaults).
Tell the user the toolsets have been updated including which toolsets are now enabled, and that they need to follow these steps:
/reload-plugins/mcp in Claude Code and select the plugin:datadog:mcp server