{ "stable": true, "versions": { "0.0.75": { "manifest": { "id": "io.benneic.playwrightmcp", "title": "Playwright MCP", "author": "Ben Neic ", "tagline": "Remote Playwright browser automation for MCP agents over HTTP", "version": "0.0.75", "website": "https://github.com/benneic/cloudron-playwright-mcp", "contactEmail": "ben@benneic.com", "iconUrl": "https://raw.githubusercontent.com/benneic/cloudron-playwright-mcp/main/media/logo.svg", "packagerName": "Ben Neic", "packagerUrl": "https://github.com/benneic", "tags": [ "automation", "ai", "mcp" ], "mediaLinks": [ "https://raw.githubusercontent.com/benneic/cloudron-playwright-mcp/main/media/logo.svg" ], "description": "# Playwright MCP for Cloudron\n\nSelf-host [Microsoft Playwright MCP](https://playwright.dev/mcp/) on your Cloudron server so remote AI agents can automate a headless Chromium browser over the Model Context Protocol (HTTP).\n\n## Features\n\n- Streamable HTTP MCP at `/mcp` (TLS terminated by Cloudron)\n- Bearer API token generated on first start; retrieve via Cloudron File Manager (`/app/data/api-token`)\n- Accessibility snapshots, screenshots, navigation, forms, network mocking, and more\n- No LLM required on the server — your agent supplies the intelligence\n- Persistent API token and browser output under `/app/data`\n\n## Requirements\n\n- Cloudron 9.1.0 or newer\n- At least 2 GB memory for the app (configured in the manifest)\n\n## Upstream\n\nBrowser automation is provided by [`@playwright/mcp`](https://www.npmjs.com/package/@playwright/mcp). This package is a thin Cloudron wrapper (nginx auth + process supervision).\n", "changelog": "* Initial release packaging @playwright/mcp 0.0.75\n* Add hosted logo for Cloudron catalog mediaLinks requirement\n* Fix nginx temp paths on Cloudron read-only filesystem (/run/nginx)\n* Remove public /admin page; document token retrieval via File Manager and checklist\n* HTTP MCP on port 8000 with Bearer token auth\n* Admin page at /admin for connection details", "postInstallMessage": "# Playwright MCP is installed\n\n## Get your API token\n\nThe Bearer token is **not** exposed on a public web page. Retrieve it using Cloudron admin tools only:\n\n**File Manager** (recommended)\n\n1. Open this app in the Cloudron dashboard.\n2. Open **Console** → **File Manager**.\n3. Open `/app/data/api-token` and copy the token (single line, no spaces).\n\n**Shell**\n\n```bash\ncloudron exec --app $CLOUDRON-APP-FQDN -- cat /app/data/api-token\n```\n\n## MCP endpoint\n\n`$CLOUDRON-APP-ORIGIN/mcp`\n\n## Client configuration\n\n```json\n{\n \"mcpServers\": {\n \"playwright\": {\n \"url\": \"$CLOUDRON-APP-ORIGIN/mcp\",\n \"headers\": {\n \"Authorization\": \"Bearer YOUR_API_TOKEN\"\n }\n }\n }\n}\n```\n\n## Environment variables\n\nCloudron cannot display auto-generated secrets from inside the container in the **Environment** UI. The token lives in `/app/data/api-token` only. You may optionally copy it into a custom env var for your own reference; the app does not read env vars for authentication.\n\n## Security\n\nThis app can browse arbitrary websites and execute page scripts. Treat the API token like a password.\n", "healthCheckPath": "/health", "httpPort": 8000, "memoryLimit": 2147483648, "checklist": { "api_token": { "message": "Copy the MCP API token from /app/data/api-token using Console → File Manager, or: cloudron exec --app -- cat /app/data/api-token. MCP URL: $CLOUDRON-APP-ORIGIN/mcp", "sso": false } }, "minBoxVersion": "9.1.0", "addons": { "localstorage": {} }, "manifestVersion": 2, "dockerImage": "ghcr.io/benneic/cloudron-playwright-mcp:0.0.75@sha256:857b9295981cc9c31d6ef573382d63d2b744c3c9f9c4c96e6f4d2bee6d2f3ed7" }, "creationDate": "Tue, 19 May 2026 23:28:40 GMT", "ts": "Wed, 20 May 2026 23:10:26 GMT", "publishState": "published" } } }