datadog mcp
The Datadog MCP Server enables programmatic access to Datadog's API for managing and querying monitoring data:
Monitoring: Access and filter monitor data by status or tags
Dashboards: List all dashboards and retrieve specific dashboard definitions
Metrics: Query available metrics and retrieve detailed metadata
Events: Search for events within specified time ranges
Logs: Search logs with advanced filtering and perform analytical aggregations
Incidents: List and filter incidents from the incident management system
API Integration: Direct integration with Datadog's v1 and v2 APIs with comprehensive error handling
Service-Specific Endpoints: Support for different endpoints for logs and metrics
Provides access to Datadog's monitoring, dashboard, metrics, events, logs, and incident management features through direct API integration. Enables querying monitors, viewing dashboards, retrieving metrics metadata, searching logs with advanced filtering, and managing incidents.
Required as a runtime environment (version 16 or higher) for running the Datadog MCP server, enabling server-side JavaScript execution for API interactions.
Used for package installation and management of the Datadog MCP server, allowing easy global installation via the npm registry.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@datadog mcpshow me the top 5 monitors by alert status"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Datadog MCP Server
A Model Context Protocol (MCP) server for interacting with the Datadog API.
Features
Monitoring: Access monitor data and configurations
Dashboards: Retrieve and view dashboard definitions
Metrics: Query available metrics and their metadata
Events: Search and retrieve events within timeframes
Logs: Search logs with advanced filtering and sorting options
Incidents: Access incident management data
API Integration: Direct integration with Datadog's v1 and v2 APIs
Comprehensive Error Handling: Clear error messages for API and authentication issues
Service-Specific Endpoints: Support for different endpoints for logs and metrics
Related MCP server: Ingero
Prerequisites
Node.js (version 16 or higher)
Datadog account with:
API key - Found in Organization Settings > API Keys
Application key - Found in Organization Settings > Application Keys
Application Key Scopes
For improved security, you can scope your Application Key to grant only the minimum permissions required by this MCP server. By default, Application Keys inherit all permissions from the user who created them, but scoped Application Keys allow you to follow the principle of least privilege.
Required Scopes
The following scopes are required for the corresponding features:
Tool(s) | Required Scope | Description |
|
| Read access to monitor configurations and states |
|
| Read access to dashboard definitions |
|
| Read access to metrics list and metadata |
|
| Read access to events from the event stream |
|
| Read access to log data for search and aggregation |
|
| Read access to incident management data |
Creating a Scoped Application Key
Go to Organization Settings > Application Keys
Click New Key
Enter a name (e.g., "MCP Server - Read Only")
Under Scopes, select only the permissions you need:
For full functionality:
monitors_read,dashboards_read,metrics_read,events_read,logs_read_data,incident_readFor logs only:
logs_read_dataFor monitoring only:
monitors_read,dashboards_read,metrics_read
Click Create Key
Note: If you don't specify any scopes when creating an Application Key, it will have full access with all permissions of the creating user. For production use, we recommend always specifying explicit scopes.
Installation
Via npm (recommended)
npm install -g datadog-mcp-serverFrom Source
Clone this repository
Install dependencies:
npm installBuild the project:
npm run build
Configuration
You can configure the Datadog MCP server using either environment variables or command-line arguments.
Environment Variables
Create a .env file with your Datadog credentials:
DD_API_KEY=your_api_key_here
DD_APP_KEY=your_app_key_here
DD_SITE=datadoghq.com
DD_LOGS_SITE=datadoghq.com
DD_METRICS_SITE=datadoghq.comNote: DD_LOGS_SITE and DD_METRICS_SITE are optional and will default to the value of DD_SITE if not specified.
Command-line Arguments
Basic usage with global site setting:
datadog-mcp-server --apiKey=your_api_key --appKey=your_app_key --site=datadoghq.euAdvanced usage with service-specific endpoints:
datadog-mcp-server --apiKey=your_api_key --appKey=your_app_key --site=datadoghq.com --logsSite=logs.datadoghq.com --metricsSite=metrics.datadoghq.comNote: Site arguments don't need https:// - it will be added automatically.
Regional Endpoints
Different Datadog regions have different endpoints:
US (Default):
datadoghq.comEU:
datadoghq.euUS3 (GovCloud):
ddog-gov.comUS5:
us5.datadoghq.comAP1:
ap1.datadoghq.com
Usage with Claude Desktop
Add this to your claude_desktop_config.json:
{
"mcpServers": {
"datadog": {
"command": "npx",
"args": [
"datadog-mcp-server",
"--apiKey",
"<YOUR_API_KEY>",
"--appKey",
"<YOUR_APP_KEY>",
"--site",
"<YOUR_DD_SITE>(e.g us5.datadoghq.com)"
]
}
}
}For more advanced configurations with separate endpoints for logs and metrics:
{
"mcpServers": {
"datadog": {
"command": "npx",
"args": [
"datadog-mcp-server",
"--apiKey",
"<YOUR_API_KEY>",
"--appKey",
"<YOUR_APP_KEY>",
"--site",
"<YOUR_DD_SITE>",
"--logsSite",
"<YOUR_LOGS_SITE>",
"--metricsSite",
"<YOUR_METRICS_SITE>"
]
}
}
}Locations for the Claude Desktop config file:
MacOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%/Claude/claude_desktop_config.json
Usage with MCP Inspector
To use with the MCP Inspector tool:
npx @modelcontextprotocol/inspector datadog-mcp-server --apiKey=your_api_key --appKey=your_app_keyAvailable Tools
The server provides these MCP tools:
get-monitors: Fetch monitors with optional filtering
get-monitor: Get details of a specific monitor by ID
get-dashboards: List all dashboards
get-dashboard: Get a specific dashboard by ID
get-metrics: List available metrics
get-metric-metadata: Get metadata for a specific metric
get-events: Fetch events within a time range
get-incidents: List incidents with optional filtering
search-logs: Search logs with advanced query filtering
aggregate-logs: Perform analytics and aggregations on log data
Examples
Example: Get Monitors
{
"method": "tools/call",
"params": {
"name": "get-monitors",
"arguments": {
"groupStates": ["alert", "warn"],
"limit": 5
}
}
}Example: Get a Dashboard
{
"method": "tools/call",
"params": {
"name": "get-dashboard",
"arguments": {
"dashboardId": "abc-def-123"
}
}
}Example: Search Logs
{
"method": "tools/call",
"params": {
"name": "search-logs",
"arguments": {
"filter": {
"query": "service:web-app status:error",
"from": "now-15m",
"to": "now"
},
"sort": "-timestamp",
"limit": 20
}
}
}Example: Aggregate Logs
{
"method": "tools/call",
"params": {
"name": "aggregate-logs",
"arguments": {
"filter": {
"query": "service:web-app",
"from": "now-1h",
"to": "now"
},
"compute": [
{
"aggregation": "count"
}
],
"groupBy": [
{
"facet": "status",
"limit": 10,
"sort": {
"aggregation": "count",
"order": "desc"
}
}
]
}
}
}Example: Get Incidents
{
"method": "tools/call",
"params": {
"name": "get-incidents",
"arguments": {
"includeArchived": false,
"query": "state:active",
"pageSize": 10
}
}
}Troubleshooting
If you encounter a 403 Forbidden error, verify that:
Your API key and Application key are correct
The keys have the necessary permissions to access the requested resources
Your account has access to the requested data
You're using the correct endpoint for your region (e.g.,
datadoghq.eufor EU customers)
Debugging
If you encounter issues, check Claude Desktop's MCP logs:
# On macOS
tail -n 20 -f ~/Library/Logs/Claude/mcp*.log
# On Windows
Get-Content -Path "$env:APPDATA\Claude\Logs\mcp*.log" -Tail 20 -WaitCommon issues:
403 Forbidden: Authentication issue with Datadog API keys
API key or App key format invalid: Ensure you're using the full key strings
Site configuration errors: Make sure you're using the correct Datadog domain
Endpoint mismatches: Verify that service-specific endpoints are correctly set if you're using separate domains for logs and metrics
License
MIT
Available Tools
10 toolsaggregate-logsB
Perform analytical queries and aggregations on log data. Essential for calculating metrics (count, avg, sum, etc.), grouping data by fields, and creating statistical summaries from logs. Use this when you need to analyze patterns or extract metrics from log data.
| Name | Required | Description | Default |
|---|---|---|---|
| filter | No | ||
| compute | No | ||
| groupBy | No | ||
| options | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but only mentions what the tool does, not how it behaves. It doesn't disclose performance characteristics, rate limits, authentication requirements, error conditions, or what happens with large datasets. For a complex aggregation tool with 4 parameters, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized with two sentences that each add value. It's front-loaded with the core purpose and follows with usage guidance. No wasted words, though it could be slightly more structured for a complex tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex aggregation tool with 4 parameters (including nested objects), 0% schema description coverage, no output schema, and no annotations, the description is inadequate. It explains the 'what' but not the 'how' - missing crucial details about parameter usage, return format, error handling, and behavioral constraints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage and 4 complex parameters (including nested objects), the description provides no parameter-specific information. It mentions general concepts like 'calculating metrics' and 'grouping data by fields' but doesn't explain what 'filter', 'compute', 'groupBy', or 'options' parameters actually do or how to structure them.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with specific verbs ('perform analytical queries and aggregations') and resources ('on log data'). It distinguishes from siblings like 'search-logs' by focusing on aggregation and metrics rather than basic search operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use this tool ('when you need to analyze patterns or extract metrics from log data'), but doesn't explicitly state when NOT to use it or mention specific alternatives like 'search-logs' for non-aggregation queries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-dashboardA
Get the complete definition of a specific Datadog dashboard by its ID. Returns all widgets, layout, and configuration details.
| Name | Required | Description | Default |
|---|---|---|---|
| dashboardId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It discloses that the tool returns 'all widgets, layout, and configuration details,' which adds useful context about output scope. However, it lacks details on error handling, authentication needs, rate limits, or whether it's a read-only operation (though implied by 'Get').
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences that are front-loaded with the core purpose and efficiently detail the return value. Every word earns its place with no redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 1 parameter, no annotations, and no output schema, the description adequately covers the tool's purpose and output scope. It could improve by addressing error cases or authentication, but for a simple retrieval tool, it provides sufficient context for basic use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 1 parameter with 0% description coverage, so the description must compensate. It explains that 'dashboardId' identifies 'a specific Datadog dashboard,' adding meaningful context beyond the schema's type definition. However, it doesn't specify format or sourcing details for the ID.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Get the complete definition'), resource ('a specific Datadog dashboard'), and key identifier ('by its ID'). It distinguishes from sibling tools like 'get-dashboards' (plural) by specifying retrieval of a single dashboard's full details.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when needing a dashboard's full definition by ID, but provides no explicit guidance on when to use this versus alternatives like 'get-dashboards' (which likely lists dashboards) or other sibling tools. No exclusions or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-dashboardsC
Retrieve a list of all dashboards from Datadog. Useful for discovering available dashboards and their IDs for further exploration.
| Name | Required | Description | Default |
|---|---|---|---|
| filterConfigured | No | ||
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions retrieving a list and discovering IDs, but doesn't disclose critical traits like whether this is a read-only operation, potential rate limits, authentication requirements, pagination behavior (implied by 'limit' parameter but not explained), or what the return format looks like. For a tool with no annotation coverage, this leaves significant gaps in understanding its behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately concise with two sentences that directly state the purpose and utility. It's front-loaded with the core action and avoids unnecessary details. However, it could be slightly more structured by explicitly addressing parameters or behavioral aspects, but it remains efficient without wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (a retrieval tool with 2 parameters), no annotations, no output schema, and 0% schema description coverage, the description is incomplete. It covers the basic purpose but lacks details on parameters, return values, behavioral constraints, and differentiation from siblings. For a tool in this context, it should provide more comprehensive guidance to be fully useful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 0%, meaning parameters 'filterConfigured' and 'limit' are undocumented in the schema. The description doesn't mention these parameters at all, failing to compensate for the lack of schema documentation. It doesn't explain what 'filterConfigured' does or how 'limit' affects the retrieval, leaving their semantics unclear. With two parameters and no coverage, the description adds no value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Retrieve a list of all dashboards') and resource ('dashboards from Datadog'), making the purpose understandable. However, it doesn't explicitly differentiate from sibling tools like 'get-dashboard' (singular) or 'get-monitors', which might have overlapping functionality. The mention of discovering IDs for further exploration adds useful context but doesn't fully establish uniqueness.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by stating it's 'useful for discovering available dashboards and their IDs for further exploration', which suggests when to use it (for initial discovery). However, it doesn't provide explicit guidance on when to use this tool versus alternatives like 'get-dashboard' (singular) or 'get-monitors', nor does it mention any exclusions or prerequisites. The guidance is present but incomplete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-eventsC
Search for events in Datadog within a specified time range. Events include deployments, alerts, comments, and other activities. Useful for correlating system behaviors with specific events.
| Name | Required | Description | Default |
|---|---|---|---|
| start | Yes | ||
| end | Yes | ||
| priority | No | ||
| sources | No | ||
| tags | No | ||
| unaggregated | No | ||
| excludeAggregation | No | ||
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions the tool searches for events but doesn't describe key behaviors: whether it's read-only or mutative, what permissions are required, rate limits, pagination (though 'limit' parameter hints at it), or error handling. For a tool with 8 parameters and no annotation coverage, this is a significant gap in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized with two sentences: the first states the core purpose, and the second adds usage context. It's front-loaded with the main action. There's minimal waste, though the second sentence could be more specific. Overall, it's efficient and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (8 parameters, no output schema, no annotations), the description is incomplete. It covers the basic purpose but lacks details on parameter meanings, behavioral traits (e.g., read-only status, error handling), and output format. For a search tool with many filtering options and no structured output documentation, this leaves the agent with significant gaps in understanding how to use it effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for undocumented parameters. It only mentions 'specified time range' (mapping to 'start' and 'end' parameters) and 'events include deployments, alerts, comments, and other activities' (hinting at event types but not directly mapping to parameters like 'sources' or 'tags'). Most parameters (priority, sources, tags, unaggregated, excludeAggregation, limit) remain unexplained, failing to add sufficient meaning beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Search for events in Datadog within a specified time range' with specific examples of event types (deployments, alerts, comments). It distinguishes from sibling tools like 'get-incidents' or 'search-logs' by focusing on events rather than logs, incidents, or metrics. However, it doesn't explicitly contrast with all siblings, keeping it at 4 rather than 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides implied usage context: 'Useful for correlating system behaviors with specific events,' suggesting when this tool might be appropriate. However, it lacks explicit guidance on when to use this tool versus alternatives like 'get-incidents' or 'search-logs,' and doesn't mention prerequisites or exclusions. This leaves some ambiguity for the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-incidentsC
List incidents from Datadog's incident management system. Can filter by active/archived status and use query strings to find specific incidents. Helpful for reviewing current or past incidents.
| Name | Required | Description | Default |
|---|---|---|---|
| includeArchived | No | ||
| pageSize | No | ||
| pageOffset | No | ||
| query | No | ||
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions filtering and querying capabilities, but fails to describe critical behaviors such as pagination handling (implied by pageSize/pageOffset parameters), rate limits, authentication requirements, error conditions, or the format of returned data. For a list operation with 5 parameters, this leaves significant gaps in understanding how the tool behaves in practice.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately concise with three sentences that efficiently convey the core functionality, filtering options, and a use case. It's front-loaded with the main purpose and avoids unnecessary details. However, the third sentence ('Helpful for reviewing current or past incidents') is somewhat redundant with the filtering mention, slightly reducing efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a list operation with 5 parameters, no annotations, and no output schema, the description is incomplete. It doesn't explain the return format, pagination behavior, error handling, or the semantics of undocumented parameters like limit and pageOffset. For a tool in this context, more comprehensive guidance is needed to ensure the agent can use it effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 0%, meaning none of the 5 parameters are documented in the schema. The description only vaguely references 'filter by active/archived status' (likely related to includeArchived) and 'query strings' (likely related to query), but doesn't explain the purpose or usage of pageSize, pageOffset, or limit parameters. This insufficiently compensates for the lack of schema documentation, leaving most parameters semantically unclear.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'List incidents from Datadog's incident management system.' It specifies the resource (incidents) and source (Datadog's incident management system), making it easy to understand what the tool does. However, it doesn't explicitly distinguish this tool from its siblings (e.g., get-events, get-monitors), which prevents a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides some implied usage guidance by mentioning filtering capabilities ('Can filter by active/archived status and use query strings to find specific incidents') and a use case ('Helpful for reviewing current or past incidents'). However, it lacks explicit instructions on when to use this tool versus alternatives (e.g., get-events for events, get-monitors for monitors), and doesn't specify prerequisites or exclusions, leaving room for ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-metric-metadataB
Retrieve detailed metadata about a specific metric, including its type, description, unit, and other attributes. Use this to understand a metric's meaning and proper usage.
| Name | Required | Description | Default |
|---|---|---|---|
| metricName | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It describes a read-only operation ('Retrieve') and the type of data returned, but lacks behavioral details such as error handling (e.g., if metricName is invalid), authentication needs, rate limits, or response format. For a tool with zero annotation coverage, this is a significant gap in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core action and purpose, and every sentence adds value (first defines the tool, second explains usage). It's efficient with zero waste, appropriately sized for a simple tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (1 parameter, no output schema, no annotations), the description is minimally complete. It covers the basic purpose and usage but lacks details on parameters, behavioral traits, and output. Without annotations or output schema, more context on return values or errors would improve completeness, but it's adequate for a simple read operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 1 parameter (metricName) with 0% description coverage, so the schema provides no semantic information. The description adds no details about the parameter (e.g., format, examples, constraints). Since schema coverage is low (<50%), the description fails to compensate, resulting in minimal value beyond the schema. Baseline is 3 due to adequate but incomplete coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Retrieve detailed metadata') and resource ('about a specific metric'), specifying what information is returned (type, description, unit, other attributes) and the purpose ('to understand a metric's meaning and proper usage'). It distinguishes from siblings like 'get-metrics' (likely listing metrics) by focusing on metadata for a single metric, though not explicitly named. This is specific but lacks explicit sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage ('Use this to understand a metric's meaning and proper usage'), suggesting it's for learning about metrics rather than operational tasks. However, it doesn't explicitly state when to use this vs. alternatives like 'get-metrics' (which might list metrics without details) or other tools, and provides no exclusions or prerequisites. The guidance is implied but not detailed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-metricsB
List available metrics from Datadog. Optionally use the q parameter to search for specific metrics matching a pattern. Helpful for discovering metrics to use in monitors or dashboards.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It describes the tool as a listing/search operation, which implies it's likely read-only and non-destructive, but doesn't explicitly state this. It mentions the 'q parameter' for searching but doesn't detail behavioral aspects like rate limits, authentication needs, pagination, or what the output looks like. For a tool with zero annotation coverage, this leaves significant gaps in understanding its behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded, with the first sentence stating the core purpose and the second adding optional functionality and usage context. Every sentence earns its place by providing essential information without redundancy or fluff, making it efficient and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (1 optional parameter, no nested objects) but lack of annotations and output schema, the description is moderately complete. It covers the purpose and basic parameter use, but misses details on behavioral traits (e.g., safety, output format) that would be crucial for an agent to invoke it correctly. It's adequate for a simple tool but has clear gaps in context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 1 parameter with 0% description coverage, so the schema provides no semantic information. The description adds value by explaining that 'q' is used 'to search for specific metrics matching a pattern,' which clarifies its purpose beyond the schema. However, it doesn't specify the pattern format (e.g., wildcards, regex) or provide examples, leaving some ambiguity. With low schema coverage, the description compensates partially but not fully.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with specific verbs ('List available metrics', 'search for specific metrics') and identifies the resource ('from Datadog'). It distinguishes from siblings like 'get-metric-metadata' by focusing on listing/discovering metrics rather than retrieving metadata about a specific metric. However, it doesn't explicitly contrast with all siblings (e.g., 'get-dashboards' or 'get-monitors'), keeping it from a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides implied usage context by stating the tool is 'Helpful for discovering metrics to use in monitors or dashboards,' which suggests when to use it (for metric discovery). However, it lacks explicit guidance on when to choose this tool over alternatives like 'get-metric-metadata' or 'search-logs,' and doesn't mention any prerequisites or exclusions. The guidance is present but not comprehensive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-monitorB
Get detailed information about a specific Datadog monitor by its ID. Use this to retrieve the complete configuration, status, and other details of a single monitor.
| Name | Required | Description | Default |
|---|---|---|---|
| monitorId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions retrieving 'complete configuration, status, and other details,' which gives some context on what information is returned. However, it lacks details on permissions, rate limits, error handling, or response format, which are important for a read operation with no output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded: the first sentence states the core purpose, and the second adds usage context. Both sentences earn their place by providing essential information without redundancy or fluff, making it efficient and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (simple read operation), no annotations, no output schema, and low schema coverage, the description is minimally adequate. It covers the basic purpose and usage but lacks details on behavioral aspects like permissions or response structure, which would enhance completeness for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 1 parameter with 0% description coverage, so the description must compensate. It adds meaning by specifying that 'monitorId' is used to identify 'a specific Datadog monitor,' clarifying its purpose. However, it doesn't provide details on ID format, constraints, or examples, leaving gaps in parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get detailed information about a specific Datadog monitor by its ID.' It specifies the verb ('Get'), resource ('Datadog monitor'), and scope ('by its ID'). However, it doesn't explicitly differentiate from sibling tools like 'get-monitors' (plural), which might retrieve multiple monitors, leaving some ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by stating 'Use this to retrieve... a single monitor,' suggesting it's for individual monitor details. However, it doesn't provide explicit guidance on when to use this versus alternatives like 'get-monitors' or other sibling tools, nor does it mention prerequisites or exclusions, leaving the context somewhat implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-monitorsB
Fetch monitors from Datadog with optional filtering. Use groupStates to filter by monitor status (e.g., 'alert', 'warn', 'no data'), tags or monitorTags to filter by tag criteria, and limit to control result size.
| Name | Required | Description | Default |
|---|---|---|---|
| groupStates | No | ||
| tags | No | ||
| monitorTags | No | ||
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions filtering and result size control, but fails to describe critical behaviors such as pagination, rate limits, authentication requirements, error handling, or the format of returned data. For a read operation with no annotation coverage, this leaves significant gaps in understanding how the tool behaves.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose and efficiently uses two sentences to cover key parameters without redundancy. Every sentence adds value, but it could be slightly more structured by separating purpose from parameter details for better readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description is incomplete for a tool with 4 parameters and complex filtering options. It covers parameter semantics adequately but lacks details on behavioral aspects like response format, error cases, or system constraints. For a read operation in a context with sibling tools, more guidance on usage and output expectations would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description compensates well by explaining the semantics of all four parameters: 'groupStates' filters by status, 'tags' or 'monitorTags' filter by tag criteria, and 'limit' controls result size. It adds meaningful context beyond the bare schema, though it could clarify differences between 'tags' and 'monitorTags' or provide examples for tag formats.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('fetch monitors') and resource ('from Datadog'), making the purpose evident. However, it doesn't explicitly differentiate this tool from its sibling 'get-monitor' (singular), which might retrieve a specific monitor rather than a filtered list, leaving some ambiguity in sibling distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage through examples of filtering parameters (e.g., 'groupStates to filter by monitor status'), suggesting when to use these options, but it doesn't provide explicit guidance on when to choose this tool over alternatives like 'get-monitor' or other sibling tools, nor does it mention any prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search-logsB
Search logs in Datadog with advanced filtering options. Use filter.query for search terms (e.g., 'service:web-app status:error'), from/to for time ranges (e.g., 'now-15m', 'now'), and sort to order results. Essential for investigating application issues.
| Name | Required | Description | Default |
|---|---|---|---|
| filter | No | ||
| sort | No | ||
| page | No | ||
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It mentions 'advanced filtering options' and 'essential for investigating application issues,' but fails to describe critical behaviors like pagination handling (implied by 'page' parameter), rate limits, authentication requirements, or what the output looks like. For a search tool with complex parameters, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized with two sentences: the first front-loads purpose and parameter guidance, the second provides usage context. Every sentence adds value, though the second could be more specific. No wasted words, but could be slightly more structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (4 parameters with nested objects, no annotations, no output schema), the description is incomplete. It covers basic parameter usage but misses behavioral aspects like pagination, output format, error handling, and doesn't fully address all parameters. For a search tool with filtering and pagination, this leaves significant gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It adds value by explaining 'filter.query for search terms (e.g., 'service:web-app status:error'), from/to for time ranges (e.g., 'now-15m', 'now'), and sort to order results,' covering 3 of 4 parameters. However, it doesn't explain 'indexes' or 'page' parameters, leaving some semantics undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose as 'Search logs in Datadog with advanced filtering options' which specifies the verb ('Search'), resource ('logs in Datadog'), and scope ('advanced filtering options'). It distinguishes from siblings like 'aggregate-logs' by focusing on search rather than aggregation, though it doesn't explicitly contrast with all siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides implied usage guidance with 'Essential for investigating application issues,' suggesting when this tool is appropriate. However, it lacks explicit guidance on when to use this versus alternatives like 'get-events' or 'aggregate-logs,' and doesn't mention prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
10 tool updates
- First observed
aggregate-logs - First observed
get-dashboard - First observed
get-dashboards - First observed
get-events - First observed
get-incidents - First observed
get-metric-metadata - First observed
get-metrics - First observed
get-monitor - First observed
get-monitors - First observed
search-logs
TDQS
Each tool has a clearly distinct purpose targeting specific Datadog resources: logs (aggregate-logs, search-logs), dashboards (get-dashboard, get-dashboards), events (get-events), incidents (get-incidents), metrics (get-metric-metadata, get-metrics), and monitors (get-monitor, get-monitors). There is no overlap in functionality, and the descriptions clearly differentiate between analytical queries, retrieval operations, and search capabilities.
All tool names follow a consistent verb-noun pattern with hyphens, using 'get-' for retrieval operations (e.g., get-dashboard, get-metrics) and descriptive prefixes for other actions (e.g., aggregate-logs, search-logs). This uniformity makes the tool set predictable and easy to navigate, with no deviations in naming conventions.
With 10 tools, the server is well-scoped for a Datadog integration, covering key areas like logs, dashboards, events, incidents, metrics, and monitors. Each tool serves a distinct and necessary function, avoiding redundancy while providing comprehensive access to core Datadog features without being overwhelming.
The tool set offers strong read-only coverage for Datadog's core resources, including retrieval and search operations. However, it lacks write operations (e.g., create, update, delete) for dashboards, monitors, or incidents, which could limit agents in full lifecycle management. Minor gaps exist, but agents can still perform essential monitoring and analysis tasks effectively.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Gain visibility into the performance, availability, and health of your apps and infrastructure.
Track errors, manage performance alerts, and configure dashboards and monitors
Monitor, troubleshoot, and optimize your technology stack with Intelligent Observability.
- FixterOAuthdev.fixter
Monitoring for small teams. Logs, traces, metrics, live issue tracking, API/MCP uptime.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceAutomatically tracks and logs all client-agent conversations in real-time without user intervention. Provides conversation history, analytics, weather tools, and continuous system health monitoring with complete request-response pair recording.-
- AlicenseAqualityAmaintenanceeBPF-based GPU causal observability agent with MCP server. Traces CUDA Runtime and Driver APIs via kernel uprobes and host events via tracepoints to build causal chains explaining GPU latency. 7 tools: get_check, get_trace_stats, get_causal_chains, get_stacks, run_demo, get_test_report, run_sql. Telegraphic compression reduces token usage ~60%. Supports stdio and HTTPS (TLS 1.3) transport.1184-
- AlicenseNot gradedqualityDmaintenanceMCP server for tracing, logging, and debugging multi-agent systems by capturing sessions, spans, and events in a queryable trace tree.1MIT
- AlicenseNot gradedqualityCmaintenanceTracks a user's activity by trace ID from application logs stored in ClickHouse. Provides tools for log timeline, trace summaries, and search across services.94MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/GeLi2001/datadog-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server