@kuramalab/mysupportdetails-mcp

@kuramalab/mysupportdetails-mcp

An MCP server for QA and test automation that provides runtime switching between multiple browser profiles (Chromium, Firefox, WebKit) without restart, enabling cross-browser regression testing, multi-account testing, localization QA, and more.

Category
Visit Server

README

@kuramalab-io/mysupportdetails-mcp

MCP server for QA and test automation ... an AI agent that drives real browsers (Chromium / Firefox / WebKit) and multiple persistent profiles, with runtime switching between profiles and browsers without restarting.

Built for QA teams that want to automate cross-browser tests, cross-account flows, visual regression, localization checks, and privacy/fingerprint audits. Works with Claude Code, Cursor, Cline, and any MCP-standard client.

Designed with MySupportDetails.com as a natural showcase to verify what the browser/profile sees in every combination.

QA / Testing use cases (primary)

  • Cross-browser regression testing: same flow in Chromium, Firefox, and WebKit ... automatic DOM/screenshot comparison
  • Multi-account testing: free-user profile, premium-user profile, admin profile ... the agent verifies that each role sees what it should
  • Localization QA: one profile per language/country (cookie msd_lang, timezone, geo), the agent checks translated titles, labels, and prices
  • Onboarding and first-time flows: clean profile on every run ... reliable "what a new user sees" repro
  • Privacy/fingerprint audit: profile with a privacy extension vs a clean profile ... the agent measures the difference
  • Cookie banner / consent flow: pre-consent profile vs post-consent profile ... verify trackers do not fire before opt-in
  • Manual A/B testing: profiles with different feature flags ... the agent compares two UX variants in a single prompt

Adjacent use cases

  • Security research (headers, CSP, response leakage)
  • RPA (recurring form filling, order status checks)
  • Ethical content scraping against your own domain

Built by KuramaLab. MIT license. Cross-platform: macOS, Linux, Windows.

Source: github.com/KuramaLab/mysupportdetails-mcp ... npm: @kuramalab-io/mysupportdetails-mcp.

Default behavior: browser is VISIBLE

mysupportdetails-mcp always opens the browser in headed mode (visible window). This is not an option to enable, it is the default and it stays that way.

Reason: when an AI agent browses on your behalf, you need to see in real time what it is doing. Zero silent execution. If something goes wrong (login on the wrong site, unexpected click, malicious popup) you notice immediately and can kill it.

If you need headless (CI, batch, headless servers) you must opt in explicitly in one of the following ways:

  • Global env var: MSD_HEADLESS=1 before the command (applies to all calls of the same server).
  • Per-call parameter: browser_open({..., headed: false}) in a single tool call.

Precedence: per-call parameter overrides env var. If neither is set the browser is headed. Always.

This choice is documented in both SECURITY.md (headed is also a security feature) and ARCHITECTURE.md (it is not build-time configurable).

Compatible MCP clients

mysupportdetails-mcp implements the standard Model Context Protocol with stdio JSON-RPC transport. It works with any MCP-compatible client with no changes:

Client Config file Notes
Claude Code (CLI) auto via claude mcp add Official command below
Claude Desktop claude_desktop_config.json Same mcpServers schema
Cursor ~/.cursor/mcp_settings.json
Cline (VSCode) cline_mcp_settings.json
Continue.dev ~/.continue/mcp.json
Zed editor ~/.config/zed/settings.json MCP support 2026+
Cody (Sourcegraph) Cody MCP settings
Hermes / OpenClaw / LLMs with MCP wrapper vendor-specific As long as they speak MCP stdio
n8n / Zapier with MCP connector node subprocess Runs mysupportdetails-mcp as a CLI

No vendor lock-in: zero cloud API keys, zero binding to a specific LLM model. If the client speaks MCP, it works.

Why it exists

The official @playwright/mcp accepts browser and profile as static flags at server startup. If you want to switch browser or profile on the fly you must kill the server and restart it. mysupportdetails-mcp solves this:

  • Runtime switching: change browser or profile between tool calls, zero restart
  • Named profiles with metadata (name, last used, size, target browser)
  • Side-by-side comparison across profiles in the same prompt
  • CRUD tools for profiles callable by the agent

Installation

