@channel.io/datadog-mcp
v0.2.0
Published
Datadog MCP - Model Context Protocol server for Datadog API
Readme
Datadog MCP
Datadog API를 활용한 Model Context Protocol(MCP) 서버입니다. AI 어시스턴트가 Datadog의 로그, 메트릭, 모니터, APM 데이터에 접근할 수 있게 해줍니다.
기능
이 MCP 서버는 다음 도구들을 제공합니다:
| 도구 | 설명 |
| ------------------------------ | -------------------------------------- |
| whoami | API 키 유효성 검증 |
| search_logs | 로그 검색 (쿼리, 시간 범위 필터링) |
| list_monitors | 모니터 목록 조회 |
| get_monitor | 특정 모니터 상세 조회 |
| search_events | 이벤트 스트림 검색 |
| query_metrics | 메트릭 데이터 쿼리 |
| search_spans | APM 스팬/트레이스 검색 |
| get_trace_details | 특정 트레이스 ID로 전체 요청 흐름 조회 |
| search_error_tracking_issues | 에러 트래킹 이슈 검색 (그룹화된 에러) |
| list_rum_applications | RUM 애플리케이션 목록 조회 |
| search_rum_events | RUM 이벤트 검색 (요약) |
| get_rum_event_detail | RUM 이벤트 상세 조회 |
| aggregate_rum_events | RUM 이벤트 집계/분석 |
설치 및 설정
환경 변수
다음 환경 변수가 필요합니다:
| 변수 | 필수 | 설명 |
| ------------ | ---- | ---------------------------------------- |
| DD_API_KEY | ✅ | Datadog API 키 |
| DD_APP_KEY | ✅ | Datadog Application 키 |
| DD_SITE | ❌ | Datadog 사이트 (기본값: datadoghq.com) |
Datadog 키 발급
- Datadog 콘솔에 로그인
- Organization Settings → API Keys에서 API 키 생성
- Organization Settings → Application Keys에서 Application 키 생성
Claude Desktop 설정
claude_desktop_config.json에 다음을 추가하세요:
{
"mcpServers": {
"datadog": {
"command": "npx",
"args": ["@channel.io/datadog-mcp"],
"env": {
"DD_API_KEY": "your-api-key",
"DD_APP_KEY": "your-application-key",
"DD_SITE": "datadoghq.com"
}
}
}
}사이트 설정
Datadog 리전에 따라 DD_SITE를 설정하세요:
| 리전 | DD_SITE |
| ---------- | ------------------- |
| US1 (기본) | datadoghq.com |
| US3 | us3.datadoghq.com |
| US5 | us5.datadoghq.com |
| EU | datadoghq.eu |
| AP1 | ap1.datadoghq.com |
사용 예시
로그 검색
"최근 일주일간 payment 서비스의 에러 로그를 검색해줘"MCP 도구 호출:
{
"tool": "search_logs",
"arguments": {
"query": "service:payment status:error",
"from": "2026-01-22T00:00:00Z",
"to": "2026-01-29T23:59:59Z",
"limit": 100
}
}메트릭 조회
"지난 1시간 동안의 CPU 사용률을 조회해줘"MCP 도구 호출:
{
"tool": "query_metrics",
"arguments": {
"query": "avg:system.cpu.user{*}",
"from": 1706500000,
"to": 1706503600
}
}APM 트레이스 검색
"응답 시간이 1초 이상인 API 요청들을 찾아줘"MCP 도구 호출:
{
"tool": "search_spans",
"arguments": {
"query": "service:api-gateway @duration:>1s",
"from": "2026-01-28T00:00:00Z",
"to": "2026-01-29T00:00:00Z"
}
}특정 트레이스 상세 조회
"이 트레이스 ID의 전체 요청 흐름을 보여줘: abc123def456"MCP 도구 호출:
{
"tool": "get_trace_details",
"arguments": {
"traceId": "abc123def456",
"from": "2026-01-28T00:00:00Z",
"to": "2026-01-29T00:00:00Z"
}
}에러 트래킹 이슈 검색
"최근 발생한 에러 이슈들을 보여줘"MCP 도구 호출:
{
"tool": "search_error_tracking_issues",
"arguments": {
"query": "*",
"from": "2026-01-22T00:00:00Z",
"to": "2026-01-29T23:59:59Z",
"limit": 25
}
}RUM 클라이언트 에러 검색
"웹 앱에서 발생한 JavaScript 에러들을 찾아줘"MCP 도구 호출:
{
"tool": "search_rum_events",
"arguments": {
"query": "@type:error service:my-web-app",
"from": "2026-01-28T00:00:00Z",
"to": "2026-01-29T00:00:00Z",
"limit": 50
}
}RUM 페이지 로딩 성능 분석
"로딩 시간이 3초 이상인 페이지들을 찾아줘"MCP 도구 호출:
{
"tool": "search_rum_events",
"arguments": {
"query": "@type:view @view.loading_time:>3000000000",
"from": "2026-01-28T00:00:00Z",
"to": "2026-01-29T00:00:00Z"
}
}RUM 성능 메트릭 집계
"페이지별 평균 로딩 시간을 알려줘"MCP 도구 호출:
{
"tool": "aggregate_rum_events",
"arguments": {
"query": "@type:view",
"from": "2026-01-28T00:00:00Z",
"to": "2026-01-29T00:00:00Z",
"metric": "avg",
"metricField": "@view.loading_time",
"groupBy": "@view.name"
}
}개발
# 의존성 설치
pnpm install
# 빌드
pnpm build
# 개발 모드 (watch)
pnpm dev
# 타입 체크
pnpm typecheck라이선스
Channel 내부용
