@extension.dev/mcp 5.4.0 → 5.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,7 +2,7 @@
2
2
  "name": "extensiondev-mcp",
3
3
  "owner": {
4
4
  "name": "Cezar Augusto",
5
- "email": "boss@cezaraugusto.net",
5
+ "email": "hello@extension.dev",
6
6
  "url": "https://extension.dev"
7
7
  },
8
8
  "plugins": [
@@ -10,7 +10,7 @@
10
10
  "name": "extension-mcp",
11
11
  "source": "./",
12
12
  "description": "MCP tools for browser extension development: scaffold from 60+ templates, run the dev server with HMR, inspect the live DOM and logs, and publish store-ready builds for Chrome, Edge, and Firefox.",
13
- "version": "5.4.0",
13
+ "version": "5.5.1",
14
14
  "category": "development",
15
15
  "author": {
16
16
  "name": "Cezar Augusto"
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "extension-mcp",
3
3
  "description": "MCP tools for browser extension development: scaffold from 60+ templates, run the dev server with HMR, inspect the live DOM and logs, and publish store-ready builds for Chrome, Edge, and Firefox. Ships /extension, /extension-add, /extension-debug, and /extension-publish commands.",
4
- "version": "5.4.0",
4
+ "version": "5.5.1",
5
5
  "author": {
6
6
  "name": "Cezar Augusto",
7
- "email": "boss@cezaraugusto.net",
7
+ "email": "hello@extension.dev",
8
8
  "url": "https://cezaraugusto.com"
9
9
  },
10
10
  "homepage": "https://github.com/extensiondev/mcp",
package/CHANGELOG.md CHANGED
@@ -1,5 +1,84 @@
1
1
  # Changelog
2
2
 
3
+ ## 5.5.1
4
+
5
+ The store journey stops being write-only after submit, and the token
6
+ surfaces start telling the truth about lifetimes and API bases.
7
+
8
+ ### Added
9
+
10
+ - `extension_store_status` (tool 33): the post-submit sibling of
11
+ `extension_deploy`. Reads the project's public registry
12
+ (`stores/health.json`, `stores/status.json`, `stores/submissions.json`)
13
+ and reports per store whether it is configured, its latest credential
14
+ health check, the last recorded submission (version, status, store
15
+ URL, submitted-at), and the latest review status. Normalizes both the
16
+ v3 merged status schema and legacy v2 poller documents. Defaults to
17
+ the logged-in project; accepts `workspace` + `project` overrides like
18
+ `extension_release_list`. A configured store with a failing credential
19
+ reports `configured: true` with `health.ok: false` (rotate the
20
+ credential, deep-linked), never "not configured".
21
+
22
+ ### Fixed
23
+
24
+ - `extension_whoami` no longer asserts a bare `api` field that could
25
+ misstate the platform base (a login minted via a localhost dev server
26
+ kept reporting that dead base for a token that authenticates against
27
+ production). The recorded login base is now labeled
28
+ `apiRecordedAtLogin`, `apiDefault` reports what authenticated tools
29
+ actually target, the message flags any divergence, and a set
30
+ `EXTENSION_DEV_TOKEN` is disclosed as outranking the stored login.
31
+ - The 7-day token TTL (server-enforced) is now stated everywhere a CI
32
+ author looks: `extension_login`'s description and success/pending
33
+ results, `extension_whoami`'s `tokenTtlNote` (with the deep console
34
+ Access tokens URL), and the auth prose of `extension_deploy` and
35
+ `extension_release_promote` (`extension_publish`'s auth envelope is
36
+ byte-frozen and unchanged).
37
+ - `extension_deploy`'s description says the per-store rows in the result
38
+ are the verdict to trust: the platform's bare preflight line does not
39
+ check store health. A real (non-dry-run) submission now points at
40
+ `extension_store_status` for tracking.
41
+
42
+ ## 5.5.0
43
+
44
+ The debug surfaces learn to point at things: tabs are targetable by
45
+ URL, extensions in lists have names, and eval works on the default
46
+ template by default.
47
+
48
+ ### Added
49
+
50
+ - `extension_dom_inspect` targets tabs by `tabUrl` (case-insensitive
51
+ URL substring, title as fallback). Exactly one match inspects it and
52
+ the result names the resolved target; zero or multiple matches return
53
+ the candidate targets instead of guessing. `listTargets: true` lists
54
+ the browser's live CDP page targets (targetId, url, title, type) with
55
+ the standing warning that a CDP targetId is NOT a chrome.tabs id.
56
+ - `extension_list_extensions` names its entries. The dev session's own
57
+ extension resolves to `name`, `version`, and `ownExtension: true`
58
+ (identified by recomputing Chrome's unpacked-extension id from the
59
+ ready contract's distPath) and sorts first; entries that cannot be
60
+ resolved carry a note saying why instead of a silent bare id. Other
61
+ extensions' contexts are never attached to or evaluated in.
62
+
63
+ ### Fixed
64
+
65
+ - `extension_eval` works on the default template by default. On
66
+ Chromium with an MV3 manifest the default context is now `page` (the
67
+ MV3 service worker CSP blocks background eval), disclosed in the
68
+ result as `defaultedContext` with the reason; explicit
69
+ `context: "background"` is unchanged and keeps its CSP explanation.
70
+ Firefox and MV2 defaults are untouched. A defaulted eval that lands
71
+ on an unreachable active tab returns a hint to navigate or pass
72
+ `url`/`tab`.
73
+ - Error remedies speak tool arguments, never CLI flags: the engine's
74
+ `--context page --tab <id>` prose is rewritten into `context:`/
75
+ `tab:`/`url:` vocabulary, with guards so ordinary prose is never
76
+ garbled by the rewriting.
77
+ - The debugging documentation's headline example now runs on the
78
+ default template (page-context eval); the background variant is
79
+ labeled MV2/Firefox, and the cross-browser matrix states per-context
80
+ eval support honestly with the MV3 CSP footnote.
81
+
3
82
  ## 5.4.0
4
83
 
5
84
  The DevX swarm's non-blocker friction clusters, cleared: waiting is
@@ -604,7 +683,7 @@ this release graduates that line to stable and becomes `latest`.
604
683
 
605
684
  # @extension.dev/mcp, Changelog
606
685
 
607
- ## Unreleased, agent-bridge tools
686
+ ## 5.5.1, agent-bridge tools
608
687
 
609
688
  Adds the MCP client surface for the Extension.js **agent bridge** (dev-time
610
689
  observe + act + inspect). All new tools shell out to the `extension` CLI verbs
@@ -639,7 +718,7 @@ Internal: `lib/act` (CLI shell-out helper), `lib/exec.runExtensionCli` (capture)
639
718
  `lib/cdp.getClosedShadowRoots`. Test infra aligned to the workspace vitest
640
719
  catalog.
641
720
 
642
- ## Unreleased, login (auth tools)
721
+ ## 5.5.1, login (auth tools)
643
722
 
644
723
  Adds the missing `login` flow so `extension_publish` no longer requires the user
645
724
  to mint and export `EXTENSION_DEV_TOKEN` by hand. Auth stays auth-AWARE: the
package/README.md CHANGED
@@ -7,7 +7,7 @@
7
7
 
8
8
  # @extension.dev/mcp [![Version][npm-version-image]][npm-version-url] [![Downloads][npm-downloads-image]][npm-downloads-url] [![Discord][discord-image]][discord-url]
9
9
 
10
- > Give your AI agent hands for browser extension development. 30 MCP tools that scaffold, run, inspect, debug, and publish cross-browser extensions.
10
+ > Give your AI agent hands for browser extension development. 33 MCP tools that scaffold, run, inspect, debug, and publish cross-browser extensions.
11
11
 
12
12
  <img alt="Logo" align="right" src="https://media.extension.land/brand/extension-dev/logo-dock.png" width="20.7%" />
13
13
 
@@ -127,7 +127,7 @@ Browser-launching tools (`dev`, `start`, `preview`) shell out to the `extension`
127
127
 
128
128
  ## From preview to store
129
129
 
130
- The platform tools connect agents to [extension.dev](https://extension.dev): `extension_login` runs a GitHub device-code flow and stores a project-scoped token locally (never returned to the agent), `extension_publish` turns a build into a shareable preview URL, and `extension_release_promote` promotes a tested build to a release channel from CI or an agent session, no browser required. `extension_deploy` submits a built extension to the Chrome Web Store, Edge Add-ons, and Firefox AMO through extension.dev, which holds your store credentials and dispatches the release from your project's mirror CI, it defaults to a dry run and store credentials are never tool arguments.
130
+ The platform tools connect agents to [extension.dev](https://extension.dev): `extension_login` runs a GitHub device-code flow and stores a project-scoped token locally (never returned to the agent), `extension_publish` turns a build into a shareable preview URL, and `extension_release_promote` promotes a tested build to a release channel from CI or an agent session, no browser required. `extension_deploy` submits a built extension to the Chrome Web Store, Edge Add-ons, and Firefox AMO through extension.dev, which holds your store credentials and dispatches the release from your project's mirror CI, it defaults to a dry run and store credentials are never tool arguments. After a real submission, `extension_store_status` reads the recorded outcome, per-store credential health, and review state from the project's public registry, so agents and CI can answer "was it approved?" without a console visit. Access tokens live at most 7 days; CI pipelines re-mint them from the console's Access tokens page.
131
131
 
132
132
  ## The extension.dev stack
133
133