MCP server for managing Chrome Web Store extensions, providing tools for validation, packaging, uploading, publishing, and status checking
Chrome Web Store MCP demonstrates solid fundamentals: all 10 tools have descriptions (avg 120 chars), explicit input schemas with typed parameters, and comprehensive tool annotations (readOnlyHint, destructiveHint, idempotentHint, openWorldHint). Tool names follow verb_noun convention (get_, list_, pack_, upload_, publish_, set_, cancel_, check_). However, parameter descriptions are sparse or missing in several tools (e.g., 'profile' and 'extension_id' lack detail on resolution behavior), and output schemas are not visible in the provided code. Error handling guidance is absent, tools do not document recovery paths or categorize failures. Confirmation gates (confirm=true) are present on destructive operations, which is excellent. Overall: good naming and annotation discipline, but parameter documentation and output schema visibility need improvement.
Cancel a pending submission under review. Requires confirm=true.
Verify OAuth credentials and publisher configuration.
Check published and submitted state, upload progress, and policy warnings for an extension.
Return credential and project setup steps.
List extension profiles configured in cws.toml.
Create a new zip package from an extension directory without overwriting an existing file.
Output schemas not visible in source code. Tools register with OutputSchema fields, but schema definitions are not shown. Cannot verify return types, field names, or pagination support.
Parameter descriptions lack detail on resolution behavior. 'profile' and 'extension_id' parameters do not explain how profiles are resolved from cws.toml, what happens if both are provided, or what the default behavior is. LLMs cannot infer precedence rules.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 66 | 2025-06-18+ | v2 |
Publish the most recently uploaded version. Requires confirm=true.
Increase the rollout percentage for a published extension. Requires confirm=true.
Validate, package, and upload an extension. Requires confirm=true and does not publish.
Run local and optional Chrome Web Store preflight checks before uploading.
No error handling guidance. Tools do not document what errors are retryable, what user actions are needed on failure, or how to recover from common failures (e.g., 'extension not found', 'upload timeout', 'policy violation').
Missing parameter constraints. 'timeout' (integer) and 'deploy_percentage' (integer) lack min/max bounds. LLMs could pass negative, zero, or absurdly large values without validation guidance.
Sparse parameter descriptions for simple tools. 'list_extension_profiles' and 'check_auth' have empty input schemas but lack explanation of what they return or when to call them.