diff --git a/browserbase/Dockerfile b/browserbase/Dockerfile new file mode 100644 index 0000000..993e53c --- /dev/null +++ b/browserbase/Dockerfile @@ -0,0 +1,36 @@ +# Generated by https://smithery.ai. See: https://smithery.ai/docs/config#dockerfile +# Use an official Node.js image as a base +FROM node:18-alpine AS builder + +# Set the working directory +WORKDIR /app + +# Copy package.json and package-lock.json +COPY browserbase/package.json browserbase/package-lock.json ./ + +# Install dependencies +RUN npm install + +# Copy the rest of the application source code +COPY browserbase/ . + +# Build the TypeScript source code +RUN npm run build + +# Create the final image from a smaller Node.js runtime +FROM node:18-alpine + +# Set the working directory +WORKDIR /app + +# Copy built files from the builder stage +COPY --from=builder /app/dist /app/dist +COPY --from=builder /app/package.json /app/package.json +COPY --from=builder /app/package-lock.json /app/package-lock.json + +# Set environment variables (to be configured at runtime) +ENV BROWSERBASE_API_KEY= +ENV BROWSERBASE_PROJECT_ID= + +# Set the entry point +ENTRYPOINT ["node", "dist/index.js"] diff --git a/browserbase/README.md b/browserbase/README.md index a080be9..54f13af 100644 --- a/browserbase/README.md +++ b/browserbase/README.md @@ -2,8 +2,20 @@ ![cover](../assets/browserbase-mcp.png) +[![smithery badge](https://smithery.ai/badge/@browserbasehq/mcp-browserbase)](https://smithery.ai/server/@browserbasehq/mcp-browserbase) + ## Get Started +### Installing via Smithery + +To install Browserbase for Claude Desktop automatically via [Smithery](https://smithery.ai/server/@browserbasehq/mcp-browserbase): + +```bash +npx -y @smithery/cli install @browserbasehq/mcp-browserbase --client claude +``` + +### Manual Installation + 1. Run `npm install` to install the necessary dependencies, then run `npm run build` to get `dist/index.js`. 2. Set up your Claude Desktop configuration to use the server. @@ -31,7 +43,6 @@ demo

- ## Tools ### Browserbase API diff --git a/browserbase/smithery.yaml b/browserbase/smithery.yaml new file mode 100644 index 0000000..6e4826c --- /dev/null +++ b/browserbase/smithery.yaml @@ -0,0 +1,21 @@ +# 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: + - browserbaseApiKey + - browserbaseProjectId + properties: + browserbaseApiKey: + type: string + description: The API key for Browserbase. + browserbaseProjectId: + type: string + description: The project ID for Browserbase. + commandFunction: + # A function that produces the CLI command to start the MCP on stdio. + |- + config => ({command: 'node', args: ['dist/index.js'], env: {BROWSERBASE_API_KEY: config.browserbaseApiKey, BROWSERBASE_PROJECT_ID: config.browserbaseProjectId}}) \ No newline at end of file