mcpField
E
extensiondev

extensiondev

ローカル
extension.dev開発ツール01 日前に更新

extensiondev について

extensiondevは、ブラウザー拡張機能の開発者やコーディングエージェント向けのMCPサーバーです。プロジェクトのひな形作成、ブラウザー上での検査、クロスブラウザー検証に加え、任意で公開機能も利用できます。

主な機能

  1. 0150以上のテンプレートから作成
  2. 02ホットリロードで拡張機能を実行
  3. 03DOM、ログ、ストレージ、コンテキストの検査
  4. 04期待する動作を判定付きでテスト
  5. 05マニフェスト検証とリリースビルド

活用シーン

  1. 01テンプレートからブラウザー拡張機能を作成
  2. 02実行中のブラウザーで拡張機能をデバッグ
  3. 03対応ブラウザー間の動作を確認
  4. 04拡張機能をビルドして審査に提出

MCP 対応

MCPクライアントに、ブラウザー拡張機能の作成、実行、検査、テスト、ビルド用ツールを提供します。任意のプラットフォームツールでは、プレビュー、共有、リリース、ストア審査への提出ができます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"extensiondev": {
"command": "npx",
"args": [
"-y",
"@extension.dev/mcp"
]
}
}
}
起動コマンドnpx -y @extension.dev/mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@extension.dev/mcp10.15.1

ツール

23

掲載時のツール一覧 · 今日に更新

パラメーター型必須説明
installbooleanいいえ作成後に依存関係をインストールします
templatestringいいえextension.dev カタログのテンプレート slug(例:'react'、'ai-claude'、'content-vue')。extension_templates でテンプレートを見つけられます。
parentDirstringいいえプロジェクトを作成するディレクトリ。デフォルトは MCP サーバープロセスの cwd であり、呼び出し元の cwd ではありません。作成場所を指定したい場合は必ず渡してください。エイリアス:parent、into。
projectNamestringはい拡張機能プロジェクトの名前(ディレクトリ名として使用)。エイリアス:name。

詳細

@extension.dev/mcp Version Downloads Discord

AI エージェントに、ブラウザー拡張機能開発のための手を与えましょう。35 個の MCP ツールで、クロスブラウザー拡張機能をお使いのマシンでスキャフォールド、実行、調査、デバッグ、テスト、ビルドできます。さらに、共有や公開に使えるプラットフォームレーン(プライベートアルファ)も利用できます。

ロゴ
claude mcp add extension-dev npx @extension.dev/mcp

Claude Code、Claude Desktop、Cursor、およびあらゆる MCP クライアントで利用できます。

extension.dev · ドキュメント · テンプレート · Discord

拡張機能向け MCP サーバーが必要な理由

拡張機能の問題は、気づかないうちに発生します。注入されないコンテンツスクリプト、開かないパネル、エラーもなく undefined を返す権限などです。これらのツールを使えば、エージェントが実行中のブラウザーを直接確認できるため、推測ではなく証拠に基づいてデバッグできます。

  • スキャフォールド:templates.extension.dev の 50 種類以上のテンプレートから作成するか、既存のプロジェクトにポップアップ、サイドバー、コンテンツスクリプトを追加できます
  • 実行:Chrome、Firefox、Edge、および以下のすべてのブラウザーで HMR を有効にして開発サーバーを実行できます。macOS の Safari にも対応しています(HMR はまだ利用できません)
  • 確認:ライブ DOM、すべての拡張機能コンテキストのログ、chrome.storage、読み込み済み拡張機能の一覧を確認できます
  • 操作:任意のコンテキストでコードを評価し、アクションボタンやコマンドを実行して、拡張機能を再読み込みできます
  • テスト:実行中の拡張機能に対する期待事項を指定すると、それぞれについて判定結果が得られます
  • 公開:マニフェストのクロスブラウザー検証と、本番用のビルドができます。プラットフォームレーンでは、プレビューリンクの共有、ビルドの昇格、ストアへの申請も行えます

extension.dev がスポンサーを務めるオープンソースのフレームワーク、Extension.jsを基盤に構築されています。

動作の様子

拡張機能を実行するよう頼まれると、エージェントが開発セッションを開始します。Chrome が拡張機能を読み込んで起動し、実際の Claude Code セッションでエージェントがセッションについて報告します

ブラウザー

extension_dev は、指定したブラウザーで拡張機能を開きます。

