Skip to main content
Glama
abhi276k

Datadog MCP Server

by abhi276k

Datadog MCP Server

A generic Model Context Protocol (MCP) server for Datadog integration. This project enables Datadog API access via MCP for monitoring, metrics, dashboards, logs, events, and incidents.

Features

  • Monitors: List and filter Datadog monitors by status, tags, etc.

  • Metrics: Search and retrieve metric information

  • Dashboards: List and get dashboard details

  • Logs: Search logs with advanced filtering

  • Events: Retrieve events within time ranges

  • Incidents: List and search incidents

Setup

1. Install Dependencies

npm install

2. Configure Datadog Credentials

  1. Copy the environment template:

cp .env.template .env
  1. Get your Datadog API credentials from your Datadog account settings:

  • API Key: https://app.datadoghq.com/organization-settings/api-keys

  • Application Key: https://app.datadoghq.com/organization-settings/application-keys

  1. Edit .env and fill in your credentials:

DD_API_KEY=your_datadog_api_key_here DD_APP_KEY=your_datadog_app_key_here DD_SITE=datadoghq.com # or your specific site (datadoghq.eu, us3.datadoghq.com, etc.)

3. Test Configuration

License

This project is licensed under the MIT License. See the LICENSE file for details.

npm test

This will validate your credentials and test the Datadog API connection.

Usage

VS Code MCP Integration

Add to your VS Code MCP configuration (~/.config/Code/User/mcp.json):

{ "mcpServers": { "datadog": { "command": "node", "args": ["/absolute/path/to/datadog/index.js"], "env": { "DD_API_KEY": "your_api_key", "DD_APP_KEY": "your_app_key", "DD_SITE": "datadoghq.com" } } } }

Standalone Testing

# List available tools echo '{"jsonrpc": "2.0", "id": 1, "method": "tools/list", "params": {}}' | node index.js # Test monitors tool echo '{"jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": {"name": "get_monitors", "arguments": {"limit": 5}}}' | node index.js

Available Tools

get_monitors

  • Description: Retrieve Datadog monitors with filtering options

  • Parameters:

    • limit (optional): Number of monitors to return (default: 10)

    • groupStates (optional): Filter by monitor states (e.g., ["Alert", "Warn"])

    • tags (optional): Filter by tags

get_metrics

  • Description: Search for metrics in your Datadog account

  • Parameters:

    • query (optional): Search query for metric names

    • limit (optional): Number of metrics to return (default: 100)

get_dashboards

  • Description: List Datadog dashboards

  • Parameters:

    • limit (optional): Number of dashboards to return (default: 10)

    • author (optional): Filter by author

    • filterDeleted (optional): Filter out deleted dashboards

search_logs

  • Description: Search logs with advanced filtering

  • Parameters:

    • query (optional): Log search query

    • from (optional): Start time (e.g., "now-1h")

    • to (optional): End time (e.g., "now")

    • limit (optional): Number of logs to return (default: 100)

get_events

  • Description: Retrieve events within a time range

  • Parameters:

    • start (required): Start timestamp (Unix timestamp)

    • end (required): End timestamp (Unix timestamp)

    • priority (optional): Event priority filter

    • tags (optional): Tag filter

get_incidents

  • Description: List incidents from Datadog incident management

  • Parameters:

    • query (optional): Search query for incidents

    • limit (optional): Number of incidents to return (default: 100)

Troubleshooting

Common Issues

  1. "spawn datadog-mcp-server ENOENT": This means the official server isn't available. Use this custom server instead.

  2. API Authentication Errors:

    • Verify your DD_API_KEY and DD_APP_KEY are correct

    • Check that your API keys have the necessary permissions

    • Ensure you're using the correct DD_SITE for your Datadog instance

  3. Network/Timeout Errors:

    • Check your internet connection

    • Verify firewall settings allow HTTPS to Datadog APIs

    • Try increasing timeout values if on a slow connection

Debug Mode

Run with debug logging:

DEBUG=1 node index.js

Development

Testing Changes

# Install dependencies npm install # Test the server npm test # Start in development mode with auto-reload npm run dev

Adding New Tools

  1. Define the Zod schema for input validation

  2. Add the tool to the listTools handler

  3. Implement the tool logic in the callTool handler

  4. Update this README with documentation

License

MIT License - See LICENSE file for details.

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

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/abhi276k/datadog-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server