Jake Shore e4a40298e4 Full cleanup: 65 servers compile clean, 15 new builds, TSC fixes across all existing servers
- Built from scratch: apollo, chargebee, datadog, greenhouse, lever, loom, pandadoc, salesloft, sendgrid, supabase, typeform, webflow, zoho-crm, twilio, reonomy
- TSC fixes: brevo, google-console, housecall-pro, meta-ads, rippling, bamboohr, close, fieldedge, freshdesk, helpscout, toast, touchbistro, hubspot, notion, quickbooks, airtable, gusto, intercom, linear, monday, salesforce, shopify, square, wave, xero
- Entry points added: close, touchbistro
- All 65 active servers compile with 0 TypeScript errors
- 4 specialty servers skipped (competitor-research, compliance-grc, n8n-apps, product-analytics)
2026-02-14 04:37:01 -05:00

151 lines
3.8 KiB
Markdown

# Datadog MCP Server
MCP server for the Datadog monitoring and observability platform, providing comprehensive tools for managing monitors, dashboards, metrics, events, logs, and incidents.
## Features
- **Monitor Management** - Create, update, and manage alerts
- **Dashboard Operations** - Build and manage visualizations
- **Metrics** - Query and submit time-series data
- **Event Tracking** - Record and search deployment/change events
- **Log Management** - Search and aggregate logs
- **Incident Management** - Track and manage incidents
## Installation
```bash
npm install
npm run build
```
## Configuration
Set your Datadog API credentials as environment variables:
```bash
export DATADOG_API_KEY="your_api_key_here"
export DATADOG_APP_KEY="your_app_key_here"
```
Optional: Set your Datadog site (default: datadoghq.com):
```bash
export DATADOG_SITE="datadoghq.eu" # For EU
```
## Usage
Run the server:
```bash
npm start
# or
node dist/index.js
```
## Available Tools (20 total)
### Monitors (5 tools)
- `list_monitors` - View all configured monitors
- `get_monitor` - Get detailed monitor configuration
- `create_monitor` - Create new alerts
- `update_monitor` - Modify monitor settings
- `delete_monitor` - Remove monitors
### Dashboards (5 tools)
- `list_dashboards` - Browse all dashboards
- `get_dashboard` - Get dashboard configuration
- `create_dashboard` - Build new dashboards
- `update_dashboard` - Modify dashboard layouts
- `delete_dashboard` - Remove dashboards
### Metrics (3 tools)
- `query_metrics` - Query time-series metrics
- `submit_metrics` - Send custom metrics
- `list_active_metrics` - Discover available metrics
### Events (2 tools)
- `create_event` - Record deployment/change events
- `search_events` - Find events by filters
### Logs (2 tools)
- `search_logs` - Query logs with advanced filters
- `aggregate_logs` - Perform log analytics
### Incidents (3 tools)
- `list_incidents` - View incident history
- `get_incident` - Get incident details
- `create_incident` - Declare new incidents
## API Coverage Manifest
**Total Datadog API Endpoints:** ~300+
**Implemented in this server:** 20
**Coverage:** ~7%
### Covered Areas:
- ✅ Monitor CRUD operations
- ✅ Dashboard management
- ✅ Metric query and submission
- ✅ Event creation and search
- ✅ Log search and aggregation
- ✅ Incident management basics
### Not Yet Implemented:
- ⏳ Synthetic tests management
- ⏳ SLO management
- ⏳ Downtimes scheduling
- ⏳ Service catalog
- ⏳ APM traces
- ⏳ RUM sessions
- ⏳ Security monitoring
- ⏳ CI Visibility
- ⏳ Network monitoring
- ⏳ Webhooks integration
- ⏳ Roles and permissions
- ⏳ Usage metering
- ⏳ Notebooks
- ⏳ Metrics metadata
## Architecture
```
datadog/
├── src/
│ ├── index.ts # MCP server entry point
│ ├── client/
│ │ └── datadog-client.ts # API client with rate limiting
│ ├── tools/
│ │ ├── monitors.ts # Monitor tools
│ │ ├── dashboards.ts # Dashboard tools
│ │ ├── metrics.ts # Metric tools
│ │ ├── events.ts # Event tools
│ │ ├── logs.ts # Log tools
│ │ └── incidents.ts # Incident tools
│ └── types/
│ └── index.ts # TypeScript interfaces
├── package.json
├── tsconfig.json
└── README.md
```
## Rate Limiting
The client implements automatic rate limiting:
- Max 10 concurrent requests
- Minimum 100ms between requests
- Automatic backoff on 429 responses
## Error Handling
The server provides detailed error messages for:
- Authentication failures (401)
- Permission issues (403)
- Resource not found (404)
- Bad request/validation (400)
- Rate limit exceeded (429)
- Server errors (500+)
## License
MIT