Featured

Deploy OpenClaw in 60 seconds β€” 20% off logoDeploy OpenClaw in 60 seconds β€” 20% off

Launch OpenClaw on Hostinger in about 60 seconds and keep your agent live 24/7. Our referral link gives you 20% off, no coupon code needed.

Launch on Hostinger β†’
Run your Hermes agent on Hostinger, fully managed logoRun your Hermes agent on Hostinger, fully managed

Launch Hermes on Hostinger in one click, fully managed, no VPS knowledge needed. Use code ZACAARON10 for 10% off.

Launch on Hostinger β†’
Crawl and scrape any site into clean data, 10% off logoCrawl and scrape any site into clean data, 10% off

Firecrawl crawls and scrapes any site into clean markdown for your agent. Get 1,000 free credits, and new users get 10% off their first purchase.

Try Firecrawl free β†’
6,000+ web scrapers for your AI agent, start free logo6,000+ web scrapers for your AI agent, start free

Apify gives your agent live web data: 6,000+ prebuilt scrapers and actors, MCP-ready. Sign up free with $5 in usage credits.

Try Apify free β†’
One API to scrape, enrich, and extract the internet. logoOne API to scrape, enrich, and extract the internet.

Context.dev gives your agents a single API to scrape, enrich, and extract live web data β€” no proxies, no parsers, no maintenance.

Start building free β†’
SetupClaw: done-for-you OpenClaw for founders & exec teams logoSetupClaw: done-for-you OpenClaw for founders & exec teams

White-glove OpenClaw for founders and exec teams (4–50+ employees): we install, harden, integrate your tools, and maintain it β€” secured from day one.

Get it set up for you β†’
SEO data APIs for your agent, $1 free credit logoSEO data APIs for your agent, $1 free credit

DataForSEO gives your agent live access to SERP results, keyword data, backlinks, and on-page SEO data through one API. New accounts get a $1 credit, good for up to 20,000 keyword or backlink lookups.

Try DataForSEO free β†’
Reach 48,000+ AI builders

A flat monthly placement in front of developers actively installing AI tools. No lock-in, cancel anytime.

Advertise here β†’

Works with

Claude CodeClaude DesktopCursorVS CodeClineCodex CLIOpenClaw+ any MCP client

Install to Claude Code

This server doesn't publish a one-line install command. Follow the setup in the source repository.

Summary

mikusnuz/cws-mcp MCP server](https://glama.ai/mcp/servers/mikusnuz/cws-mcp/badges/score.svg)](https://glama.ai/mcp/servers/mikusnuz/cws-mcp) πŸ“‡ ☁️ - MCP server for Chrome Web Store extension management β€” 8 tools for upload, publish, status, staged rollout,...

README.md

cws-mcp

![npm version](https://www.npmjs.com/package/cws-mcp)

ν•œκ΅­μ–΄

![MCP Badge](https://lobehub.com/mcp/mikusnuz-cws-mcp)

MCP server for Chrome Web Store extension management. Upload, publish, and manage Chrome extensions directly from Claude Code or any MCP client.

When to Use

Use this MCP when you need to:

  • "Upload a new version of my Chrome extension" β€” build your ZIP and use the upload tool to push it as a draft
  • "Publish my extension to the Chrome Web Store" β€” use publish to submit for review and go live
  • "Check the review status of my extension" β€” use status to see review state, version, and deploy percentage
  • "Update my extension's metadata (description, screenshots)" β€” use update-metadata-ui to change store listing details
  • "Cancel a pending submission" β€” use cancel to withdraw a submission under review
  • "Set up staged rollout for my extension" β€” use publish with staged rollout, then deploy-percentage to ramp up

Tools

| Tool | Description | |---|---| | upload | Upload a ZIP file to Chrome Web Store (update existing item draft) | | publish | Publish an extension with optional staged rollout, publish type, and skip-review | | 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 | Read draft/published listing metadata (v1.1 API, deprecated Oct 2026) | | update-metadata | Update listing metadata via v1.1 API (deprecated Oct 2026) | | update-metadata-ui | Update listing metadata via dashboard UI automation (Playwright) |

API Coverage

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 |

Additionally, v1.1 API endpoints are available for metadata operations (get, update-metadata), with dashboard UI automation (update-metadata-ui) as the recommended alternative since v1 is deprecated.

Setup

1. Create OAuth2 Credentials

  1. Go to Google Cloud Console
  2. Create a project (or select existing)
  3. Enable Chrome Web Store API
  4. Create OAuth2 credentials (Desktop app type)
  5. Note your Client ID and Client Secret

2. Get Refresh Token

# Open in browser to get authorization code
open "https://accounts.google.com/o/oauth2/auth?response_type=code&scope=https://www.googleapis.com/auth/chromewebstore&client_id=YOUR_CLIENT_ID&redirect_uri=urn:ietf:wg:oauth:2.0:oob"

# Exchange code for refresh token
curl -X POST https://oauth2.googleapis.com/token \
  -d "client_id=YOUR_CLIENT_ID" \
  -d "client_secret=YOUR_CLIENT_SECRET" \
  -d "code=YOUR_AUTH_CODE" \
  -d "grant_type=authorization_code" \
  -d "redirect_uri=urn:ietf:wg:oauth:2.0:oob"

3. Configure MCP

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": { ... }
    }
  }
}

Environment Variables

| 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) |

Usage Examples

Check extension status

Use the cws-mcp status tool

Upload and publish

1. Use cws-mcp upload with zipPath="/path/to/extension.zip"
2. Use cws-mcp publish

Publish with staged rollout

Use cws-mcp publish with:
- publishType="STAGED_PUBLISH"
- deployPercentage=10

Publish with skip-review

Use cws-mcp publish with skipReview=true

Update listing title/description without publishing

Use cws-mcp update-metadata with:
- title="Pexus"
- summary="Official wallet for Plumise"
- description="..."
- category="productivity"
- defaultLocale="en"

Update advanced metadata fields

Use cws-mcp update-metadata with metadata={
  "homepageUrl": "https://plumise.com",
  "supportUrl": "https://plug.plumise.com/docs"
}

When API metadata updates don't reflect

Use cws-mcp update-metadata-ui with:
- title
- summary
- description
- category
- homepageUrl
- supportUrl

Notes:

  • This tool automates the Chrome Web Store dashboard UI.
  • First run with headless=false if login is required.
  • Browser profile path defaults to ~/.cws-mcp-profile (override with CWS_DASHBOARD_PROFILE_DIR).

Staged rollout

1. Use cws-mcp publish
2. Use cws-mcp deploy-percentage with percentage=10
3. Use cws-mcp deploy-percentage with percentage=50
4. Use cws-mcp deploy-percentage with percentage=100

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.

V1 API Deprecation

The get and update-metadata tools use the Chrome Web Store v1.1 API, which is deprecated and will be removed after October 15, 2026. The v2 API does not provide metadata read/write endpoints, so these tools remain available as a bridge. Use update-metadata-ui (Playwright dashboard automation) as the long-term alternative.

License

MIT

See related servers & alternatives β†’

Related MCP servers

Browse all β†’

Related guides

Hand-picked reading to help you choose and use Other servers.