ChromeChromiumEdgeBraveOperaFirefoxSafari
Google ChromeChromiumMicrosoft EdgeBraveOperaMozilla FirefoxApple Safari

Chromium 系と Firefox では、HMR、制御、評価、検査、アサーションを利用できます(Firefox では CDP を使わず、デバッガープロトコルとエージェントブリッジを使用します)。Safari では macOS 上で開発とビルドを利用できますが、HMR と検査には対応していません。Safari で利用できる機能の全一覧は、Safari をご覧ください。さらに、Vivaldi、Yandex、Waterfox、Zen、Floorp、およびパスで指定した任意の Chromium または Gecko バイナリにも対応しています。

クライアント

Claude CodeClaude DesktopCursorVS CodeCodex
Claude CodeClaude DesktopCursorVS CodeCodex

セットアップ

Claude Code
claude mcp add extension-dev -- npx @extension.dev/mcp --features=local,platform

またはプラグインとしてインストールすると、MCP サーバーと /extension、/extension-add、/extension-debug、/extension-publish コマンドをまとめてセットアップできます。

/plugin marketplace add extensiondev/mcp
/plugin install extension-mcp@extensiondev-mcp
Cursor

MCP サーバーをインストール

または、以下の .mcp.json ブロックを .cursor/mcp.json に貼り付けます。

VS Code
code --add-mcp '{"name":"extension-dev","command":"npx","args":["@extension.dev/mcp","--features=local,platform"]}'

または、"type": "stdio" をエントリーに指定して、servers の下に貼り付けます。

Codex
codex mcp add extension-dev -- npx @extension.dev/mcp --features=local,platform

または、同じ command と args を含む [mcp_servers.extension-dev] テーブルとして、~/.codex/config.toml に記述します。

その他のクライアント(Claude Desktop と .mcp.json)

.mcp.json:

{
  "mcpServers": {
    "extension-dev": {
      "command": "npx",
      "args": [
        "@extension.dev/mcp",
        "--features=local,platform"
      ]
    }
  }
}
フラグ
  • デフォルトでは、このマシンで動作する35個中24個のツールがサーバーによって公開されます(11個のプラットフォームツールは無効です)。--features=local,platformを指定すると、プラットフォームグループが追加されます。環境変数:EXTENSION_DEV_FEATURES。
  • --no-shipを指定すると、他の人の目に触れるものを伴うすべての呼び出し(公開、昇格、実際の送信、共有プレビュー、取り消し)が拒否されます。環境変数:EXTENSION_DEV_NO_SHIP=1。
  • --project <workspace>/<project>を指定すると、サーバーを1つのプロジェクトに固定します。環境変数:EXTENSION_DEV_PROJECT。
  • プラットフォーム操作がデスクトップ環境(ヘッドレスでもCIでもなく、ディスプレイがあるLinux環境)でapproval-requiredを返した場合、サーバーはデフォルトのブラウザーで承認ページを一度開きます。--no-shipまたはEXTENSION_DEV_NO_AUTO_OPEN=1を指定すると、この動作は無効になります。

拒否された呼び出しは、変更すべきフラグとともにE_TOOL_DISABLEDを返します。ストアへの送信と安定版への昇格に対する人間の承認、各ツールが持つMCPアノテーション、ページに書き込まれたテキストを囲む<untrusted-data-ID>のフェンスについては、サーバーフラグを参照してください。

テレメトリー

extension_createは、スキャフォールドの作成に成功すると、PostHogのus.i.posthog.comにdraft_seededイベントを1件送信します(テンプレートのスラッグ、ソースとコミット、プロセスごとにランダムなセッションIDを含みます。パスや名前は含みません)。プラットフォームツールは呼び出し時にインストールごとのIDヘッダーを送信します。EXTENSION_DEV_NO_TELEMETRY=1またはDO_NOT_TRACK=1を設定すると、両方が停止します。ペイロードの全項目はテレメトリーに記載されています。

スキルと組み合わせる

このサーバーはエージェントに手段を提供し、@extension.dev/skillは判断力を提供します。クロスブラウザーのルール、見落としやすいサイレント失敗の注意点、デバッグ手順、ストアのチェックリストが、オープンなAgent Skills形式で用意されています。このパッケージには、Claude Codeのルールとclaude/内の4つのスラッシュコマンドも含まれています。

npm i -D @extension.dev/skill
mkdir -p .claude/skills && cp -R node_modules/@extension.dev/skill/skills/extension-dev .claude/skills/

ツール

デフォルトで有効な、このマシンで動作する24個のツール:

Tierツール説明
buildextension_createテンプレートからスキャフォールドを作成
buildextension_templates50 以上のテンプレートを参照し(list)、テンプレートのソースを確認(source)
buildextension_docs_searchキーワードで Extension.js と extension.dev のドキュメントを検索
buildextension_add_feature既存プロジェクト向けに、オプションページ、ポップアップ、サイドパネル、コンテンツスクリプト、開発者ツールパネル、新しいタブページを計画
buildextension_build本番用にビルド
runextension_devHMR 対応の開発サーバー
runextension_start本番用ビルドをビルドして起動(build: false の場合は既存の dist を起動し、outputPath の場合は任意のビルド済み展開ディレクトリを起動)
runextension_wait開発サーバーの準備完了コントラクトをポーリング
runextension_stopdev/start/preview セッション(サーバーとブラウザー)を停止
seeextension_manifest_validateクロスブラウザーのマニフェスト検証
seeextension_analyzeディスク上のビルド済み拡張機能を静的解析
seeextension_inspect実行中の拡張機能を詳細にライブ検査(閉じたシャドウルート、プローブ)
seeextension_dom_snapshotエージェントブリッジ経由で、選択したタブまたは拡張機能サーフェスの浅い DOM スナップショットを取得
seeextension_screenshot開いている拡張機能サーフェスまたはページのスクリーンショットを、セッションのデバッグポート経由で .png として保存
seeextension_list_extensions読み込まれている拡張機能を一覧表示(Chromium と Firefox)
seeextension_logsすべてのコンテキストからログをストリーミング
seeextension_doctor開発セッションを段階ごとに診断(準備完了コントラクト、ポート、トークン、エグゼキューター、ブラウザー)
seeextension_theme_verifyChrome が実際に描画する色と照らし合わせて、Chrome テーマのマニフェストを検証
testextension_assert実行中の拡張機能に対する期待値を指定し、合格、不合格、または判定不能のいずれかの判定を取得
actextension_evalコンテキスト内で評価(extension_dev で allowEval: true が必要)
actextension_storagechrome.storage を読み書き
actextension_reload拡張機能またはタブを再読み込み
actextension_openサーフェス(ポップアップ、オプション、サイドバー、開発者ツールパネル、オーバーライドページ)を開く/action、command を実行
browsersextension_browsersブラウザーを検出、一覧表示、インストール、アンインストール

--features=local,platform を有効にすると、extension.dev プラットフォームに接続する 11 個(プライベートアルファ版):

TierToolDescription
platformextension_authextension.dev で、1 つのプロジェクトまたは複数のプロジェクトにデバイスログインし、ログイン状態の確認やログアウトを行います
platformextension_workspace_createデバイス承認を通じて、ヘッドレスで extension.dev ワークスペースを作成します。承認者がその所有者になります
platformextension_project_createデバイス承認を通じて、ビルド済み拡張機能用の extension.dev プロジェクトを作成します。または、1 回の承認で複数のプロジェクトをヘッドレスで作成します
platformextension_preview_webWeb エミュレーターでビルドを表示し、リンクとして共有します
platformextension_shares共有したすべてのリンクを一覧表示し、プラットフォームのビルドをリンクとして共有して、リンクを完全に取り消します
platformextension_publishextension.dev がすでに保持しているビルド用の共有可能なリンクを発行します(アップロードは行われません)
platformextension_release_promoteヘッドレスで、ビルドをリリースチャンネルに昇格します
platformextension_submitextension.dev を通じて、Chrome、Firefox、Edge、Safari のストア審査に提出します
platformextension_release_statusリリースチャンネル、リリース履歴、最近のビルド、ストアの設定、提出状況、審査状況を読み取ります
platformextension_buildsプラットフォームのビルド(最近のビルド、個々のビルドの成果物と整合性、その CI ログ)を読み取り、整合性レポートと照合して検証済みのビルドパッケージをディスクに保存し、再ビルドを開始し、所有者のトークンを使って通常の呼び出しとしてビルド設定を変更し、リリースチャンネルを追加します
platformextension_workspaceプロジェクトのログイン情報を使ってワークスペースを読み取ります。プランと上限、プロジェクトと最後のビルド、使用状況、プロジェクトの設定を確認できます

