# mikusnuz/cws-mcp [Health: Active]

**Category:** 💻 Developer Tools  
**Repository:** https://github.com/mikusnuz/cws-mcp  
**GitHub Stars:** 4  
**npm Downloads (last month):** 314  
**Views:** 5  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/mikusnuz-cws-mcp

## Description
MCP server for Chrome Web Store extension management — 8 tools for upload, publish, status, staged rollout, and metadata updates.

## Tools
Capabilities this server exposes over MCP:

- **upload** — Upload a ZIP file to update an existing Chrome Web Store item draft. Note: Creating new items via API is not supported in v2 — use the Developer Dashboard to create new items.
- **publish** — Publish an extension to Chrome Web Store. Supports immediate publish, staged publish, initial deploy percentage, and skip-review.
- **status** — Fetch the current status of an extension on Chrome Web Store. Returns published/submitted revision status, deploy percentage, version, takedown/warning flags, and last upload state.
- **cancel** — Cancel a pending submission on Chrome Web Store. Can be used to cancel an item currently in review.
- **deploy-percentage** — Set the published deploy percentage for staged rollout on Chrome Web Store. The new percentage must be higher than the current target. Only available for items with 10,000+ seven-day active users.
- **get** — Get the current metadata of a Chrome Web Store item (v1.1 API). Returns title, description, category, and other listing fields. Note: v1 API is deprecated and will be removed after Oct 15, 2026.
- **update-metadata** — Update the store listing metadata of a Chrome Web Store item (v1.1 API). Supports both common fields and raw metadata payload for advanced fields. Note: v1 API is deprecated and will be removed after Oct 15, 2026. Use update-metadata-ui as an alternative.
- **update-metadata-ui** — Update listing metadata via Chrome Web Store dashboard UI automation (Playwright). Use this when API metadata updates are not reflected, or as the primary metadata update method since the v1 API is deprecated.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "cws-mcp": {
    "command": "npx",
    "args": ["-y","cws-mcp"],
    "env": {
      "CWS_CLIENT_ID": "",
      "CWS_CLIENT_SECRET": "",
      "CWS_REFRESH_TOKEN": "",
      "CWS_PUBLISHER_ID": "",
      "CWS_ITEM_ID": "",
      "CWS_DASHBOARD_PROFILE_DIR": ""
    }
  }
}
```

**Requires environment variables:** `CWS_CLIENT_ID`, `CWS_CLIENT_SECRET`, `CWS_REFRESH_TOKEN`, `CWS_PUBLISHER_ID`, `CWS_ITEM_ID`, `CWS_DASHBOARD_PROFILE_DIR` — the values above are empty placeholders; fill in real credentials before running (see the repository for what each one is for).

## Documentation

## What mikusnuz/cws-mcp does

mikusnuz/cws-mcp provides MCP tools for managing an existing Chrome Web Store extension through its release lifecycle. It can upload a ZIP as a draft, submit or publish an extension, inspect publication and upload state, cancel a pending submission, and raise the target percentage for a staged rollout.

The server also supports selected listing-field workflows through the Chrome Web Store dashboard. Dashboard automation can read or save the current draft description, category, homepage URL, and support URL. These changes do not submit the extension for review. Title, summary, default locale, icons, and screenshots follow other workflows: manifest or localized-message changes require a rebuilt ZIP, while visual assets are handled in the Developer Dashboard.

## How it works

Chrome Web Store API v2 handles the release operations. After an upload, the result can remain asynchronous with an `IN_PROGRESS` state. The extension should be checked with `status` until `lastAsyncUploadState` becomes `SUCCEEDED` before publishing; a failed upload is returned as a tool error.

Publishing supports immediate or staged submission, an initial deployment percentage, skip-review behavior, and warning handling. `STAGED_PUBLISH` holds an approved submission for later publication; it is separate from the gradual rollout percentage. The `deploy-percentage` operation can only increase the current target and is restricted by Chrome Web Store eligibility requirements.

Metadata automation uses Playwright with a separate signed-in Chrome profile. It operates on the selected dashboard localization and current draft, rather than an arbitrary locale or the already-published listing. The server reports errors for missing fields, unmatched categories, ambiguous dashboard fields, and saves that cannot be verified.

## Setup and configuration

Node.js 20 or newer is required. API access needs a Google Cloud project with the Chrome Web Store API enabled, OAuth2 desktop credentials, and a refresh token obtained through Google's desktop-app flow using PKCE, a local loopback redirect URI, offline access, and the Chrome Web Store scope.

Run the server directly with Node or through `npx` in an MCP client configuration. Required environment variables are `CWS_CLIENT_ID`, `CWS_CLIENT_SECRET`, and `CWS_REFRESH_TOKEN`. `CWS_PUBLISHER_ID` defaults to `me`, and `CWS_ITEM_ID` can provide a default extension ID. UI automation can use `CWS_DASHBOARD_PROFILE_DIR`, which defaults to `~/.cws-mcp-profile`.

Google Chrome must be installed for dashboard operations. Use a non-headless first run when sign-in is needed, then reuse the browser profile. Select the intended dashboard localization before reading or saving fields.

## Tools and capabilities

- `upload`: Sends a ZIP for an existing item's draft.
- `publish`: Submits or publishes with staged, rollout, skip-review, and warning controls.
- `status`: Reports revision state, deployment percentage, version, warnings or takedown flags, and the latest upload state.
- `cancel`: Withdraws a submission that is pending review.
- `deploy-percentage`: Increases the target percentage for an eligible staged rollout.
- `get-metadata-ui` and `update-metadata-ui`: Read or save supported listing fields through the dashboard.
- `get` and `update-metadata`: Follow the current v2 and dashboard-based workflows described by the server version.

## Limitations and notes

Creating a new Chrome Web Store item through the API is not supported; create it in the Developer Dashboard first. The deploy-percentage operation requires at least 10,000 seven-day active users, and each new percentage must exceed the current target.

The Chrome Web Store v1 API is deprecated and scheduled for removal after October 15, 2026. Published listing text is not exposed through the v2 status API. Dashboard automation can also require selector updates, so an unverified save should be checked in Chrome before retrying. The project is licensed under MIT.

_Full upstream README: https://allmcps.com/mcp/mikusnuz-cws-mcp/readme_

