Skip to main content
Glama

BrowserLoop

by mattiasw
package.json5.2 kB
{ "name": "browserloop", "version": "1.1.1", "description": "A Model Context Protocol server for taking screenshots of web pages using Playwright", "main": "dist/src/index.js", "type": "module", "bin": { "browserloop": "dist/src/index.js" }, "files": [ "dist/src/**/*", "README.md", "LICENSE", "NOTICE" ], "publishConfig": { "access": "public", "registry": "https://registry.npmjs.org/" }, "repository": { "type": "git", "url": "git+https://github.com/mattiasw/browserloop.git" }, "homepage": "https://github.com/mattiasw/browserloop#readme", "bugs": { "url": "https://github.com/mattiasw/browserloop/issues" }, "scripts": { "build": "tsc", "prebuild": "npm run clean", "prepublishOnly": "npm run build", "prepack": "npm run build", "start": "npm run build && node dist/src/index.js", "start:ts": "node --experimental-strip-types src/index.ts", "start:native": "node src/index.ts", "dev": "tsc --watch", "dev:ts": "node --experimental-strip-types --watch src/index.ts", "check-node": "node check-node.js", "install-browsers": "npx playwright install chromium", "test": "npm run build && npm run test:unit:dist && npm run test:integration:dist && npm run test:e2e:dist", "test:unit": "npm run build && node --test dist/tests/unit/*.js", "test:unit:dist": "node --test dist/tests/unit/*.js", "test:integration": "npm run build && node --test dist/tests/integration/*.js", "test:integration:dist": "node --test dist/tests/integration/*.js", "test:e2e": "npm run build && node --test dist/tests/e2e/*.js", "test:e2e:dist": "node --test dist/tests/e2e/*.js", "test:e2e:full": "npm run build && node --test dist/tests/e2e/full-page-screenshots.test.js", "test:e2e:element": "npm run build && node --test dist/tests/e2e/element-screenshots.test.js", "test:e2e:format": "npm run build && node --test dist/tests/e2e/format-support.test.js", "test:e2e:built": "npm run build && node --test dist/tests/e2e/built-server.test.js", "test:e2e:npx": "npm run build && node --test dist/tests/e2e/npx-workflow.test.js", "test:e2e:docker": "npm run build && node --test dist/tests/e2e/docker-integration.test.js", "test:all": "npm run test", "test:watch": "tsc --watch &", "test:ts": "npm run test:unit:ts && npm run test:integration:ts", "test:unit:ts": "node --experimental-strip-types --test tests/unit/test-utils.test.ts tests/unit/screenshot-service.test.ts tests/unit/config.test.ts", "test:integration:ts": "node --experimental-strip-types --test tests/integration/mcp-server.test.ts", "test:performance": "npm run build && node --test dist/tests/performance/benchmark.test.js", "docker:build": "docker build -f docker/Dockerfile -t browserloop .", "docker:run": "docker run --rm --network host browserloop", "docker:dev": "docker-compose -f docker/docker-compose.yml up --build", "docker:dev:logs": "cd docker && docker compose logs -f", "docker:dev:stop": "cd docker && docker compose down", "docker:dev:shell": "docker exec -it browserloop-dev /bin/bash", "docker:test": "docker run --rm -it browserloop", "docker:test:stop": "cd docker && docker compose --profile testing down", "lint": "biome lint --error-on-warnings --write src/ tests/", "lint:check": "biome lint --error-on-warnings src/ tests/", "format": "biome format --write src/ tests/", "format:check": "biome format src/ tests/", "check": "biome check --write src/", "clean": "rm -rf dist", "build:clean": "npm run clean && npm run build", "validate:build": "npm run build && test -f dist/src/index.js && test -f dist/src/index.d.ts", "validate:security": "npm run build && find dist -name '*.env*' -o -name '*.key' -o -name '*.secret' | wc -l | grep -q '^0$' && echo 'Security validation: PASSED'", "validate:package": "npm run validate:build && npm run validate:security && echo 'Package validation: PASSED'", "version:patch": "npm version patch && git push && git push --tags", "version:minor": "npm version minor && git push && git push --tags", "version:major": "npm version major && git push && git push --tags", "release": "./scripts/release.sh", "release:check": "./scripts/release.sh check", "prepare": "husky" }, "lint-staged": { "*.{ts,js}": [ "biome lint --error-on-warnings --write", "biome format --write" ] }, "keywords": [ "mcp", "model-context-protocol", "playwright", "screenshot", "automation", "ai-tools", "development", "testing", "browser", "typescript" ], "author": "Mattias Wallander <mattias@wallander.eu>", "license": "AGPL-3.0-or-later", "engines": { "node": ">=20.0.0" }, "dependencies": { "@modelcontextprotocol/sdk": "^1.18.1", "@types/sharp": "^0.32.0", "playwright": "^1.55.0", "sharp": "^0.34.4", "zod": "^3.25.76" }, "devDependencies": { "@biomejs/biome": "^2.2.4", "@types/assert": "^1.5.11", "@types/node": "^24.5.2", "husky": "^9.1.7", "lint-staged": "^16.2.0", "typescript": "^5.9.2" } }

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mattiasw/browserloop'

If you have feedback or need assistance with the MCP directory API, please join our Discord server