With Claude Code:

claude mcp add -s user playwright -- npx -y @kuramalab-io/mysupportdetails-mcp@latest

With Cursor / Cline: add to your mcp_settings.json:

{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": ["-y", "@kuramalab-io/mysupportdetails-mcp@latest"]
    }
  }
}

The first run downloads the Playwright browsers (~300 MB, one time only).

30-second quickstart

In your Claude Code / Cursor session:

Open Chromium with profile "test-user-1", go to
https://www.mysupportdetails.com/, wait 3 seconds, and
return JSON with browser, OS, IP, ISP, and screen resolution.

Then do the same with Firefox using profile "test-user-2"
and compare the two responses.

The agent calls, in order:

  • browser_open({browser: "chromium", profile: "test-user-1"})
  • browser_navigate({url: "https://www.mysupportdetails.com/"})
  • browser_snapshot()
  • browser_close()
  • browser_open({browser: "firefox", profile: "test-user-2"})
  • (repeats)

And returns the compared analysis.

System requirements

Requirement Version
Node.js 18.x, 20.x, 22.x
Operating system macOS 11+ / Linux (glibc 2.31+) / Windows 10+
RAM 2 GB free (Playwright + browser)
Disk 500 MB (Playwright browsers + profiles)
Network required on first install (browser download)

Playwright installs its own versions of Chromium/Firefox/WebKit into the Node cache (~/.cache/ms-playwright). It does not touch browsers installed system-wide.

Profile paths per OS

Profiles live in ~/.msd/profiles/{browser}/{profile-name}/:

  • macOS: /Users/youruser/.mysupportdetails-mcp/profiles/chromium/test-user-1/
  • Linux: /home/youruser/.mysupportdetails-mcp/profiles/firefox/personal/
  • Windows: C:\Users\youruser\.msd\profiles\webkit\work\

The path is resolved via Node's os.homedir() ... works identically everywhere.

A ~/.msd/profiles.json file maintains the registry with metadata (name, browser, created, last_used, size_mb, notes).

Profile security

Profiles contain cookies, localStorage, IndexedDB, and cache ... including active login tokens. They are stored unencrypted on disk (same behavior as the system Chrome profile).

Do not run mysupportdetails-mcp on shared machines without full-disk encryption (FileVault on macOS, BitLocker on Windows, LUKS on Linux). See SECURITY.md for details.

Exposed tools (v0.1.0)

See TOOLS.md for the full schema.

  • browser_open ... open browser + profile
  • browser_close ... close active context
  • browser_navigate ... GET URL
  • browser_snapshot ... DOM accessibility tree (agent-friendly)
  • browser_click ... click on element ref
  • browser_type ... type text
  • browser_evaluate ... run JS in the page
  • browser_screenshot ... save PNG
  • profile_list ... list profiles
  • profile_create ... new empty profile
  • profile_delete ... remove profile
  • profile_current ... info on the active profile

Examples

See the examples/ folder:

  • multi-account-test.md ... cross-account test (2 different logins, same site)
  • cross-browser-audit.md ... open the same site in Chromium/Firefox/WebKit, compare rendering
  • fingerprint-diff.md ... open mysupportdetails.com with profiles with/without a privacy extension, compare fingerprints

Comparison with @playwright/mcp

Feature @playwright/mcp official @kuramalab-io/mysupportdetails-mcp
Chromium / Firefox / WebKit yes, --browser flag (static) yes, runtime switching
Persistent profile yes, --user-data-dir flag (static) yes, runtime switching
Multiple named profiles no (one per server) yes, N with metadata
Profile CRUD from the agent no yes, profile_* tools
Cross-profile in one prompt no yes, first-class
Encryption at-rest no v2 roadmap (opt-in)
Cross-platform yes yes

Roadmap

See ROADMAP.md.

  • v0.1.0 MVP: multi-browser + one default profile per browser
  • v0.2.0 multiple named profiles + CRUD
  • v0.3.0 runtime switching without restarting the context
  • v0.4.0 examples + full docs
  • v1.0.0 public npm publish + Product Hunt / HN launch

Contributing

Issues and PRs welcome. See CONTRIBUTING.md.

License

MIT (c) 2026 KuramaLab

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured