@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
访问服务器

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

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选