1. Conduid
  2. Files
  3. io.github.mikusnuz/cws
MCP server · Files

io.github.mikusnuz/cws

MCP server for Chrome Web Store — extension upload, publish, status, and rollout

Unclaimed files
37Low

Scored 6 months ago · breakdown

About io.github.mikusnuz/cws

io.github.mikusnuz/cws is an MCP server in the Files category: mCP server for Chrome Web Store — extension upload, publish, status, and rollout.

Install

Claude Code
claude mcp add io-github-mikusnuz-cws -- npx -y cws-mcp
npx
npx -y cws-mcp

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Tools (8)

cancelCancel a pending submission

Parameters not published.

deploy-percentageSet staged rollout percentage (0-100, must exceed current target)

Parameters not published.

getRead draft/published listing metadata (v1.1 API, deprecated Oct 2026)

Parameters not published.

publishPublish an extension with optional staged rollout, publish type, and skip-review

Parameters not published.

statusFetch the current status including review state, deploy percentage, and version

Parameters not published.

update-metadataUpdate listing metadata via v1.1 API (deprecated Oct 2026)

Parameters not published.

update-metadata-uiUpdate listing metadata via dashboard UI automation (Playwright)

Parameters not published.

uploadUpload a ZIP file to Chrome Web Store (update existing item draft)

Parameters not published.

Ask AI

✦

Ask AI about io.github.mikusnuz/cws

Powered by Claude · Grounded in docs

I know everything about io.github.mikusnuz/cws. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

  • ✓README presentThe repository ships documentation.

5 checks have not been run yet.

README

cws-mcp

npm version

한국어

MCP Badge

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

README copy captured when this server was indexed; it may lag the repository. The original is authoritative.

Questions

About io.github.mikusnuz/cws

How do I install io.github.mikusnuz/cws?

Run claude mcp add io-github-mikusnuz-cws -- npx -y cws-mcp, then add the server to your MCP client's configuration.

Is io.github.mikusnuz/cws safe to use with an AI agent?

Its trust score is 37 out of 100 (low). It passes 1 of the 1 static security checks run so far. It has no ConduID identity yet, so agent calls to it are not receipted.

Is io.github.mikusnuz/cws still maintained?

Conduid hasn't recorded a commit date for this repository yet. Check the repository directly for recent activity.