[{"data":1,"prerenderedAt":363},["ShallowReactive",2],{"blog-article-/blog/testing-logged-in-state-playwright-mcp-browser-extension":3,"blog-surround-/blog/testing-logged-in-state-playwright-mcp-browser-extension":354},{"id":4,"title":5,"body":6,"canonical":338,"date":339,"description":340,"extension":341,"featured":342,"image":343,"meta":344,"navigation":325,"ogImage":343,"path":345,"provider":343,"published":325,"seo":346,"stem":347,"tags":348,"url":343,"__hash__":353},"blog/blog/testing-logged-in-state-playwright-mcp-browser-extension.md","Testing in a Logged-In State with the Playwright MCP Browser Extension",{"type":7,"value":8,"toc":330},"minimark",[9,13,25,30,33,49,52,55,59,66,106,113,117,120,135,221,227,230,234,237,248,255,266,269,273,276,295,301,305,313,316,326],[10,11,12],"p",{},"If you've ever needed to test an application that requires authentication, you know the pain: logging in every time or, worse, handing over your credentials to an LLM.",[10,14,15,16,20,21,24],{},"With the new ",[17,18,19],"strong",{},"Playwright MCP Browser Extension"," for Chrome and Edge, that's no longer necessary. You can now launch the MCP server against an ",[17,22,23],{},"existing browser profile"," — one that's already logged in — and test your app.",[26,27,29],"h2",{"id":28},"why-this-matters-for-testers","Why This Matters for Testers",[10,31,32],{},"Previously, using the Playwright MCP server meant:",[34,35,36,43,46],"ul",{},[37,38,39,40],"li",{},"Starting from a ",[17,41,42],{},"clean browser state",[37,44,45],{},"Manually logging in every time",[37,47,48],{},"Or passing credentials into the LLM (not ideal for security!)",[10,50,51],{},"Now, you can:\n✅ Reuse a browser profile you already use for testing\n✅ Start directly in a logged-in session\n✅ Run Playwright MCP commands in that context",[10,53,54],{},"This opens up more realistic testing workflows for QA engineers, especially when working with enterprise apps that live behind authentication.",[26,56,58],{"id":57},"installing-the-playwright-mcp-browser-extension","Installing the Playwright MCP Browser Extension",[10,60,61,62,65],{},"The extension is available for ",[17,63,64],{},"Chrome, Edge, or any Chromium-based browser",".",[34,67,68,78,81,93,99],{},[37,69,70,71,65],{},"Download the ",[72,73,77],"a",{"href":74,"rel":75},"https://github.com/microsoft/playwright-mcp/blob/main/extension/README.md",[76],"nofollow","Playwright MCP extension",[37,79,80],{},"Unzip the file.",[37,82,83,84,88,89,92],{},"Open ",[85,86,87],"code",{},"chrome://extensions"," or ",[85,90,91],{},"edge://extensions"," in your browser.",[37,94,95,96,65],{},"Enable ",[17,97,98],{},"Developer Mode",[37,100,101,102,105],{},"Click ",[17,103,104],{},"Load unpacked"," and select the extension folder.",[10,107,108,109,112],{},"You'll now see the ",[17,110,111],{},"Playwright MCP Bridge"," in your extensions list.",[26,114,116],{"id":115},"configuring-the-mcp-server","Configuring the MCP Server",[10,118,119],{},"Next, configure your Playwright MCP server to use the extension.",[34,121,122,125,132],{},[37,123,124],{},"In VS Code, go to the MCP server settings.",[37,126,127,128,131],{},"Add the ",[85,129,130],{},"--extension"," flag to enable extension support.",[37,133,134],{},"If you don't have the Playwright MCP extension installed yet, you can do so directly from VS Code.",[136,137,142],"pre",{"className":138,"code":139,"language":140,"meta":141,"style":141},"language-json shiki shiki-themes github-light github-dark","\"playwright\": {\n  \"type\": \"stdio\",\n  \"command\": \"npx\",\n  \"args\": [\n    \"@playwright/mcp@latest\",\n    \"--extension\"\n  ],\n},\n","json","",[85,143,144,157,173,186,195,203,209,215],{"__ignoreMap":141},[145,146,149,153],"span",{"class":147,"line":148},"line",1,[145,150,152],{"class":151},"sZZnC","\"playwright\"",[145,154,156],{"class":155},"sVt8B",": {\n",[145,158,160,164,167,170],{"class":147,"line":159},2,[145,161,163],{"class":162},"sj4cs","  \"type\"",[145,165,166],{"class":155},": ",[145,168,169],{"class":151},"\"stdio\"",[145,171,172],{"class":155},",\n",[145,174,176,179,181,184],{"class":147,"line":175},3,[145,177,178],{"class":162},"  \"command\"",[145,180,166],{"class":155},[145,182,183],{"class":151},"\"npx\"",[145,185,172],{"class":155},[145,187,189,192],{"class":147,"line":188},4,[145,190,191],{"class":162},"  \"args\"",[145,193,194],{"class":155},": [\n",[145,196,198,201],{"class":147,"line":197},5,[145,199,200],{"class":151},"    \"@playwright/mcp@latest\"",[145,202,172],{"class":155},[145,204,206],{"class":147,"line":205},6,[145,207,208],{"class":151},"    \"--extension\"\n",[145,210,212],{"class":147,"line":211},7,[145,213,214],{"class":155},"  ],\n",[145,216,218],{"class":147,"line":217},8,[145,219,220],{"class":155},"},\n",[10,222,223,226],{},[17,224,225],{},"Tip",": In VS Code from the extensions tab you can install Playwright MCP server and then use the gear icon to choose the \"show configuration JSON\" option to easily add \"--extension\".",[10,228,229],{},"That's it — your MCP server is now aware of the extension.",[26,231,233],{"id":232},"testing-on-a-logged-in-profile","Testing on a Logged-In Profile",[10,235,236],{},"Here's the exciting part:",[34,238,239,242,245],{},[37,240,241],{},"Open your browser on the profile you want to use and login to the site you want to test (e.g. GitHub).",[37,243,244],{},"Start your MCP server and ask it to Navigate to a site.",[37,246,247],{},"Choose the tab you want the MCP Server to connect to.",[10,249,250,251,254],{},"From there, you can instruct Copilot in Agent mode to interact with your app in a ",[17,252,253],{},"logged-in state",". For example:",[34,256,257,260,263],{},[37,258,259],{},"Navigating to your profile page",[37,261,262],{},"Changing account settings",[37,264,265],{},"Generating tests for authenticated user flows",[10,267,268],{},"In my demo, I updated GitHub profile pronouns — and MCP handled it seamlessly from the logged-in session.",[26,270,272],{"id":271},"why-this-is-a-game-changer","Why This is a Game-Changer",[10,274,275],{},"This extension makes it possible to:",[34,277,278,285,288],{},[37,279,280,281,284],{},"Test ",[17,282,283],{},"real user sessions"," without worrying about logging-in",[37,286,287],{},"Run automation against enterprise apps that require authentication",[37,289,290,291,294],{},"Keep your login credentials ",[17,292,293],{},"safe"," by staying within your own profile",[10,296,297,298,65],{},"For testers, this means ",[17,299,300],{},"faster setup, more realistic tests, and improved security",[26,302,304],{"id":303},"get-started","Get Started",[10,306,307,308,312],{},"👉 Check out the ",[72,309,311],{"href":74,"rel":310},[76],"Playwright MCP Browser Extension docs"," and try it out for yourself.",[10,314,315],{},"I'd love to hear how you use logged-in profiles in your testing workflows. Drop a comment and share your scenarios!",[317,318],"iframe",{"width":319,"height":320,"src":321,"title":322,"frameBorder":323,"allow":324,"allowFullScreen":325},560,315,"https://www.youtube.com/embed/uE0r51pneSA","YouTube video player","0","accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",true,[327,328,329],"style",{},"html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":141,"searchDepth":159,"depth":159,"links":331},[332,333,334,335,336,337],{"id":28,"depth":159,"text":29},{"id":57,"depth":159,"text":58},{"id":115,"depth":159,"text":116},{"id":232,"depth":159,"text":233},{"id":271,"depth":159,"text":272},{"id":303,"depth":159,"text":304},"https://dev.to/debs_obrien/testing-in-a-logged-in-state-with-the-playwright-mcp-browser-extension-4cmg","2025-08-21","If you've ever needed to test an application that requires authentication, you know the pain of logging in every time or, worse, handing over your credentials to an LLM. With the new Playwright MCP Browser Extension for Chrome and Edge, that's no longer necessary.","md",false,null,{},"/blog/testing-logged-in-state-playwright-mcp-browser-extension",{"title":5,"description":340},"blog/testing-logged-in-state-playwright-mcp-browser-extension",[349,350,351,352],"playwright","mcp","testing","ai","qX9h5q9CAGSjIde80L_G8OxRnB6gLl8CMOt6G4fuBK4",[355,359],{"title":356,"path":357,"stem":358,"children":-1},"Laid off from my dream job, what now?","/blog/laid-off-what-now","blog/laid-off-what-now",{"title":360,"path":361,"stem":362,"children":-1},"Automating Form Submissions with Playwright MCP and a Prompt file","/blog/automating-form-submissions-with-playwright-mcp-and-a-prompt-file","blog/automating-form-submissions-with-playwright-mcp-and-a-prompt-file",1790839746278]