cws-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| CWS_ITEM_ID | No | Default extension item ID | |
| CWS_CLIENT_ID | Yes | Google OAuth2 Client ID | |
| CWS_PUBLISHER_ID | No | Publisher ID | me |
| CWS_CLIENT_SECRET | Yes | Google OAuth2 Client Secret | |
| CWS_REFRESH_TOKEN | Yes | OAuth2 Refresh Token | |
| CWS_DASHBOARD_PROFILE_DIR | No | Browser profile path for UI automation | ~/.cws-mcp-profile |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| uploadA | 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. |
| publishC | Publish an extension to Chrome Web Store. Supports immediate publish, staged publish, initial deploy percentage, and skip-review. |
| statusA | 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. |
| cancelA | Cancel a pending submission on Chrome Web Store. Can be used to cancel an item currently in review. |
| deploy-percentageA | 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. |
| getA | Fetch publication status through v2 (alias of status). Version 2 no longer returns listing metadata or supports projection; use get-metadata-ui for draft listing text. |
| get-metadata-uiA | Read the current draft listing description, category, homepage and support URL from the signed-in Developer Dashboard. This is not the published listing. |
| update-metadataA | Save draft listing description, category, homepage or support URL via the signed-in Developer Dashboard, then reload to verify. Does not submit for review. Package title/summary, raw payloads, and icon uploads are unsupported. |
| update-metadata-uiA | Save draft listing description, category, homepage or support URL via the signed-in Developer Dashboard, then reload to verify. Does not submit for review. Package title/summary, raw payloads, and icon uploads are unsupported. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| publish_extension | Step-by-step guide for publishing or updating a Chrome extension on the Chrome Web Store. Walks through upload, metadata update, and publish steps. |
| check_status | Check the review status and deployment percentage of a Chrome extension, and surface any actionable next steps. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 9 tools
Two pairs of tools are near-duplicates: 'update-metadata' and 'update-metadata-ui' share identical descriptions, and 'get' is explicitly documented as an alias of 'status'. An agent has no reliable basis for choosing between the members of each pair, though the remaining tools (upload, publish, cancel, deploy-percentage) are distinguishable.
All names use kebab-case, but the verb styles vary: bare imperatives (publish, cancel, upload, get), a noun (status), a noun phrase (deploy-percentage), and compound action names (update-metadata-ui, get-metadata-ui). The '-ui' suffix convention appears meaningful but is applied inconsistently since the non-'-ui' variant has the same description.
Nine tools is a reasonable scope for a Chrome Web Store publishing workflow. The count is slightly inflated by two redundant/aliased tools that could be collapsed.
The core lifecycle (upload, publish, status, cancel, staged rollout, metadata draft) is covered, but notable gaps remain: no item creation, no published-listing metadata read (only drafts via the dashboard), no icon/package title edits, and no takedown operation. Some gaps reflect API v2 limits, but agents will hit dead ends.