Compare commits

...

4 Commits

Author SHA1 Message Date
Pavel Feldman
075397e57e chore: mark v0.0.54 (#1285) 2025-12-29 11:02:27 -08:00
Yury Semikhatsky
e8b471ec60 chore: roll 1.58.0-alpha-2025-12-29 (#1287) 2025-12-29 09:55:46 -08:00
Muhammad Salman
c806df7b13 docs: point to monorepo for the source code (#1282) 2025-12-26 18:10:02 -08:00
Yury Semikhatsky
a0b4ffbe15 chore(extensions): allow connections only from 127.0.0.1 (#1275)
Requires https://github.com/microsoft/playwright/pull/38626
2025-12-19 18:42:34 -08:00
8 changed files with 39 additions and 29 deletions

View File

@@ -8,12 +8,12 @@
"source": "github" "source": "github"
}, },
"websiteUrl": "https://github.com/microsoft/playwright-mcp", "websiteUrl": "https://github.com/microsoft/playwright-mcp",
"version": "0.0.53", "version": "0.0.54",
"packages": [ "packages": [
{ {
"registryType": "npm", "registryType": "npm",
"identifier": "@playwright/mcp", "identifier": "@playwright/mcp",
"version": "0.0.53", "version": "0.0.54",
"transport": { "transport": {
"type": "stdio" "type": "stdio"
} }

View File

@@ -1,7 +1,7 @@
{ {
"manifest_version": 3, "manifest_version": 3,
"name": "Playwright MCP Bridge", "name": "Playwright MCP Bridge",
"version": "0.0.53", "version": "0.0.54",
"description": "Share browser tabs with Playwright MCP server", "description": "Share browser tabs with Playwright MCP server",
"key": "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA9nMS2b0WCohjVHPGb8D9qAdkbIngDqoAjTeSccHJijgcONejge+OJxOQOMLu7b0ovt1c9BiEJa5JcpM+EHFVGL1vluBxK71zmBy1m2f9vZF3HG0LSCp7YRkum9rAIEthDwbkxx6XTvpmAY5rjFa/NON6b9Hlbo+8peUSkoOK7HTwYnnI36asZ9eUTiveIf+DMPLojW2UX33vDWG2UKvMVDewzclb4+uLxAYshY7Mx8we/b44xu+Anb/EBLKjOPk9Yh541xJ5Ozc8EiP/5yxOp9c/lRiYUHaRW+4r0HKZyFt0eZ52ti2iM4Nfk7jRXR7an3JPsUIf5deC/1cVM/+1ZQIDAQAB", "key": "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA9nMS2b0WCohjVHPGb8D9qAdkbIngDqoAjTeSccHJijgcONejge+OJxOQOMLu7b0ovt1c9BiEJa5JcpM+EHFVGL1vluBxK71zmBy1m2f9vZF3HG0LSCp7YRkum9rAIEthDwbkxx6XTvpmAY5rjFa/NON6b9Hlbo+8peUSkoOK7HTwYnnI36asZ9eUTiveIf+DMPLojW2UX33vDWG2UKvMVDewzclb4+uLxAYshY7Mx8we/b44xu+Anb/EBLKjOPk9Yh541xJ5Ozc8EiP/5yxOp9c/lRiYUHaRW+4r0HKZyFt0eZ52ti2iM4Nfk7jRXR7an3JPsUIf5deC/1cVM/+1ZQIDAQAB",
"permissions": [ "permissions": [

View File

@@ -1,12 +1,12 @@
{ {
"name": "@playwright/mcp-extension", "name": "@playwright/mcp-extension",
"version": "0.0.53", "version": "0.0.54",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "@playwright/mcp-extension", "name": "@playwright/mcp-extension",
"version": "0.0.53", "version": "0.0.54",
"license": "Apache-2.0", "license": "Apache-2.0",
"devDependencies": { "devDependencies": {
"@types/chrome": "^0.0.315", "@types/chrome": "^0.0.315",

View File

@@ -1,6 +1,6 @@
{ {
"name": "@playwright/mcp-extension", "name": "@playwright/mcp-extension",
"version": "0.0.53", "version": "0.0.54",
"description": "Playwright MCP Browser Extension", "description": "Playwright MCP Browser Extension",
"private": true, "private": true,
"repository": { "repository": {

View File

@@ -44,8 +44,18 @@ const ConnectApp: React.FC = () => {
const relayUrl = params.get('mcpRelayUrl'); const relayUrl = params.get('mcpRelayUrl');
if (!relayUrl) { if (!relayUrl) {
setShowButtons(false); handleReject('Missing mcpRelayUrl parameter in URL.');
setStatus({ type: 'error', message: 'Missing mcpRelayUrl parameter in URL.' }); return;
}
try {
const host = new URL(relayUrl).hostname;
if (host !== '127.0.0.1' && host !== '[::1]') {
handleReject(`MCP extension only allows loopback connections (127.0.0.1 or [::1]). Received host: ${host}`);
return;
}
} catch (e) {
handleReject(`Invalid mcpRelayUrl parameter in URL: ${relayUrl}. ${e}`);
return; return;
} }

32
package-lock.json generated
View File

@@ -1,23 +1,23 @@
{ {
"name": "@playwright/mcp", "name": "@playwright/mcp",
"version": "0.0.53", "version": "0.0.54",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "@playwright/mcp", "name": "@playwright/mcp",
"version": "0.0.53", "version": "0.0.54",
"license": "Apache-2.0", "license": "Apache-2.0",
"dependencies": { "dependencies": {
"playwright": "1.58.0-alpha-1766189059000", "playwright": "1.58.0-alpha-2025-12-29",
"playwright-core": "1.58.0-alpha-1766189059000" "playwright-core": "1.58.0-alpha-2025-12-29"
}, },
"bin": { "bin": {
"mcp-server-playwright": "cli.js" "mcp-server-playwright": "cli.js"
}, },
"devDependencies": { "devDependencies": {
"@modelcontextprotocol/sdk": "^1.24.0", "@modelcontextprotocol/sdk": "^1.24.0",
"@playwright/test": "1.58.0-alpha-1766189059000", "@playwright/test": "1.58.0-alpha-2025-12-29",
"@types/node": "^24.3.0" "@types/node": "^24.3.0"
}, },
"engines": { "engines": {
@@ -63,13 +63,13 @@
} }
}, },
"node_modules/@playwright/test": { "node_modules/@playwright/test": {
"version": "1.58.0-alpha-1766189059000", "version": "1.58.0-alpha-2025-12-29",
"resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.58.0-alpha-1766189059000.tgz", "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.58.0-alpha-2025-12-29.tgz",
"integrity": "sha512-op1/OXuSTm7H0v0vpGtWjLylW3fchuX9TZAPvR+m2QrVKMrqfu17Bzu/l5eMCvIGyJfNqe7JTZuB2Jou9v1EDg==", "integrity": "sha512-Vi27K0RcCTyiFDnXRfSm2RXQRYcqobva63SkOdslgfSXL+9TA9umZfMNUPxgTzOgXhUu40OghvXeL8ZgBzJZmg==",
"dev": true, "dev": true,
"license": "Apache-2.0", "license": "Apache-2.0",
"dependencies": { "dependencies": {
"playwright": "1.58.0-alpha-1766189059000" "playwright": "1.58.0-alpha-2025-12-29"
}, },
"bin": { "bin": {
"playwright": "cli.js" "playwright": "cli.js"
@@ -884,12 +884,12 @@
} }
}, },
"node_modules/playwright": { "node_modules/playwright": {
"version": "1.58.0-alpha-1766189059000", "version": "1.58.0-alpha-2025-12-29",
"resolved": "https://registry.npmjs.org/playwright/-/playwright-1.58.0-alpha-1766189059000.tgz", "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.58.0-alpha-2025-12-29.tgz",
"integrity": "sha512-h6yaIbcmyla/fh9jvvRBgVRMgwSmloKnCR4NDnVV18vqi1i5F4xqe3tGtgwHmkah9CJdQhhbZlTBIkY73q6+Xw==", "integrity": "sha512-syUV2eOFrAxG7LKAxI0KeLrwakifVD8Q/a+9uQZqEX7GxPhySHMnZ9wwq1YFco6tztDfWz9//vcCgN/e0wBb7A==",
"license": "Apache-2.0", "license": "Apache-2.0",
"dependencies": { "dependencies": {
"playwright-core": "1.58.0-alpha-1766189059000" "playwright-core": "1.58.0-alpha-2025-12-29"
}, },
"bin": { "bin": {
"playwright": "cli.js" "playwright": "cli.js"
@@ -902,9 +902,9 @@
} }
}, },
"node_modules/playwright-core": { "node_modules/playwright-core": {
"version": "1.58.0-alpha-1766189059000", "version": "1.58.0-alpha-2025-12-29",
"resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.58.0-alpha-1766189059000.tgz", "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.58.0-alpha-2025-12-29.tgz",
"integrity": "sha512-TzOav4UONfbqB0U1I75RrcvOGdJ1icVam2/lje1Lok/D9lX9iJjBLGB4FqNgFqaIgeOqI1hpHY8nMfA82JqJtg==", "integrity": "sha512-nxeyVkzX5EXxOaQFTvS4N6fSzsod06A5CMLOBjsCMUGZkmJF6HO4OXkoSTw6ONsgAzIwqas5DdTDO6QXZbFm1A==",
"license": "Apache-2.0", "license": "Apache-2.0",
"bin": { "bin": {
"playwright-core": "cli.js" "playwright-core": "cli.js"

View File

@@ -1,6 +1,6 @@
{ {
"name": "@playwright/mcp", "name": "@playwright/mcp",
"version": "0.0.53", "version": "0.0.54",
"description": "Playwright Tools for MCP", "description": "Playwright Tools for MCP",
"mcpName": "com.microsoft/playwright-mcp", "mcpName": "com.microsoft/playwright-mcp",
"repository": { "repository": {
@@ -38,15 +38,15 @@
} }
}, },
"dependencies": { "dependencies": {
"playwright": "1.58.0-alpha-1766189059000", "playwright": "1.58.0-alpha-2025-12-29",
"playwright-core": "1.58.0-alpha-1766189059000" "playwright-core": "1.58.0-alpha-2025-12-29"
}, },
"bin": { "bin": {
"mcp-server-playwright": "cli.js" "mcp-server-playwright": "cli.js"
}, },
"devDependencies": { "devDependencies": {
"@modelcontextprotocol/sdk": "^1.24.0", "@modelcontextprotocol/sdk": "^1.24.0",
"@playwright/test": "1.58.0-alpha-1766189059000", "@playwright/test": "1.58.0-alpha-2025-12-29",
"@types/node": "^24.3.0" "@types/node": "^24.3.0"
} }
} }

View File

@@ -1,3 +1,3 @@
# Where is the source? # Where is the source?
Playwright MCP source code is located in the Playwright monorepo. Please refer to the contributor's guide in [CONTRIBUTING.md](../CONTRIBUTING.md) for more details. Playwright MCP source code is located in the [Playwright monorepo](https://github.com/microsoft/playwright/blob/main/packages/playwright/src/mcp). Please refer to the contributor's guide in [CONTRIBUTING.md](../CONTRIBUTING.md) for more details.