{"id":82983,"date":"2026-09-09T23:43:55","date_gmt":"2026-09-09T18:13:55","guid":{"rendered":"https:\/\/tothenewone.online\/blog\/?p=82983"},"modified":"2026-10-27T23:48:47","modified_gmt":"2026-10-27T18:18:47","slug":"building-an-agentic-qa-workflow-with-hermes-agent-mcp-and-playwright","status":"publish","type":"post","link":"https:\/\/tothenewone.online\/blog\/building-an-agentic-qa-workflow-with-hermes-agent-mcp-and-playwright\/","title":{"rendered":"Building an Agentic QA Workflow with Hermes Agent, MCP and Playwright"},"content":{"rendered":"\r\n<p>&nbsp;<\/p>\r\n\r\n<h1 class=\"wp-block-heading\"><strong>Building an Agentic QA Workflow with Hermes Agent, MCP and Playwright<\/strong><\/h1>\r\n\r\n\r\n\r\n<p class=\"article-subtitle wp-block-paragraph\"><em>A practical QA engineering experiment with real Playwright evidence, Hermes reference patterns, and guardrails for trustworthy agentic testing.<\/em><\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">What was actually tested<\/h2>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">This experiment separates reproducible evidence from reference agent behaviour. A local login AUT was exercised with Playwright, while Hermes Agent and Playwright MCP were installed and their connectivity verified. A live Hermes LLM session was not run because no inference provider was configured.<\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-table\">LayerStatusLogin AUTReproduced on :4173Playwright suiteReal run: 4 PASS, 1 FAILHermes AgentInstalled, v0.21.1Playwright MCPConnected, 24 tools discoveredLive Hermes inferenceNot run\r\n<table>\r\n<tbody>\r\n<tr>\r\n<th>\u00a0<\/th>\r\n<\/tr>\r\n<tr>\r\n<td>\u00a0<\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<\/figure>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">The Playwright results, screenshots, traces, HAR and JSON are real local evidence. Hermes tool-call examples later in this article are reference patterns based on public Hermes browser documentation and the Playwright MCP tools discovered locally.<\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">Why agentic QA is different<\/h2>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Most AI-assisted testing still focuses on generation: write test cases, draft automation, create data, or summarize failures. Useful, but the engineer still moves context between tools.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">An agentic workflow changes the control model. Instead of giving the model browser steps, we give it a testing objective. Hermes reasons about what to investigate, MCP exposes a controlled tool interface, and Playwright executes browser actions. The goal is not to replace deterministic regression. It is to let an agent investigate ambiguous test objectives while producing evidence a QA engineer can review.<\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">Architecture: Hermes + MCP + Playwright<\/h2>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image size-large\">\r\n<div style=\"width: 1578px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full\" src=\"https:\/\/tothenewone.online\/blog\/wp-ttn-blog\/uploads\/2026\/09\/Picture1.png\" alt=\"Agentic QA architecture using Hermes Agent, MCP, Playwright and the AUT.\" width=\"1568\" height=\"967\" \/><p class=\"wp-caption-text\">Figure 1. Hermes reasons, MCP exposes tools, and Playwright executes browser actions.<\/p><\/div>\r\n<\/figure>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">This separation is important. Hermes should not implement browser automation, and Playwright should not decide what to test next. MCP becomes the boundary for tool discovery, RPC and access control. It also gives teams a place to expose only the capabilities the agent actually needs.<\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">Connecting Hermes to Playwright MCP<\/h2>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>hermes chat\r\n\r\nhermes mcp test playwright\r\n# \u2192 Connected\r\n# \u2192 Tools discovered: 24<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">The local MCP configuration used a stdio Playwright server:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>mcp_servers:\r\n  playwright:\r\n    command: \"\/home\/box\/.hermes\/node\/bin\/npx\"\r\n    args: [\"-y\", \"@playwright\/mcp@latest\", \"--headless\"]\r\n    idle_timeout_seconds: 900\r\n    max_lifetime_seconds: 86400<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Hermes registers MCP tools using a stable naming pattern such as <code>mcp_playwright_browser_navigate<\/code>. Locally discovered tools included navigation, snapshots, clicks, typing, screenshots, console inspection and network inspection. In a QA environment, a smaller allowlisted tool surface is easier to reason about and safer to operate.<\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image size-large\">\r\n<div style=\"width: 1454px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full\" src=\"https:\/\/tothenewone.online\/blog\/wp-ttn-blog\/uploads\/2026\/09\/Picture2.png\" alt=\"Verified Hermes to Playwright MCP connection with 24 tools.\" width=\"1444\" height=\"880\" \/><p class=\"wp-caption-text\">Figure 2. Local Hermes \u2194 Playwright MCP wiring verified with 24 tools.<\/p><\/div>\r\n<\/figure>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">Experiment 1: deterministic login validation<\/h2>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">The fixture application exposed a login form with these requirements: valid credentials must reach <code>\/dashboard<\/code>; email and password are mandatory; invalid credentials must fail with an error; and malformed email must be rejected before authentication.<\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-table\">\r\n<table>\r\n<tbody>\r\n<tr>\r\n<th>Scenario<\/th>\r\n<th>Result<\/th>\r\n<th>Observed<\/th>\r\n<\/tr>\r\n<tr>\r\n<td>Valid login<\/td>\r\n<td>PASS<\/td>\r\n<td>Redirected to \/dashboard<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Invalid password<\/td>\r\n<td>PASS<\/td>\r\n<td>401 and visible error<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Empty email<\/td>\r\n<td>PASS<\/td>\r\n<td>Client-side validation, no auth request<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Empty password<\/td>\r\n<td>PASS<\/td>\r\n<td>Client-side validation, no auth request<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Malformed email: qa.user@<\/td>\r\n<td>FAIL<\/td>\r\n<td>POST \/login still sent<\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<\/figure>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>\u2713 valid login\r\n\u2713 invalid password\r\n\u2713 empty email\r\n\u2713 empty password\r\n\u2718 malformed email should be rejected before authentication\r\n\r\n1 failed\r\n4 passed<\/code><\/pre>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image size-large\">\r\n<div id=\"attachment_82987\" style=\"width: 1645px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-82987\" class=\"size-full wp-image-82987\" src=\"https:\/\/tothenewone.online\/blog\/wp-ttn-blog\/uploads\/2026\/09\/Picture3.png\" alt=\"Evidence flow showing Playwright results, screenshots, traces, HAR and LOGIN-001.\" width=\"1635\" height=\"967\" srcset=\"https:\/\/tothenewone.online\/blog\/wp-ttn-blog\/uploads\/2026\/09\/Picture3.png 1635w, https:\/\/tothenewone.online\/blog\/wp-ttn-blog\/uploads\/2026\/09\/Picture3-300x177.png 300w, https:\/\/tothenewone.online\/blog\/wp-ttn-blog\/uploads\/2026\/09\/Picture3-1024x606.png 1024w, https:\/\/tothenewone.online\/blog\/wp-ttn-blog\/uploads\/2026\/09\/Picture3-768x454.png 768w, https:\/\/tothenewone.online\/blog\/wp-ttn-blog\/uploads\/2026\/09\/Picture3-1536x908.png 1536w, https:\/\/tothenewone.online\/blog\/wp-ttn-blog\/uploads\/2026\/09\/Picture3-624x369.png 624w\" sizes=\"auto, (max-width: 1635px) 100vw, 1635px\" \/><p id=\"caption-attachment-82987\" class=\"wp-caption-text\">Figure 3. Evidence flow for the reproducible Playwright run.<\/p><\/div>\r\n<\/figure>\r\n\r\n\r\n\r\n<h3 class=\"wp-block-heading\">LOGIN-001: malformed email reaches authentication<\/h3>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Input: <code>qa.user@<\/code>. Expected: reject locally and do not call authentication. Actual: the browser remained on <code>\/login<\/code>, but the debug output showed <code>Authentication request attempted: yes<\/code>. Network evidence contained <code>POST \/login<\/code>, which returned 401.<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>{\r\n  \"emailField\": \"qa.user@\",\r\n  \"debugText\": \"Authentication request attempted: yes\",\r\n  \"authPosted\": true,\r\n  \"requests\": [\r\n    { \"method\": \"GET\",  \"url\": \"\/login\" },\r\n    { \"method\": \"POST\", \"url\": \"\/login\" }\r\n  ]\r\n}<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">This evidence contract matters more than the defect itself. URL, network activity, visible UI state, screenshots and traces are the same evidence we should demand from an agent before accepting a PASS or FAIL.<\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">From scripted tests to a testing objective<\/h2>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Traditional Playwright explicitly defines the path:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>test('valid user can login', async ({ page }) =&gt; {\r\n  await page.goto('\/login');\r\n  await page.getByLabel('Email').fill('qa.user@example.com');\r\n  await page.getByLabel('Password').fill(process.env.TEST_PASSWORD!);\r\n  await page.getByRole('button', { name: 'Login' }).click();\r\n  await expect(page).toHaveURL(\/dashboard\/);\r\n});<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">An agentic run should receive intent, constraints and an evidence contract instead:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>You are testing login functionality.\r\n\r\nValidate:\r\n- valid login\r\n- invalid password\r\n- empty email\r\n- empty password\r\n- malformed email\r\n\r\nUse Playwright browser tools.\r\nDo not modify application data.\r\n\r\nFor every scenario record:\r\nscenario, actions, expected, actual, PASS\/FAIL\/NEEDS REVIEW.\r\n\r\nNever infer PASS from the absence of an obvious error.\r\nOnly report PASS when observed evidence supports it.<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">The last two rules are critical. An agent that assumes success is less trustworthy than deterministic automation.<\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image size-large\">\r\n<div id=\"attachment_83001\" style=\"width: 1454px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-83001\" class=\"size-full wp-image-83001\" src=\"https:\/\/tothenewone.online\/blog\/wp-ttn-blog\/uploads\/2026\/09\/Picture10.png\" alt=\"Agent observation loop from objective to action, observation and judgement.\" width=\"1444\" height=\"942\" srcset=\"https:\/\/tothenewone.online\/blog\/wp-ttn-blog\/uploads\/2026\/09\/Picture10.png 1444w, https:\/\/tothenewone.online\/blog\/wp-ttn-blog\/uploads\/2026\/09\/Picture10-300x196.png 300w, https:\/\/tothenewone.online\/blog\/wp-ttn-blog\/uploads\/2026\/09\/Picture10-1024x668.png 1024w, https:\/\/tothenewone.online\/blog\/wp-ttn-blog\/uploads\/2026\/09\/Picture10-768x501.png 768w, https:\/\/tothenewone.online\/blog\/wp-ttn-blog\/uploads\/2026\/09\/Picture10-624x407.png 624w\" sizes=\"auto, (max-width: 1444px) 100vw, 1444px\" \/><p id=\"caption-attachment-83001\" class=\"wp-caption-text\">Figure 4. Objective \u2192 act through MCP \u2192 observe \u2192 judge.<\/p><\/div>\r\n<\/figure>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">What an agent session could look like<\/h2>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Hermes browser documentation uses a navigate \u2192 snapshot \u2192 interact \u2192 snapshot loop. Mapped to the Playwright MCP tools discovered locally, a reference sequence looks like this:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>[tool_call] mcp_playwright_browser_navigate\r\n  url: \"\/login\"\r\n\r\n[tool_call] mcp_playwright_browser_snapshot\r\n\u2192 textbox \"Email\", textbox \"Password\", button \"Login\"\r\n\r\n[tool_call] mcp_playwright_browser_type\r\n\u2192 Email = \"qa.user@example.com\"\r\n\r\n[tool_call] mcp_playwright_browser_type\r\n\u2192 Password = \"***\"\r\n\r\n[tool_call] mcp_playwright_browser_click\r\n\u2192 Login\r\n\r\n[tool_call] mcp_playwright_browser_snapshot\r\n\u2192 heading \"Dashboard\"; URL \/dashboard\r\n\r\n\u2192 valid login: PASS, supported by observed redirect<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">This is a reference interaction pattern, not a captured live Hermes inference session.<\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">Exploration needs guardrails<\/h2>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">If we remove the explicit scenario list, the workflow becomes exploratory. The agent can propose whitespace tests, boundary values, repeated failures, protected-route navigation or browser-back behaviour. That flexibility is useful only when bounded.<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>Safety constraints:\r\n- Use only the designated test account.\r\n- Never access production.\r\n- Do not create or delete records unless requested.\r\n- Limit repeated authentication attempts.\r\n- Never perform security testing without authorization.\r\n- Stop if account lockout is detected.\r\n- Never expose passwords, tokens or secrets.<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">An autonomous agent without environment, permission and data boundaries is not advanced QA automation. It is an uncontrolled client.<\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">Reusable QA behaviour as a Hermes Skill<\/h2>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Long prompts do not scale. Hermes Skills let teams package a repeatable QA procedure:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>---\r\nname: exploratory-web-testing\r\ndescription: Structured exploratory testing of web applications\r\nversion: 1.0.0\r\n---\r\n\r\n1. Read requirements and acceptance criteria.\r\n2. Inspect browser state.\r\n3. Build and risk-rank scenarios.\r\n4. Execute one scenario at a time.\r\n5. Record expected versus observed.\r\n6. Capture evidence for failures.\r\n7. Separate observation from hypothesis.\r\n8. Report PASS \/ FAIL \/ NEEDS REVIEW.\r\n\r\nNever convert uncertainty into PASS.<\/code><\/pre>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">Experiment 2: agentic failure triage<\/h2>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Failure triage may deliver faster value than autonomous exploration. Imagine 25 failed tests in CI. Instead of inspecting each failure independently, supply the agent with Playwright results, traces, screenshots, console logs and network failures.<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>Analyse these failed Playwright tests.\r\nCluster failures when evidence suggests a shared cause.\r\nClassify each cluster as:\r\napplication \/ automation \/ environment \/ insufficient evidence.\r\nCite the evidence used.\r\nDo not invent root causes.<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">If eleven tests contain <code>POST \/api\/customer\/search \u2192 503<\/code> and seven UI tests time out waiting for customer results, the agent can flag a likely shared dependency and recommend checking that service before engineers analyse 18 failures separately. The value is reduced investigation duplication, not automatic root-cause authority.<\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">Where deterministic Playwright still wins<\/h2>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>await expect(order.status).toBe('CONFIRMED');<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">For deployment gates and known business rules, deterministic assertions remain the correct tool. Agents add value when the next action depends on what was just observed: exploration, triage and investigation. They should complement, not replace, stable regression suites.<\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">What to measure in a real POC<\/h2>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li>Useful scenarios discovered versus duplicates<\/li>\r\n<li>Defects found and false-positive rate<\/li>\r\n<li>Agent execution plus human review time<\/li>\r\n<li>Manual versus agent-assisted triage time<\/li>\r\n<li>Failure classification and clustering accuracy<\/li>\r\n<li>Unsupported root-cause hypotheses<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">If manual triage takes 60 minutes and agent-assisted triage takes 15 minutes including review, the workflow has measurable value. If engineers spend most of that time correcting invented conclusions, it does not.<\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">Key takeaways<\/h2>\r\n\r\n\r\n\r\n<ol class=\"wp-block-list\">\r\n<li><strong>Agents and deterministic automation solve different problems.<\/strong> Playwright owns repeatable assertions; agents are better suited to ambiguity and investigation.<\/li>\r\n<li><strong>MCP creates a useful control boundary.<\/strong> It separates reasoning from execution and enables narrow tool exposure.<\/li>\r\n<li><strong>Prompt rules are part of the test architecture.<\/strong> \u201cDo not infer PASS\u201d directly affects result reliability.<\/li>\r\n<li><strong>Evidence is non-negotiable.<\/strong> A model conclusion is not test evidence.<\/li>\r\n<li><strong>Reusable Skills encode testing procedure.<\/strong> They turn QA methodology into repeatable agent guidance.<\/li>\r\n<li><strong>Human review remains the final control.<\/strong> Product risk, ambiguous requirements and defect validity still require engineering judgement.<\/li>\r\n<\/ol>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">Final thought<\/h2>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Traditional automation taught machines how to execute our tests. Agentic testing asks whether they can also help decide what to investigate next.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">The practical path is not an autonomous QA department. Start with one bounded workflow, expose the smallest useful tool surface, require evidence for every conclusion, and measure whether the agent genuinely reduces engineering effort. That is where Hermes, MCP and Playwright become more than an AI demo and start to look like a credible QA architecture.<\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">References<\/h2>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li><a href=\"https:\/\/hermes-agent.nousresearch.com\/docs\/user-guide\/features\/mcp\">Hermes Agent \u2014 MCP<\/a><\/li>\r\n<li><a href=\"https:\/\/hermes-agent.nousresearch.com\/docs\/guides\/use-mcp-with-hermes\">Use MCP with Hermes<\/a><\/li>\r\n<li><a href=\"https:\/\/hermes-agent.nousresearch.com\/docs\/user-guide\/features\/browser\">Hermes Agent \u2014 Browser automation<\/a><\/li>\r\n<li><a href=\"https:\/\/github.com\/NousResearch\/hermes-agent\">NousResearch\/hermes-agent<\/a><\/li>\r\n<li>Playwright MCP (@playwright\/mcp)<\/li>\r\n<\/ul>\r\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1877,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"iawp_total_views":0,"footnotes":""},"categories":[5880],"tags":[8774,8481,3182],"class_list":["post-82983","post","type-post","status-publish","format-standard","hentry","category-qe","tag-agentic","tag-hermes","tag-qa"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.0.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"Building an Agentic QA Workflow with Hermes Agent, MCP and Playwright A practical QA engineering experiment with real Playwright evidence, Hermes reference patterns, and guardrails for trustworthy agentic testing. What was actually tested This experiment separates reproducible evidence from reference agent behaviour. A local login AUT was exercised with Playwright, while Hermes Agent and\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Dinesh Selvaraj\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/tothenewone.online\/blog\/building-an-agentic-qa-workflow-with-hermes-agent-mcp-and-playwright\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"TO THE NEW BLOG\" \/>\n\t\t<meta property=\"og:type\" content=\"blog\" \/>\n\t\t<meta property=\"og:title\" content=\"Building an Agentic QA Workflow with Hermes Agent, MCP and Playwright | TO THE NEW Blog\" \/>\n\t\t<meta property=\"og:description\" content=\"Building an Agentic QA Workflow with Hermes Agent, MCP and Playwright A practical QA engineering experiment with real Playwright evidence, Hermes reference patterns, and guardrails for trustworthy agentic testing. What was actually tested This experiment separates reproducible evidence from reference agent behaviour. A local login AUT was exercised with Playwright, while Hermes Agent and\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/tothenewone.online\/blog\/building-an-agentic-qa-workflow-with-hermes-agent-mcp-and-playwright\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/tothenewone.online\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/tothenewone.online\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:site\" content=\"@tothenew\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Building an Agentic QA Workflow with Hermes Agent, MCP and Playwright | TO THE NEW Blog\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Building an Agentic QA Workflow with Hermes Agent, MCP and Playwright A practical QA engineering experiment with real Playwright evidence, Hermes reference patterns, and guardrails for trustworthy agentic testing. What was actually tested This experiment separates reproducible evidence from reference agent behaviour. A local login AUT was exercised with Playwright, while Hermes Agent and\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/tothenewone.online\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/building-an-agentic-qa-workflow-with-hermes-agent-mcp-and-playwright\\\/#article\",\"name\":\"Building an Agentic QA Workflow with Hermes Agent, MCP and Playwright | TO THE NEW Blog\",\"headline\":\"Building an Agentic QA Workflow with Hermes Agent, MCP and Playwright\",\"author\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/dinesh-selvaraj\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#organization\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/wp-ttn-blog\\\/uploads\\\/2026\\\/09\\\/Picture1.png\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/building-an-agentic-qa-workflow-with-hermes-agent-mcp-and-playwright\\\/#articleImage\",\"width\":1568,\"height\":967,\"caption\":\"Figure 1. Agentic QA architecture \\u2014 Hermes, MCP, Playwright, AUT. Reasoning stays in Hermes; browser execution stays in Playwright; MCP is the adapter.\"},\"datePublished\":\"2026-09-09T23:43:55+05:30\",\"dateModified\":\"2026-10-27T23:48:47+05:30\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/building-an-agentic-qa-workflow-with-hermes-agent-mcp-and-playwright\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/building-an-agentic-qa-workflow-with-hermes-agent-mcp-and-playwright\\\/#webpage\"},\"articleSection\":\"Quality Engineering, Agentic, Hermes, QA\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/building-an-agentic-qa-workflow-with-hermes-agent-mcp-and-playwright\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.tothenew.com\\\/blog\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/category\\\/qe\\\/#listItem\",\"name\":\"Quality Engineering\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/category\\\/qe\\\/#listItem\",\"position\":2,\"name\":\"Quality Engineering\",\"item\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/category\\\/qe\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/building-an-agentic-qa-workflow-with-hermes-agent-mcp-and-playwright\\\/#listItem\",\"name\":\"Building an Agentic QA Workflow with Hermes Agent, MCP and Playwright\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/building-an-agentic-qa-workflow-with-hermes-agent-mcp-and-playwright\\\/#listItem\",\"position\":3,\"name\":\"Building an Agentic QA Workflow with Hermes Agent, MCP and Playwright\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/category\\\/qe\\\/#listItem\",\"name\":\"Quality Engineering\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#organization\",\"name\":\"TO THE NEW Blog\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/dinesh-selvaraj\\\/#author\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/dinesh-selvaraj\\\/\",\"name\":\"Dinesh Selvaraj\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/building-an-agentic-qa-workflow-with-hermes-agent-mcp-and-playwright\\\/#authorImage\",\"url\":\"https:\\\/\\\/newersworld-sf-static.tothenew.net\\\/prod\\\/profilePicFolder\\\/4cc410ad-4beb-418c-9885-b5affda96cc1_Dinesh-Selvaraj-Profile-Pitcure.jpeg\",\"width\":96,\"height\":96,\"caption\":\"Dinesh Selvaraj\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/building-an-agentic-qa-workflow-with-hermes-agent-mcp-and-playwright\\\/#webpage\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/building-an-agentic-qa-workflow-with-hermes-agent-mcp-and-playwright\\\/\",\"name\":\"Building an Agentic QA Workflow with Hermes Agent, MCP and Playwright | TO THE NEW Blog\",\"description\":\"Building an Agentic QA Workflow with Hermes Agent, MCP and Playwright A practical QA engineering experiment with real Playwright evidence, Hermes reference patterns, and guardrails for trustworthy agentic testing. What was actually tested This experiment separates reproducible evidence from reference agent behaviour. A local login AUT was exercised with Playwright, while Hermes Agent and\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/building-an-agentic-qa-workflow-with-hermes-agent-mcp-and-playwright\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/dinesh-selvaraj\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/dinesh-selvaraj\\\/#author\"},\"datePublished\":\"2026-09-09T23:43:55+05:30\",\"dateModified\":\"2026-10-27T23:48:47+05:30\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/\",\"name\":\"TO THE NEW Blog\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Building an Agentic QA Workflow with Hermes Agent, MCP and Playwright | TO THE NEW Blog","description":"Building an Agentic QA Workflow with Hermes Agent, MCP and Playwright A practical QA engineering experiment with real Playwright evidence, Hermes reference patterns, and guardrails for trustworthy agentic testing. What was actually tested This experiment separates reproducible evidence from reference agent behaviour. A local login AUT was exercised with Playwright, while Hermes Agent and","canonical_url":"https:\/\/tothenewone.online\/blog\/building-an-agentic-qa-workflow-with-hermes-agent-mcp-and-playwright\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/tothenewone.online\/blog\/building-an-agentic-qa-workflow-with-hermes-agent-mcp-and-playwright\/#article","name":"Building an Agentic QA Workflow with Hermes Agent, MCP and Playwright | TO THE NEW Blog","headline":"Building an Agentic QA Workflow with Hermes Agent, MCP and Playwright","author":{"@id":"https:\/\/tothenewone.online\/blog\/author\/dinesh-selvaraj\/#author"},"publisher":{"@id":"https:\/\/tothenewone.online\/blog\/#organization"},"image":{"@type":"ImageObject","url":"https:\/\/tothenewone.online\/blog\/wp-ttn-blog\/uploads\/2026\/09\/Picture1.png","@id":"https:\/\/tothenewone.online\/blog\/building-an-agentic-qa-workflow-with-hermes-agent-mcp-and-playwright\/#articleImage","width":1568,"height":967,"caption":"Figure 1. Agentic QA architecture \u2014 Hermes, MCP, Playwright, AUT. Reasoning stays in Hermes; browser execution stays in Playwright; MCP is the adapter."},"datePublished":"2026-09-09T23:43:55+05:30","dateModified":"2026-10-27T23:48:47+05:30","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/tothenewone.online\/blog\/building-an-agentic-qa-workflow-with-hermes-agent-mcp-and-playwright\/#webpage"},"isPartOf":{"@id":"https:\/\/tothenewone.online\/blog\/building-an-agentic-qa-workflow-with-hermes-agent-mcp-and-playwright\/#webpage"},"articleSection":"Quality Engineering, Agentic, Hermes, QA"},{"@type":"BreadcrumbList","@id":"https:\/\/tothenewone.online\/blog\/building-an-agentic-qa-workflow-with-hermes-agent-mcp-and-playwright\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/tothenewone.online\/blog#listItem","position":1,"name":"Home","item":"https:\/\/tothenewone.online\/blog","nextItem":{"@type":"ListItem","@id":"https:\/\/tothenewone.online\/blog\/category\/qe\/#listItem","name":"Quality Engineering"}},{"@type":"ListItem","@id":"https:\/\/tothenewone.online\/blog\/category\/qe\/#listItem","position":2,"name":"Quality Engineering","item":"https:\/\/tothenewone.online\/blog\/category\/qe\/","nextItem":{"@type":"ListItem","@id":"https:\/\/tothenewone.online\/blog\/building-an-agentic-qa-workflow-with-hermes-agent-mcp-and-playwright\/#listItem","name":"Building an Agentic QA Workflow with Hermes Agent, MCP and Playwright"},"previousItem":{"@type":"ListItem","@id":"https:\/\/tothenewone.online\/blog#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/tothenewone.online\/blog\/building-an-agentic-qa-workflow-with-hermes-agent-mcp-and-playwright\/#listItem","position":3,"name":"Building an Agentic QA Workflow with Hermes Agent, MCP and Playwright","previousItem":{"@type":"ListItem","@id":"https:\/\/tothenewone.online\/blog\/category\/qe\/#listItem","name":"Quality Engineering"}}]},{"@type":"Organization","@id":"https:\/\/tothenewone.online\/blog\/#organization","name":"TO THE NEW Blog","url":"https:\/\/tothenewone.online\/blog\/"},{"@type":"Person","@id":"https:\/\/tothenewone.online\/blog\/author\/dinesh-selvaraj\/#author","url":"https:\/\/tothenewone.online\/blog\/author\/dinesh-selvaraj\/","name":"Dinesh Selvaraj","image":{"@type":"ImageObject","@id":"https:\/\/tothenewone.online\/blog\/building-an-agentic-qa-workflow-with-hermes-agent-mcp-and-playwright\/#authorImage","url":"https:\/\/newersworld-sf-static.tothenew.net\/prod\/profilePicFolder\/4cc410ad-4beb-418c-9885-b5affda96cc1_Dinesh-Selvaraj-Profile-Pitcure.jpeg","width":96,"height":96,"caption":"Dinesh Selvaraj"}},{"@type":"WebPage","@id":"https:\/\/tothenewone.online\/blog\/building-an-agentic-qa-workflow-with-hermes-agent-mcp-and-playwright\/#webpage","url":"https:\/\/tothenewone.online\/blog\/building-an-agentic-qa-workflow-with-hermes-agent-mcp-and-playwright\/","name":"Building an Agentic QA Workflow with Hermes Agent, MCP and Playwright | TO THE NEW Blog","description":"Building an Agentic QA Workflow with Hermes Agent, MCP and Playwright A practical QA engineering experiment with real Playwright evidence, Hermes reference patterns, and guardrails for trustworthy agentic testing. What was actually tested This experiment separates reproducible evidence from reference agent behaviour. A local login AUT was exercised with Playwright, while Hermes Agent and","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/tothenewone.online\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/tothenewone.online\/blog\/building-an-agentic-qa-workflow-with-hermes-agent-mcp-and-playwright\/#breadcrumblist"},"author":{"@id":"https:\/\/tothenewone.online\/blog\/author\/dinesh-selvaraj\/#author"},"creator":{"@id":"https:\/\/tothenewone.online\/blog\/author\/dinesh-selvaraj\/#author"},"datePublished":"2026-09-09T23:43:55+05:30","dateModified":"2026-10-27T23:48:47+05:30"},{"@type":"WebSite","@id":"https:\/\/tothenewone.online\/blog\/#website","url":"https:\/\/tothenewone.online\/blog\/","name":"TO THE NEW Blog","inLanguage":"en-US","publisher":{"@id":"https:\/\/tothenewone.online\/blog\/#organization"}}]},"og:locale":"en_US","og:site_name":"TO THE NEW BLOG","og:type":"blog","og:title":"Building an Agentic QA Workflow with Hermes Agent, MCP and Playwright | TO THE NEW Blog","og:description":"Building an Agentic QA Workflow with Hermes Agent, MCP and Playwright A practical QA engineering experiment with real Playwright evidence, Hermes reference patterns, and guardrails for trustworthy agentic testing. What was actually tested This experiment separates reproducible evidence from reference agent behaviour. A local login AUT was exercised with Playwright, while Hermes Agent and","og:url":"https:\/\/tothenewone.online\/blog\/building-an-agentic-qa-workflow-with-hermes-agent-mcp-and-playwright\/","og:image":"https:\/\/tothenewone.online\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png","og:image:secure_url":"https:\/\/tothenewone.online\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png","twitter:card":"summary","twitter:site":"@tothenew","twitter:title":"Building an Agentic QA Workflow with Hermes Agent, MCP and Playwright | TO THE NEW Blog","twitter:description":"Building an Agentic QA Workflow with Hermes Agent, MCP and Playwright A practical QA engineering experiment with real Playwright evidence, Hermes reference patterns, and guardrails for trustworthy agentic testing. What was actually tested This experiment separates reproducible evidence from reference agent behaviour. A local login AUT was exercised with Playwright, while Hermes Agent and","twitter:image":"https:\/\/tothenewone.online\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png"},"aioseo_meta_data":{"post_id":"82983","title":null,"description":null,"keywords":null,"keyphrases":{"focus":{"keyphrase":"","score":0,"analysis":{"keyphraseInTitle":{"score":0,"maxScore":9,"error":1}}},"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"Article","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","local_seo":null,"limit_modified_date":false,"created":"2026-09-09 18:11:38","updated":"2026-10-27 18:18:49","focus_keyword":null,"additional_keywords":null,"truseo_locale":null,"ai":{"faqs":[],"keyPoints":[],"schemas":[],"titles":[],"descriptions":[],"socialPosts":{"email":{"subject":"","preview":"","content":""},"linkedin":[],"twitter":[],"facebook":[],"instagram":[]}},"breadcrumb_settings":null,"seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/tothenewone.online\/blog\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/tothenewone.online\/blog\/category\/qe\/\" title=\"Quality Engineering\">Quality Engineering<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tBuilding an Agentic QA Workflow with Hermes Agent, MCP and Playwright\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/tothenewone.online\/blog"},{"label":"Quality Engineering","link":"https:\/\/tothenewone.online\/blog\/category\/qe\/"},{"label":"Building an Agentic QA Workflow with Hermes Agent, MCP and Playwright","link":"https:\/\/tothenewone.online\/blog\/building-an-agentic-qa-workflow-with-hermes-agent-mcp-and-playwright\/"}],"_links":{"self":[{"href":"https:\/\/tothenewone.online\/blog\/wp-json\/wp\/v2\/posts\/82983","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tothenewone.online\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tothenewone.online\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tothenewone.online\/blog\/wp-json\/wp\/v2\/users\/1877"}],"replies":[{"embeddable":true,"href":"https:\/\/tothenewone.online\/blog\/wp-json\/wp\/v2\/comments?post=82983"}],"version-history":[{"count":7,"href":"https:\/\/tothenewone.online\/blog\/wp-json\/wp\/v2\/posts\/82983\/revisions"}],"predecessor-version":[{"id":84095,"href":"https:\/\/tothenewone.online\/blog\/wp-json\/wp\/v2\/posts\/82983\/revisions\/84095"}],"wp:attachment":[{"href":"https:\/\/tothenewone.online\/blog\/wp-json\/wp\/v2\/media?parent=82983"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tothenewone.online\/blog\/wp-json\/wp\/v2\/categories?post=82983"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tothenewone.online\/blog\/wp-json\/wp\/v2\/tags?post=82983"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}