datadog mcp
Datadog MCP 서버
Datadog API와 상호작용하기 위한 MCP(Model Context Protocol) 서버입니다.
특징
모니터링 : 모니터 데이터 및 구성에 액세스
대시보드 : 대시보드 정의 검색 및 보기
메트릭 : 사용 가능한 메트릭 및 해당 메타데이터 쿼리
이벤트 : 기간 내 이벤트 검색 및 검색
로그 : 고급 필터링 및 정렬 옵션을 사용하여 로그 검색
사고 : 사고 관리 데이터 접근
API 통합 : Datadog의 v1 및 v2 API와 직접 통합
포괄적인 오류 처리 : API 및 인증 문제에 대한 명확한 오류 메시지
서비스별 엔드포인트 : 로그 및 메트릭에 대한 다양한 엔드포인트 지원
Related MCP server: AgentTrace
필수 조건
Node.js(버전 16 이상)
Datadog 계정에는 다음이 포함됩니다.
API 키 - 조직 설정 > API 키에서 찾을 수 있습니다.
애플리케이션 키 - 조직 설정 > 애플리케이션 키에서 찾을 수 있습니다.
설치
npm을 통해 (권장)
지엑스피1
출처에서
이 저장소를 복제하세요
종속성 설치:
npm install프로젝트를 빌드하세요:
npm run build
구성
환경 변수나 명령줄 인수를 사용하여 Datadog MCP 서버를 구성할 수 있습니다.
환경 변수
Datadog 자격 증명으로 .env 파일을 만듭니다.
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.com참고 : DD_LOGS_SITE 및 DD_METRICS_SITE 는 선택 사항이며 지정하지 않으면 DD_SITE 값이 기본값으로 사용됩니다.
명령줄 인수
글로벌 사이트 설정을 사용한 기본 사용법:
datadog-mcp-server --apiKey=your_api_key --appKey=your_app_key --site=datadoghq.eu서비스별 엔드포인트를 사용한 고급 사용:
datadog-mcp-server --apiKey=your_api_key --appKey=your_app_key --site=datadoghq.com --logsSite=logs.datadoghq.com --metricsSite=metrics.datadoghq.com참고: 사이트 인수에는 https:// 필요하지 않습니다. 자동으로 추가됩니다.
지역별 엔드포인트
Datadog 지역마다 엔드포인트가 다릅니다.
미국(기본값):
datadoghq.comEU:
datadoghq.euUS3(GovCloud):
ddog-gov.comUS5:
us5.datadoghq.comAP1:
ap1.datadoghq.com
Claude Desktop과 함께 사용
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)"
]
}
}
}로그와 메트릭에 대한 별도의 엔드포인트를 갖춘 고급 구성의 경우:
{
"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>"
]
}
}
}Claude Desktop 구성 파일의 위치:
MacOS:
~/Library/Application Support/Claude/claude_desktop_config.json윈도우:
%APPDATA%/Claude/claude_desktop_config.json
MCP Inspector와 함께 사용
MCP Inspector 도구와 함께 사용하려면:
npx @modelcontextprotocol/inspector datadog-mcp-server --apiKey=your_api_key --appKey=your_app_key사용 가능한 도구
서버는 다음과 같은 MCP 도구를 제공합니다.
get-monitors : 선택적 필터링을 사용하여 모니터 가져오기
get-monitor : ID로 특정 모니터의 세부 정보를 가져옵니다.
get-dashboards : 모든 대시보드 나열
get-dashboard : ID로 특정 대시보드 가져오기
get-metrics : 사용 가능한 메트릭 나열
get-metric-metadata : 특정 메트릭에 대한 메타데이터를 가져옵니다.
get-events : 시간 범위 내에서 이벤트를 가져옵니다.
get-incidents : 선택적 필터링을 사용하여 인시던트 나열
검색 로그 : 고급 쿼리 필터링을 사용한 검색 로그
aggregate-logs : 로그 데이터에 대한 분석 및 집계를 수행합니다.
예시
예: 모니터 가져오기
{
"method": "tools/call",
"params": {
"name": "get-monitors",
"arguments": {
"groupStates": ["alert", "warn"],
"limit": 5
}
}
}예: 대시보드 가져오기
{
"method": "tools/call",
"params": {
"name": "get-dashboard",
"arguments": {
"dashboardId": "abc-def-123"
}
}
}예: 검색 로그
{
"method": "tools/call",
"params": {
"name": "search-logs",
"arguments": {
"filter": {
"query": "service:web-app status:error",
"from": "now-15m",
"to": "now"
},
"sort": "-timestamp",
"limit": 20
}
}
}예: 집계 로그
{
"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"
}
}
]
}
}
}예: 사고 가져오기
{
"method": "tools/call",
"params": {
"name": "get-incidents",
"arguments": {
"includeArchived": false,
"query": "state:active",
"pageSize": 10
}
}
}문제 해결
403 Forbidden 오류가 발생하면 다음 사항을 확인하세요.
API 키와 애플리케이션 키가 정확합니다.
키에는 요청된 리소스에 액세스하는 데 필요한 권한이 있습니다.
귀하의 계정은 요청된 데이터에 액세스할 수 있습니다.
귀하는 귀하의 지역에 맞는 올바른 엔드포인트를 사용하고 있습니다(예: EU 고객의 경우
datadoghq.eu).
디버깅
문제가 발생하면 Claude Desktop의 MCP 로그를 확인하세요.
# On macOS
tail -n 20 -f ~/Library/Logs/Claude/mcp*.log
# On Windows
Get-Content -Path "$env:APPDATA\Claude\Logs\mcp*.log" -Tail 20 -Wait일반적인 문제:
403 금지됨: Datadog API 키 인증 문제
API 키 또는 앱 키 형식이 잘못되었습니다. 전체 키 문자열을 사용하고 있는지 확인하세요.
사이트 구성 오류: 올바른 Datadog 도메인을 사용하고 있는지 확인하세요.
엔드포인트 불일치: 로그 및 메트릭에 대해 별도의 도메인을 사용하는 경우 서비스별 엔드포인트가 올바르게 설정되었는지 확인하세요.
특허
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.
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
Scored across 10 tools
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
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 gradedqualityCmaintenanceAutomatically 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.-
- AlicenseNot gradedqualityDmaintenanceMCP server for tracing, logging, and debugging multi-agent systems by capturing sessions, spans, and events in a queryable trace tree.1MIT
- AlicenseNot gradedqualityDmaintenanceTracks a user's activity by trace ID from application logs stored in ClickHouse. Provides tools for log timeline, trace summaries, and search across services.77 npmMIT
- AlicenseNot gradedqualityDmaintenanceProvides unified AI agent observability including tracing, cost tracking, performance monitoring, anomaly detection, and audit trails via MCP.56 npmMIT