Browser Use
Browser agents and stealth cloud browsers for AI: run web tasks, fill forms, extract data.
作者による説明(英語の原文)
MCP server for Chrome Web Store — extension upload, publish, status, and rollout
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
CWS_CLIENT_ID, CWS_CLIENT_SECRET, CWS_REFRESH_TOKEN「秘密」と表示された値は、あなたのアカウントの鍵です。絶対に人に教えたり、チャットに貼り付けたりしないでください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"cws": {
"command": "npx",
"args": [
"-y",
"cws-mcp"
],
"env": {
"CWS_CLIENT_ID": "your-value",
"CWS_CLIENT_SECRET": "your-value",
"CWS_REFRESH_TOKEN": "your-value"
}
}
}
}ターミナルでこれを実行します
claude mcp add cws --env CWS_CLIENT_ID=your-value --env CWS_CLIENT_SECRET=your-value --env CWS_REFRESH_TOKEN=your-value -- npx -y cws-mcp動かす前に、空欄の値を入力してください。
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"cws": {
"command": "npx",
"args": [
"-y",
"cws-mcp"
],
"env": {
"CWS_CLIENT_ID": "your-value",
"CWS_CLIENT_SECRET": "your-value",
"CWS_REFRESH_TOKEN": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"cws": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"cws-mcp"
],
"env": {
"CWS_CLIENT_ID": "your-value",
"CWS_CLIENT_SECRET": "your-value",
"CWS_REFRESH_TOKEN": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント mikusnuz で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
入力が必要なもの:CWS_CLIENT_ID, CWS_CLIENT_SECRET, CWS_REFRESH_TOKEN
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(2.0.2)がレジストリに届いたのは18 日前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。
同じカテゴリには:Browser Use, Chrome DevTools MCP, MCP Server Browser
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
Browser agents and stealth cloud browsers for AI: run web tasks, fill forms, extract data.
MCP server for Chrome DevTools
MCP server for browser use access
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
한국어
MCP server for Chrome Web Store extension management. Upload, publish, and manage Chrome extensions directly from Claude Code or any MCP client.
Use this MCP when you need to:
upload tool to push it as a draftpublish to submit for review and go livestatus to see review state, version, and deploy percentageupdate-metadata to save and verify the draft listingcancel to withdraw a submission under reviewpublish with staged rollout, then deploy-percentage to ramp up| Tool | Description |
|---|---|
upload | Upload a ZIP file to Chrome Web Store (update existing item draft) |
publish | Submit/publish with publish type, rollout percentage, skip-review, and blockOnWarnings |
status | Fetch the current status including review state, deploy percentage, and version |
cancel | Cancel a pending submission |
deploy-percentage | Set staged rollout percentage (0-100, must exceed current target) |
get | Alias of status: v2 publication status, not listing text |
get-metadata-ui | Read the current draft description, category, homepage URL, and support URL from the dashboard |
update-metadata | Save those four supported draft fields through the dashboard and verify them after reload |
update-metadata-ui | Alias of update-metadata |
An upload returning IN_PROGRESS is pending: poll status until lastAsyncUploadState is SUCCEEDED before publishing. FAILED is a tool error. A blocked publish retains error.details, including the warnings that need attention.
This MCP server covers all Chrome Web Store API v2 endpoints:
| v2 Endpoint | MCP Tool |
|---|---|
media.upload | upload |
publishers.items.publish | publish |
publishers.items.fetchStatus | status |
publishers.items.cancelSubmission | cancel |
publishers.items.setPublishedDeployPercentage | deploy-percentage |
All API requests use v2. The public API has no listing-text read/write endpoints; dashboard tools use Playwright and a separate signed-in Chrome profile. Saving listing fields never submits for review. Missing fields, unmatched categories, and unconfirmed saves return errors instead of success.
Requires Node.js 20 or newer, matching the Playwright runtime requirement.
Follow Google's OAuth flow for desktop apps using a local loopback redirect URI, PKCE, and the scope https://www.googleapis.com/auth/chromewebstore. Request offline access (access_type=offline; use prompt=consent when you need a new refresh token). Exchange the authorization code using the same redirect URI and keep the refresh token in your MCP client's secret/environment settings. The former copy-and-paste OOB redirect is no longer supported by Google.
Add to your Claude Code MCP settings (~/.claude/settings.local.json):
{
"mcpServers": { "cws-mcp": { "command": "node", "args": ["/path/to/cws-mcp/dist/index.js"], "env": { "CWS_CLIENT_ID": "xxxxx.apps.googleusercontent.com", "CWS_CLIENT_SECRET": "GOCSPX-xxxxx", "CWS_REFRESH_TOKEN": "1//xxxxx", "CWS_PUBLISHER_ID": "me", "CWS_ITEM_ID": "your-extension-id" } } } }
Or install globally via npm:
{
"mcpServers": { "cws-mcp": { "command": "npx", "args": ["-y", "cws-mcp"], "env": { ... } } } }
| Variable | Required | Description |
|---|---|---|
CWS_CLIENT_ID | Yes | Google OAuth2 Client ID |
CWS_CLIENT_SECRET | Yes | Google OAuth2 Client Secret |
CWS_REFRESH_TOKEN | Yes | OAuth2 Refresh Token |
CWS_PUBLISHER_ID | No | Publisher ID (default: me) |
CWS_ITEM_ID | No | Default extension item ID |
CWS_DASHBOARD_PROFILE_DIR | No | Browser profile path for UI automation (default: ~/.cws-mcp-profile) |
Use the cws-mcp status tool
1. Use cws-mcp upload with zipPath="/path/to/extension.zip"
Use cws-mcp publish with:
Use cws-mcp publish with skipReview=true
STAGED_PUBLISH holds an approved submission for a later publication; it is not the rollout percentage. Use deployPercentage separately for an eligible extension's gradual rollout.
Use cws-mcp publish with blockOnWarnings=true
The default is false, matching the API. Inspect returned warningInfo.warnings even when publishing succeeds.
Use cws-mcp get-metadata-ui with headless=false
Use cws-mcp update-metadata with:
Notes:
category must match the visible option label exactly in the current dashboard language; English and Korean field labels are supported.manifest.json / localized messages, rebuild, and upload the ZIP. Use the dashboard directly for icons and screenshots.headless=false if login is required.~/.cws-mcp-profile (override with CWS_DASHBOARD_PROFILE_DIR).1. Use cws-mcp publish with deployPercentage=10
Note: deploy-percentage is only available for extensions with 10,000+ seven-day active users. The new percentage must always be higher than the current target.
Google shuts down API v1 on October 15, 2026. Version 2.0 no longer calls it:
get now returns v2 status. Its old projection argument is rejected; use get-metadata-ui for draft listing text. Published listing text is not exposed by v2.update-metadata now uses the same dashboard workflow as update-metadata-ui and therefore needs Chrome login, not just an API token.metadata, title, summary, and defaultLocale inputs are rejected with guidance; unsupported inputs are never silently ignored.storeIconPath is no longer accepted as a working upload. The previous generic file-input approach could not verify which asset it changed; upload the icon in the Developer Dashboard instead.MIT