mcp server · datadog

Datadog MCP server — natural language in, metrics out.

Route Claude, Cursor, and Codex to Datadog through wmcp.sh. The query tool translates plain English ("p95 latency for api service last hour") to DQL before execution. Vault-stored API + APP keys, edge routing, audit log. wmcp.sh is not affiliated with Datadog Inc.

Connect at https://wmcp.sh/mcp/datadog · supports US1 / US3 / US5 / EU1 / AP1 sites · default read-only

Why route through wmcp.sh instead of running an existing Datadog MCP server.

Datadog Query Language has a specific grammar — aggregations, tags, rollups, arithmetic, function composition. Agents that haven't seen thousands of DQL examples get it wrong, retry, and waste tokens. The few existing Datadog MCP servers expose the raw query endpoint and leave the agent to write DQL itself.

The other pain point is key management. Datadog requires both an API key (for ingestion + read) and an APP key (per-user, finer-grained scopes). Most self-hosted servers ask you to drop both in env vars. Rotating means redeploying.

wmcp.sh fixes both: a query_metrics tool that accepts natural language and outputs the rendered DQL alongside the time series (so the agent can iterate), plus an encrypted per-user vault for API + APP keys with one-click rotation, plus a Datadog-site selector (US1 / US3 / US5 / EU1 / AP1) so multi-region orgs don't need separate connections.

Datadog tools, MCP-shaped.

Nine read-focused tools across metrics, monitors, dashboards, and logs.

Python — NL question to Datadog metric answer.

# pip install anthropic mcp
import os, asyncio
from anthropic import Anthropic
from mcp import ClientSession
from mcp.client.streamable_http import streamablehttp_client

WMCP = "https://wmcp.sh/mcp/datadog"
TOKEN = os.environ["WMCP_TOKEN"]

async def ask():
    async with streamablehttp_client(WMCP, headers={"Authorization": f"Bearer {TOKEN}"}) as (r, w, _):
        async with ClientSession(r, w) as s:
            await s.initialize()
            tools = (await s.list_tools()).tools
            anthropic = Anthropic()
            msg = anthropic.messages.create(
                model="claude-opus-4-5",
                max_tokens=2048,
                tools=[{"name": t.name, "description": t.description, "input_schema": t.inputSchema} for t in tools],
                messages=[{"role": "user", "content": "Show me p95 request latency for the checkout service in production over the last 6 hours."}],
            )
            return msg

asyncio.run(ask())

Self-hosted Datadog MCP server vs wmcp.sh-routed.

CapabilitySelf-hosted / community serverwmcp.sh-routed
NL → DQL translationAgent writes DQL itselfBuilt-in translator, returns both DQL + data
Multi-site (US1/EU1/etc.)One server per siteSite selector per connection
API + APP key storagePlaintext env varsEncrypted vault, rotatable
Monitor + alert visibilitySubset / per-serverOrg-wide via APP key scopes
Log searchSometimes omittedBuilt-in with facets
Default modeRead-writeRead-only; writes opt-in
Audit logNonePer-call: who, when, tool, args, latency

Common questions.

Is there an official Datadog MCP server?
Datadog has shipped MCP capabilities under its Bits AI product line. There is no broadly-installed open-source server in the official MCP registry as of this writing. wmcp.sh is not affiliated with Datadog Inc. and offers a hosted alternative.
NL → DQL — how good is it?
The translator handles the common patterns (rate, average, percentile, by-tag grouping, time windows, arithmetic across metrics) reliably. Edge cases get returned verbatim with a "couldn't translate, falling back to raw query" flag so the agent can decide. Both the rendered DQL and the result are returned, so the agent learns by example.
Where are my API/APP keys stored?
Encrypted per-user vault. Decrypted in memory per request, never logged. Rotate from /dashboard.
Can agents mute monitors or create incidents?
Yes — mute / unmute / incident-create exist as write tools, opt-in per connection. Default is read-only.
Pricing?
Free 100 reads/day anonymous. Managed Starter $499 one-time, Managed Retainer $999/mo, Enterprise $4,999+/mo. See /managed.

Need this in production?

Production Datadog MCP: scoped APP key with metric/log read perms only, NL-DQL tuning for your service taxonomy, audit retention, SSO, on-call escalation suppression flags. Starter $499 one-time, Managed Retainer $999/mo, Enterprise $4,999+/mo.

→ Managed setup ($499) Submit your MCP server (free)