開発セッションには、extension_storage、extension_reload、extension_open、extension_dom_snapshot が使用する制御チャンネルが含まれます。このチャンネルはローカルで、同じマシン上の同じユーザーが使用し、extension_dev に allowControl: false を指定しない限り有効です。extension_eval は、extension_dev に allowEval: true を渡すまで無効のままです(この指定は制御も有効にします)。2 回目の呼び出しを行っても、セッションのゲートは変わりません。必要な指定と replace: true を付けて extension_dev を再度呼び出すと、最初のセッションが停止します。

推測するのではなく、アサーションする

ほかのすべてのツールは読み取り結果を返します。extension_assert は期待する結果を指定し、判定結果を返します。

拡張機能が動作するか尋ねられたエージェントが、実際の Claude Code セッションで拡張機能を実行し、期待する結果を指定して、それぞれ 1 つの判定結果を読み取ります

{
  "projectPath": "/path/to/extension",
  "expect": [
    { "assert": "background-worker-booted" },
    { "assert": "surface-rendered", "surface": "popup", "selector": "[data-testid=root]" },
    { "assert": "storage-key-present", "key": "settings", "area": "local" },
    { "assert": "console-errors-empty", "context": ["background", "popup"] },
    { "assert": "content-script-injected", "url": "https://shop.example/cart" }
  ]
}

各チェックの結果は pass、fail、inconclusive のいずれかで、すべてのチェックに合格した場合のみ実行全体が合格となります。inconclusive は、現時点でこのプラットフォームではその質問を検証できないことを意味します。チェックには、回答に必要な証拠を示す settledBy が含まれます。コンテンツスクリプトのチェックは、そのスクリプト自身が書き込んだ行でのみ合格します。ビルドされていないセッションでの「コンソールエラーなし」は判定不能です。また、セッションが拒否した読み取り(allowControl: false を指定して開始したセッションでの chrome.storage)も失敗ではなく、判定不能となります。

Safari

Safari の開発セッションは、ほかのすべてのエンジンと同じブリッジで実行されます。Extension.js 4.1.21 以降では、extension_dev に browser: "safari" を指定すると(macOS と Xcode が必要です)、アプリをビルドして開き、保存するたびに再読み込みし、ログをストリーミングします。Safari の MV3 バックグラウンド CSP は eval をブロックします。extension_inspect に使える CDP または RDP の経路はなく、タブを開くには safaridriver セッションが必要です。制限事項は Safari に記載されています。

プラットフォーム(プライベートアルファ版)

プラットフォームツールは11個あり、エージェントを extension.dev に接続します。サーバーを --features=local,platform を指定して起動するまで無効のままです。また、共有、公開、プロモーション、提出にはログインが必要です。

npx @extension.dev/mcp login --project <workspace>/<project>

extension.dev/device でコードを承認します。GitHub トークンがご利用のマシンに送られることはありません。プロジェクトスコープのトークンはローカルに保存され、エージェントに返されることはなく、最長7日間有効です。share: true を指定した extension_preview_web は、直前にビルドした成果物をアップロードし、ウェブエミュレーターでそのバイト列を表示するリンクと、expiresAt および revokeUrl を返します。extension_publish は extension.dev がすでに保持しているビルドの共有可能な URL を返します。extension_submit は、ビルド済みの拡張機能を extension.dev 経由でストア審査に提出します。ストアの認証情報は extension.dev が保持し、既定ではドライランとして実行されます。

Chrome ウェブストアFirefox アドオンEdge アドオンApp Store
Chrome ウェブストアFirefox アドオンEdge アドオンApp Store

詳細、承認フロー、複数のプロジェクトへの一括ログインについては、ビルド中の成果物を共有する、公開と提出は別の操作、ログインをご覧ください。

コミュニティ

  • extension.dev の Discord に参加して、サポートやフィードバックを受けましょう
  • templates.extension.dev で本番環境向けのテンプレートを探しましょう
  • GitHub でプラットフォームの公開パッケージをチェックしましょう
  • GitHub で Extension.js フレームワークの問題を報告しましょう

ライセンス

Apache-2.0 (c) 2026 Cezar Augusto および extension.dev のコラボレーター。詳しくは LICENSE をご覧ください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。