Prerequisites
- A Datadog organization on one of these sites: US1, US3, US5, EU1, AP1, or AP2. Government sites (
ddog-gov.com) aren’t supported by the Datadog MCP server. - MCP Access turned on in Datadog Organization Settings. A Datadog admin does this once per organization.
- Datadog permission to create API keys and application keys.
- Permission to add connections in your CloudThinker workspace.
Setup
1
Find your site
Look at the address bar when you’re signed in to Datadog:
2
Create an API key
In Datadog, go to Organization Settings → API Keys, click New Key, name it
cloudthinker, and copy the value.3
Create a scoped application key
Recommended: create the key on a Datadog service account with the Datadog Read Only Role, so it isn’t tied to a person’s permissions. Go to Organization Settings → Service Accounts, create
cloudthinker with that role, and add an application key on it.Otherwise, go to Organization Settings → Application Keys and click New Key.Either way, name the key cloudthinker and select the scopes in Required permissions. Save and copy the key right away.Success state: the key’s scope list shows only read permissions, with no _write entries.4
Add the connection
Open More → Workspace settings → Connections, stay on the Builtin Connections tab, and select Datadog. Fill in:
- Alias (optional): a short name such as
datadog-prod. Lowercase letters, numbers, and hyphens. - Description (optional): which org or environment this is. Agents read it to pick the right instance.
- DD_API_KEY: the API key.
- DD_APPLICATION_KEY: the application key.
- DD_SITE: your site from step 1.
Connection details
You need both keys. CloudThinker sends them to the Datadog MCP server for your site on every call.
Required permissions
The Datadog MCP server checks Datadog’s own permissions on every call. Pick the rows for the data you want CloudThinker to see.Agent capabilities
When the connection first reaches Connected, CloudThinker runs a read-only discovery and saves what it finds for later chats.
Verify the connection
Example prompts
Send Datadog alerts to Resolve
Resolve ships a Datadog preset, so Resolve → Triggers & Outcomes pre-fills the field and severity mapping for you. Webhook Signals explains the dialog in full; the steps below are the Datadog specifics. For a tool with no preset, see Connect alert sources.1
Create the webhook in CloudThinker
Go to Resolve → Triggers & Outcomes, select Datadog, and under Signals to Resolve click Add signal. Step through Basic Info, Configure, and Advanced, then click Create. Copy the Webhook URL and the Secret Key — the key is shown only once.
2
Point the mapping at a service
The preset reads
title, body, and alert_type, but its Service Path defaults to tags, which points at a list and maps to nothing. Under Field Mapping, change Service Path to service, then send that key in the payload below. See Map the fields.3
Add the severity rows your monitors send
The preset’s Severity Mapping covers
alert, warn, ok, and no data, while Datadog’s $ALERT_TYPE sends error, warning, info, or success. Under Severity Mapping, click Customize, then Add Mapping for each value your monitors send. An unmapped value lands on medium.4
Add the webhook in Datadog
In Datadog, open Integrations → Webhooks and add a webhook named A fixed
CloudThinker. Paste the Webhook URL into URL, and put this in the Custom Headers box: {"Authorization": "Bearer <your-secret-key>"}. Use a payload like this:service value applies to every monitor that notifies this webhook. The secret is stored in Datadog’s webhook configuration, so anyone who can manage that integration can read it. Limit that access, and use Regenerate credentials on the webhook row in Resolve if it leaks.5
Notify the webhook from your monitors
Add
@webhook-CloudThinker to the message of each monitor that should open incidents. To send alerts but not recoveries, wrap the mention in Datadog’s alert condition:6
Send one test event
Click Test Notifications on a monitor, or use the cURL tab under Integration Examples in the webhook dialog.
Troubleshooting
401 or 403 at Verifying or on every call
401 or 403 at Verifying or on every call
- DD_SITE doesn’t match your organization. Datadog keys only work on their own site, so compare it with your Datadog URL using the table in step 1, then edit the connection.
- One of the keys is wrong, revoked, or from a different Datadog organization. Create fresh keys in the same organization and update the connection from its detail panel.
- MCP Access is off for your organization, or the application key lacks
mcp_read.
403 Forbidden on some questions but not others
403 Forbidden on some questions but not others
The application key is missing the scope for that data, for example
apm_read for traces. Add the scope in Organization Settings → Application Keys.A metric or service isn't found
A metric or service isn't found
CloudThinker searches for metric and service names before querying. Ask it to list metrics matching a name, then use the exact name it returns.
429 Too Many Requests
429 Too Many Requests
Datadog is rate limiting the keys. Ask narrower questions with shorter time windows, or retry after a minute.
Security
- Least privilege — grant only the permissions the agents need for your use case; start read-only and widen later.
- Read-only by default — use read-only credentials unless you want agents to make changes through this connection.
- Rotate credentials — rotate keys and tokens on your normal schedule; CloudThinker picks up the new value when you update the connection.
- Revoke on offboarding — remove the credential at the provider when you delete a connection or a teammate leaves.
- Scope the application key: an unscoped key carries its creator’s full permissions, including writes.
- Dedicated keys: create keys only for CloudThinker so you can revoke them without touching other integrations.
Related
Webhook Signals
Map an alert’s fields and choose when CloudThinker investigates
PagerDuty Connection
Send PagerDuty incidents to Resolve