Forum Widgets
Latest Discussions
Looking for Guidance: Improving Playwright MCP Runbook Replay Reliability
Hi everyone, We are building an AI-powered browser automation agent using Playwright MCP, and we have implemented a runbook/replay mechanism to reduce repeated reasoning and improve navigation performance. Current Architecture Our setup currently looks like this: AI Agent (Client) – Hosted on Azure Container Apps Playwright MCP Server – Hosted on Azure Container Apps Chrome Extension – Running in the user's browser The Chrome Extension maintains a webhook connection with the Playwright MCP relay/server. The MCP server generates Chrome DevTools Protocol (CDP) commands, which are executed by the Chrome Extension in the user's browser. Runbook Functionality When the agent needs to navigate to a particular page, it normally performs multiple browser actions such as: browser_navigate browser_snapshot browser_click browser_type Other Playwright MCP tools During the first successful execution, we record the tool calls and their parameters used by the agent to reach the desired page. We store these actions as a runbook. For subsequent requests requiring navigation to the same destination, instead of asking the AI agent to reason through the navigation steps again, we directly replay the stored runbook. First execution User Request ↓ Agent Reasoning ↓ MCP Tools ↓ Browser ↓ Desired Page Example recorded sequence: browser_navigate → browser_snapshot → browser_click → browser_snapshot → browser_type ... Subsequent execution User Request ↓ Runbook Replay ↓ MCP Tools ↓ Browser ↓ Desired Page This significantly reduces latency, token usage, and unnecessary LLM reasoning. Example Runbook Step { "tool": "browser_click", "args": { "target": "e140", "element": "Earn credentials link" }, "a11y": { "role": "link", "name": "Earn credentials", "index": 0, "text": "Earn credentials", "textIndex": 0, "path": "generic/list/listitem/article/generic/generic", "url": "https://learn.microsoft.com/en-us/" }, "pageUrl": "https://learn.microsoft.com/en-us/", "timestamp": "2026-07-30T10:24:04.374Z" } For each recorded action, we persist information such as: MCP tool name Tool parameters Snapshot reference Accessibility role Accessibility name Element text Element index Text index Accessibility-tree path Page URL Other relevant metadata The Problem The main challenge is runbook replay reliability. A runbook contains references obtained from a previous browser_snapshot. During replay, the page may have: Slightly different DOM structure Timing differences Dynamic content Accessibility-tree changes As a result, a previously recorded snapshot reference may no longer match the current page. For example, a recorded action may effectively be: browser_click(ref="some_snapshot_ref") During replay, that reference may no longer exist or may resolve to a different element because the current snapshot has changed. This causes intermittent failures in operations such as: browser_click browser_type Other element interactions Current Status We have improved the replay mechanism and currently achieve approximately 90% replay success. The remaining ~10% failures are difficult because they are often nondeterministic. The same runbook can succeed or fail depending on the current browser or page state. Questions We would appreciate advice from anyone with experience using Playwright MCP or building production browser automation systems. What is the recommended way to make Playwright MCP tool calls more resilient to changes in snapshot or accessibility-tree references? Is relying on snapshot ref values fundamentally unreliable for replay? Should we instead store a different representation of the target element? If so, what additional information would you recommend storing for each interaction? What is the best strategy for re-resolving an element when the original snapshot reference is no longer valid instead of failing the entire runbook? Are there Playwright MCP capabilities or recommended patterns that specifically address dynamic pages and changing accessibility trees? For a production-grade browser automation agent, what architecture or strategy would you recommend to achieve >99% replay reliability? Our goal is not to eliminate dynamic behavior from websites, but to make the runbook intelligent enough to recover when previously recorded element references become invalid. Any architectural recommendations, implementation patterns, or examples from production systems would be greatly appreciated. Thank you!shobhit-vishwakarmaJul 31, 2026Copper Contributor18Views0likes0CommentsPlaywright MCP browser context is lost after 8-12 minutes of idle time.
Hi Everyone, I'm building an AI agent that uses Playwright MCP to control a browser, and I'm running into an issue where the browser context is lost after the agent remains idle for a while. Architecture My current setup looks like this: AI Agent (Client) hosted on Azure Container Apps Playwright MCP Server hosted on Azure Container Apps Chrome Extension running in the user's browser The extension maintains a webhook connection to the Playwright MCP relay/server. The MCP server generates Chrome DevTools Protocol (CDP) commands, which are executed by the Chrome Extension in the user's browser. This allows the browser to continue running on the user's machine while the agent and MCP server are hosted remotely. Issue Everything works as expected while the agent is actively interacting with the browser. However, if the agent stays idle for around 8–12 minutes, the next request fails with an agent response that the browser context is lost (or the context/browser is no longer available). If I ask the agent to retry, it invokes the browser_close tool and creates a new browser session. While this allows execution to continue, it completely loses the previous browser state, including: Current page Navigation history Login/session state tied to that browser context Any work already completed in the existing session Ideally, I want the existing browser session and context to remain usable even after periods of inactivity. Questions Is there any idle timeout in Playwright MCP or its browser context management that could explain this behavior? Could this be related to the CDP connection between the Chrome Extension and the MCP server being dropped after inactivity? Are there recommended keep-alive or heartbeat mechanisms for long-lived browser sessions? Has anyone successfully maintained browser contexts for extended idle periods (30+ minutes or longer)? Is there a recommended pattern for reconnecting to an existing browser context instead of creating a new one when the connection is interrupted? Environment Playwright MCP Server hosted on Azure Container Apps AI Agent hosted on Azure Container Apps Chrome Extension executing CDP commands in the user's local Chrome browser Communication between the agent, MCP server, and extension over the network I'd appreciate any guidance on where to investigate this issue or best practices for maintaining persistent browser contexts in this kind of architecture. If anyone has encountered a similar problem, I'd be interested in hearing how you resolved it. Thanks in advance!shobhit-vishwakarmaJul 31, 2026Copper Contributor7Views0likes0CommentsUnable to follow the Viva Glint Blog
This post was originally submitted as a question in MS Learn on July 2 and I was advised to move it to the tech community. Hi MS team, I continue to click "Follow" on the Viva Glint blog to ensure I receive release updates but then get automatically set to not follow. https://techcommunity.microsoft.com/category/Viva-Glint For the second time, I am being automatically set to not follow. I checked with my admin team (there are 4 of us) and this is not an individual/isolated incident. They are also being automatically set to unfollow the Viva Glint blog. Please see screenshots attached from myself and my manager. We should be seeing the button as "Unfollow" indicating that we are following, instead it is showing "Follow" indicating that we are not following. I have opened an MS ticket about this already and was directed to contact the Microsoft Tech Community platform team. I followed the Glint blog back on 4/9/2026 and then was set to unfollow. I followed again at the beginning of June (maybe on 6/4/2026) and I was set to unfollow again. I did receive one "Microsoft Community Hub Weekly Digest" email on 6/7/2026 so I must have still been following then but I have not received any communications before or after. Can you please provide an explanation and a solution? We need to receive email notifications about updates and releases. Following the blog should be a reliable process. As of today, 7/28/2026, I am still following the Glint blog which is great but how do I know I won't be automatically set to "unfollow" a third time?VK_SymJul 29, 2026Copper Contributor21Views0likes1Comment"In Review" means what? Can't message Allen"
I am a VM in Q&A (Office) and have been a participant here in the Word Community for some time. Recently I've notice the tag "In Review" on my posts. Here is an example: https://techcommunity.microsoft.com/discussions/word/dynamic-pages-in-mail-merge/4531584/ What does this mean? Am I doing something wrong? I tried to send a message to Allen but do not believe it went through. When I click on "Send Message" it seems to be processing and then "Send Message" comes back active. When I checked in my profile under sent messages, nothing shows up for this. Thanks in advance. Charles KenyonSolvedCharles_KenyonJul 29, 2026Bronze Contributor233Views3likes22CommentsPlease remove Community Share Buttons at the left
Some time ago, Community Share Buttons started to appear on the left on the Tech Community Discussion Hubs. With normal zoom (100%), they overlap the text and are very annoying. Please get rid of these or give instructions on how to remove them. I found this article from 2018: Community Share Buttons | Microsoft Community Hub But I did not notice these buttons before, or they were not annoying. It seems they were meant to be on the right side, not the left side._Bparker_Jul 27, 2026Brass Contributor435Views3likes9CommentsRoot DFS and ntlm hardening
Hi all Recently we have tried to harden our NTLM. After applying some settings the access to the root of our domain has become intermittent \\domain.co.uk but all the namespaces as well as symbol etc I der the root are working fine and can be navigated to without an issue. DCs have now been applied the same settings which are send LM and ntlm and use V2 if negotiated. The issue is intermitted as it it will work on a DC and then stop and then work again. Similar is on the end user devices. We have on prem DCs and all devices are in tuned and entra joined. We are hybrid but we do not sync or write the devices to ad. Replication and DFS itself are healthy. Issue are some users who have AFS paths already mapped to their devices it fails to connect to them sometimes. But new mapping works. Any ideas or assistance will be appreciated.Marek746Jul 27, 2026Copper Contributor36Views0likes2CommentsMettez à jour Microsoft 365 ou Office sur votre appareil macOS ou iOS.
Bonjour, Je n'accède plus aux fonctionnalités de Word, Excel etc... et ils me demandent de mettre à jour et je n'y arrive toujours pas, même en suivant les étapes...? Quelqu'un pourrait-il m'aider?tahiaJul 26, 2026Copper Contributor17Views0likes1Comment
Tags
- community615 Topics
- accessibility127 Topics
- Account Management112 Topics
- profile86 Topics
- Login65 Topics
- Notifications56 Topics
- Private Messaging43 Topics
- avatar14 Topics
- GDPR10 Topics
- Community Management1 Topic