Skip to content

Commit 34240c6

Browse files
authored
Deployment: Dockerfile and Smithery config (#12)
* Add Dockerfile * Add Smithery configuration * Update README
1 parent 29f06b2 commit 34240c6

File tree

3 files changed

+58
-0
lines changed

3 files changed

+58
-0
lines changed

Dockerfile

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# Generated by https://smithery.ai. See: https://smithery.ai/docs/config#dockerfile
2+
# syntax=docker/dockerfile:1.4
3+
4+
# Build stage
5+
FROM node:lts-alpine AS builder
6+
WORKDIR /app
7+
8+
# Install dependencies
9+
COPY package.json package-lock.json ./
10+
RUN npm ci --ignore-scripts
11+
12+
# Copy source and build
13+
COPY . .
14+
RUN npm run build
15+
16+
# Production stage
17+
FROM node:lts-alpine AS runtime
18+
WORKDIR /app
19+
20+
# Copy built artifacts and production dependencies
21+
COPY --from=builder /app/dist ./dist
22+
COPY package.json package-lock.json ./
23+
RUN npm ci --only=production --ignore-scripts
24+
25+
# Default command to start the MCP server
26+
ENTRYPOINT ["node", "dist/index.js"]

README.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,14 @@ Use the following prompts to run/debug/fix your **automated tests** on BrowserSt
154154
}
155155
```
156156

157+
### Installing via Smithery
158+
159+
To install BrowserStack Test Platform Server for Claude Desktop automatically via [Smithery](https://smithery.ai/server/@browserstack/mcp-server):
160+
161+
```bash
162+
npx -y @smithery/cli install @browserstack/mcp-server --client claude
163+
```
164+
157165
## 🤝 Recommended MCP Clients
158166

159167
- We recommend using **Github Copilot or Cursor** for automated testing + debugging use cases.

smithery.yaml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
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+
- browserstackUsername
10+
- browserstackAccessKey
11+
properties:
12+
browserstackUsername:
13+
type: string
14+
description: BrowserStack username
15+
browserstackAccessKey:
16+
type: string
17+
description: BrowserStack access key
18+
commandFunction:
19+
# A JS function that produces the CLI command based on the given config to start the MCP on stdio.
20+
|-
21+
(config) => ({ command: 'node', args: ['dist/index.js'], env: { BROWSERSTACK_USERNAME: config.browserstackUsername, BROWSERSTACK_ACCESS_KEY: config.browserstackAccessKey } })
22+
exampleConfig:
23+
browserstackUsername: myuser
24+
browserstackAccessKey: myaccesskey

0 commit comments

Comments
 (0)