diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..cac5bb4 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,20 @@ +# Generated by https://smithery.ai. See: https://smithery.ai/docs/config#dockerfile +FROM node:lts-alpine + +# Set working directory +WORKDIR /app + +# Copy package files and install dependencies +COPY package*.json ./ +RUN npm install --ignore-scripts + +# Copy the remaining application code +COPY . . + +# Build the TypeScript code +RUN npm run build + +# Expose port if needed (not specified for MCP) + +# Default command to run the MCP server +CMD [ "node", "dist/index.js" ] diff --git a/README.md b/README.md index b68c43f..ff86701 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ # BrowserCat MCP Server +[![smithery badge](https://smithery.ai/badge/@browsercat/browsercat-mcp-server)](https://smithery.ai/server/@browsercat/browsercat-mcp-server) + A Model Context Protocol server that provides browser automation capabilities using BrowserCat's cloud browser service. This server enables LLMs to interact with web pages, take screenshots, and execute JavaScript in a real browser environment without needing to install browsers locally. ## Components diff --git a/smithery.yaml b/smithery.yaml new file mode 100644 index 0000000..2cd12e2 --- /dev/null +++ b/smithery.yaml @@ -0,0 +1,25 @@ +# 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: + - browsercatApiKey + properties: + browsercatApiKey: + type: string + description: Your BrowserCat API key to access the BrowserCat cloud browser service. + 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'], + env: { + BROWSERCAT_API_KEY: config.browsercatApiKey + } + }) + exampleConfig: + browsercatApiKey: your-api-key-here