Skip to content

Commit 03a79c4

Browse files
calclaviawinor30
andauthored
Deployment: Dockerfile and Smithery config (#12)
* Add Dockerfile * Add Smithery configuration * Update README * Update Dockerfile to use multi-stage builds * Update README and smithery.yaml formatting --------- Co-authored-by: katsumata(TK) <[email protected]>
1 parent 4752257 commit 03a79c4

File tree

3 files changed

+88
-0
lines changed

3 files changed

+88
-0
lines changed

Dockerfile

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# Generated by https://smithery.ai. See: https://smithery.ai/docs/config#dockerfile
2+
FROM node:22.12-alpine AS builder
3+
4+
# Install pnpm globally
5+
RUN npm install -g pnpm
6+
7+
WORKDIR /app
8+
9+
# Copy package files and install dependencies
10+
COPY package.json pnpm-lock.yaml ./
11+
RUN pnpm install --frozen-lockfile --ignore-scripts
12+
13+
# Copy the rest of the files
14+
COPY . .
15+
16+
# Build the project
17+
RUN pnpm build
18+
19+
FROM node:22.12-alpine AS installer
20+
21+
# Install pnpm globally
22+
RUN npm install -g pnpm
23+
24+
WORKDIR /app
25+
26+
# Copy package files and install only production dependencies
27+
COPY package.json pnpm-lock.yaml ./
28+
RUN pnpm install --frozen-lockfile --ignore-scripts --prod
29+
30+
FROM node:22.12-alpine AS release
31+
32+
WORKDIR /app
33+
34+
COPY --from=builder /app/build /app/build
35+
COPY --from=installer /app/node_modules /app/node_modules
36+
37+
# Expose port if needed (Not explicitly mentioned, MCP runs via stdio, so not needed)
38+
39+
CMD ["node", "build/index.js"]

README.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# Datadog MCP Server
22

3+
[![smithery badge](https://smithery.ai/badge/@winor30/mcp-server-datadog)](https://smithery.ai/server/@winor30/mcp-server-datadog)
4+
35
MCP server for the Datadog API, enabling incident management and more.
46

57
## Features
@@ -130,6 +132,16 @@ export DATADOG_SITE="your_datadog_site"
130132

131133
## Installation
132134

135+
### Installing via Smithery
136+
137+
To install Datadog MCP Server for Claude Desktop automatically via [Smithery](https://smithery.ai/server/@winor30/mcp-server-datadog):
138+
139+
```bash
140+
npx -y @smithery/cli install @winor30/mcp-server-datadog --client claude
141+
```
142+
143+
### Manual Installation
144+
133145
```bash
134146
pnpm install
135147
pnpm build

smithery.yaml

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# Smithery configuration file: https://smithery.ai/docs/config#smitheryyaml
2+
3+
startCommand:
4+
type: stdio
5+
configSchema:
6+
# JSON Schema defining the configuration options for the MCP.
7+
type: object
8+
required:
9+
- datadogApiKey
10+
- datadogAppKey
11+
properties:
12+
datadogApiKey:
13+
type: string
14+
description: Your Datadog API key
15+
datadogAppKey:
16+
type: string
17+
description: Your Datadog Application key
18+
datadogSite:
19+
type: string
20+
default: ''
21+
description: Optional Datadog site (e.g. datadoghq.eu)
22+
commandFunction:
23+
# A JS function that produces the CLI command based on the given config to start the MCP on stdio.
24+
|-
25+
(config) => ({
26+
command: 'node',
27+
args: ['build/index.js'],
28+
env: Object.assign({}, process.env, {
29+
DATADOG_API_KEY: config.datadogApiKey,
30+
DATADOG_APP_KEY: config.datadogAppKey,
31+
...(config.datadogSite && { DATADOG_SITE: config.datadogSite })
32+
})
33+
})
34+
exampleConfig:
35+
datadogApiKey: your_datadog_api_key_here
36+
datadogAppKey: your_datadog_app_key_here
37+
datadogSite: datadoghq.com

0 commit comments

Comments
 (0)