From 5718df30e593b12160ddab18f3dd36db8d38a587 Mon Sep 17 00:00:00 2001 From: Henry Mao <1828968+calclavia@users.noreply.github.com> Date: Sun, 13 Apr 2025 04:02:32 -0700 Subject: [PATCH 1/3] Add Dockerfile --- Dockerfile | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..082a385 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,22 @@ +# Generated by https://smithery.ai. See: https://smithery.ai/docs/config#dockerfile +FROM node:lts-alpine + +# Set working directory +WORKDIR /app + +# Copy package and tsconfig files +COPY package.json tsconfig.json ./ + +# Copy source files +COPY src/ ./src/ + +# Install dependencies (ignore optional install scripts to speed up build) +RUN npm install --ignore-scripts + +# Build the project +RUN npm run build + +# Expose port if needed (not necessary if using stdio for MCP) + +# Set command to run the server +CMD [ "node", "dist/index.js" ] From b6c63c4ff22bbfe85b52b420580d5873347407cd Mon Sep 17 00:00:00 2001 From: Henry Mao <1828968+calclavia@users.noreply.github.com> Date: Sun, 13 Apr 2025 04:02:33 -0700 Subject: [PATCH 2/3] Add Smithery configuration --- smithery.yaml | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 smithery.yaml diff --git a/smithery.yaml b/smithery.yaml new file mode 100644 index 0000000..577ac45 --- /dev/null +++ b/smithery.yaml @@ -0,0 +1,33 @@ +# Smithery configuration file: https://smithery.ai/docs/config#smitheryyaml + +startCommand: + type: stdio + configSchema: + # JSON Schema defining the configuration options for the MCP. + type: object + required: + - apiKey + - appKey + - site + properties: + apiKey: + type: string + description: Datadog API key + appKey: + type: string + description: Datadog Application key + site: + type: string + description: Datadog site domain (e.g., datadoghq.com or us5.datadoghq.com) + commandFunction: + # A JS function that produces the CLI command based on the given config to start the MCP on stdio. + |- + (config) => ({ + command: 'node', + args: ['dist/index.js', '--apiKey', config.apiKey, '--appKey', config.appKey, '--site', config.site], + env: { DD_API_KEY: config.apiKey, DD_APP_KEY: config.appKey, DD_SITE: config.site } + }) + exampleConfig: + apiKey: your_datadog_api_key + appKey: your_datadog_app_key + site: datadoghq.com From 49ca3d5e374ff4400fbc503a631d5cd57fa0ae37 Mon Sep 17 00:00:00 2001 From: Henry Mao <1828968+calclavia@users.noreply.github.com> Date: Sun, 13 Apr 2025 04:02:33 -0700 Subject: [PATCH 3/3] Update README --- README.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/README.md b/README.md index a5f02eb..cf2b789 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,6 @@ # Datadog MCP Server +[![smithery badge](https://smithery.ai/badge/@GeLi2001/datadog-mcp-server)](https://smithery.ai/server/@GeLi2001/datadog-mcp-server) A Model Context Protocol (MCP) server for interacting with the Datadog API. @@ -26,6 +27,14 @@ A Model Context Protocol (MCP) server for interacting with the Datadog API. ## Installation +### Installing via Smithery + +To install Datadog MCP Server for Claude Desktop automatically via [Smithery](https://smithery.ai/server/@GeLi2001/datadog-mcp-server): + +```bash +npx -y @smithery/cli install @GeLi2001/datadog-mcp-server --client claude +``` + ### Via npm (recommended) ```bash