mcpField
U
Ui Annotator Mcp

Ui Annotator Mcp

ローカル
github.com/mcpware開発ツール2131 週間前に更新

Ui Annotator Mcp について

UI Annotator MCP は、リバースプロキシを使って任意の Web ページにホバーラベルを追加し、AI アシスタントがページ上の要素を識別できるようにする MCP サーバーです。ブラウザ拡張機能は不要で、AI と UI の変更内容を話し合う開発者、QA 担当者、デザイナーに適しています。

主な機能

  1. 01ホバーで要素名、セレクター、サイズを表示
  2. 02ブラウザ拡張機能を使わないリバースプロキシ注入
  3. 03インスペクトモードでクリックした要素名をコピー
  4. 04DOM 変更時の自動再スキャン
  5. 05AI から操作できる 5 つの MCP ツール

活用シーン

  1. 01コンポーネント名を使って AI に UI 要素を指定する
  2. 02任意のブラウザでページを確認し、要素の位置を特定する

MCP 対応

本プロジェクトは MCP サーバーであり、annotate、get_elements、highlight_element、rescan_elements、inspect_mode の 5 つのツールを MCP クライアントに提供します。

設定

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

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

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

パッケージ
npm@mcpware/ui-annotator0.1.1

ツール

5

掲載時のツール一覧 · 3 週間前に更新

パラメーター型必須説明
urlstringはい注釈を付ける対象の URL。例:"http://localhost:3847" または "localhost:3847"

詳細

UI Annotator MCP

npm version npm downloads license GitHub stars GitHub forks

English | 廣東話

目に見えるものと AI が参照できるものの間をつなぎます — どのブラウザーでも、拡張機能は不要です。

すべての Web 要素に見やすいラベルを付ける唯一のツールです。任意の要素にカーソルを合わせると、その名前が表示されます。AI アシスタントに「sidebarを広げて」と伝えれば、対象の要素を正確に認識します。スクリーンショットも、CSS セレクターも、認識違いも必要ありません。

デモ

重要な理由

AI を活用した UI のデザインと反復作業を大幅に改善します。悩みの種は、AI に「検索バーの隣にあるボタンを移動して」と伝えても、AI がページを見られないためうまくいかないことです。UI Annotator がこれを解決します — 任意の要素にカーソルを合わせると、コンポーネント名がラベルとして表示されます。これで「SearchButtonをNavBarの下に移動して」と伝えれば、Claude がすぐに正しいコンポーネントを編集します。ブラウザー拡張機能は不要で、どのフレームワークでも動作します。ワークフローは次のようになります:ページを開く → 要素を特定するためにカーソルを合わせる → 実際のコンポーネント名を使って変更を伝える → Claude が編集する → ページを更新して繰り返す。苛立たしいやり取りを、スムーズなデザインの反復サイクルに変えます。

問題点

AI コーディングアシスタントと Web UI を確認するとき、最も難しいのはコードの変更ではなく、変更したい要素を説明することです。

「左側にあるあれ……2 行目の……いや、アイコンが付いているやつ……」

名前が分かりません。AI には、どれを指しているのか分かりません。開発を進める代わりに、意思疎通の齟齬に時間を費やしてしまいます。

解決策

アノテーターのプロキシ経由でページを開きます。任意の要素にカーソルを合わせると、その名前、CSS セレクター、寸法がすぐに表示されます。これで、お互いに同じ言葉でやり取りできます。

# Start the MCP server
npx @mcpware/ui-annotator

# Open in ANY browser
http://localhost:7077/localhost:3847

これだけです。 ブラウザー拡張機能は不要です。コードの変更も不要です。セットアップも不要です。Chrome、Firefox、Safari、Edge など、どのブラウザーでも動作します。

仕組み

Your app (localhost:3847)
        │
        ▼
┌─────────────────────┐
│  UI Annotator Proxy  │ ← Reverse proxy on port 7077
│  (MCP Server)        │
└─────────────────────┘
        │
        ▼
Proxied page with hover annotations injected
        │
        ├──► User sees: hover overlay + tooltip with element names
        └──► AI sees: structured element data via MCP tools

プロキシがページを取得し、軽量なアノテーションスクリプトを挿入して、ページを返します。このスクリプトは DOM をスキャンして、名前の付いた要素を識別し、それらを MCP サーバーに報告します。AI アシスタントはサーバーに問い合わせて、ページ上に何があるかを把握します。

機能

ホバーアノテーション

任意の要素にカーソルを合わせると、次の情報が表示されます:

  • 要素名(ピンク)— 人が読みやすい識別名
  • CSS セレクター(等幅フォント)— 技術的な参照情報
  • コンテンツのプレビュー — 要素に含まれるテキスト
  • 寸法 — ピクセル単位の幅 × 高さ
検査モード

ツールバーの検査ボタンをクリックします(または AI に切り替えてもらいます)。検査モードでは:

  • 任意の要素をクリック → その名前をクリップボードにコピー
  • ページ上のすべての操作が一時停止します(クリックしてもボタンやリンクは起動しません)
  • もう一度「検査」をクリックすると通常モードに戻ります
折りたたみ可能なツールバー

ツールバーはページ上部の中央に表示され、次の内容が含まれます:

  • 検査モード切り替えボタン
  • 要素数
  • 操作方法を説明する補助テキスト
  • 必要ないときに最小化する折りたたみボタン(▲)
AI 向け MCP ツール
ツール機能
annotate(url)ユーザーが任意のブラウザーで開くためのプロキシ URL を返します
get_elements()検出された UI 要素の名前、セレクター、位置をすべて返します
highlight_element(name)特定の要素を点滅表示して、ユーザーが確認できるようにします
rescan_elements()ページの変更後に DOM の再スキャンを強制します
inspect_mode(enabled)検査モードをリモートで切り替えます

DevTools を使うだけではだめですか?

ブラウザー DevToolsUI Annotator
対象ユーザーDOM を理解しているフロントエンド開発者誰でも — QA、PM、デザイナー、ジュニア開発者
学習曲線DOM ツリー、CSS セレクター、ボックスモデルを理解する必要がありますホバーして読むだけ — 学習は不要です
コミュニケーション「2 番目の子要素の中にある div.flex.gap-4」「sidebar」
用語CSS/HTML の専門用語人が読みやすい名前
セットアップDevTools を開いて DOM をたどる方法を教える必要がありますURL を開くだけです
AI 連携なし — AI は調査中の内容を確認できませんMCP — AI はあなたと同じ要素名を確認できます

DevTools はデバッグ用です。 UI Annotator はコミュニケーション用です — 人間と AI が UI 要素について共通の語彙を使えるようにします。

既存のツールを使うだけではだめですか?

これらのツールはどれも、UI Annotator が実現する機能、つまりリバースプロキシ経由で、すべての要素にリアルタイムの視覚ラベルを表示することには対応していません。

ツールアプローチ異なる点
browser-use(82K⭐)AI 自動化フレームワークブラウザーを自動操作しますが、人間向けに要素へラベルを付けるものではありません。用途がまったく異なります。
Chrome DevTools MCP(31K⭐)DOM スナップショット + 要素 UIDAI は調査できますが、人間には視覚的な注釈が表示されません。共通の語彙もありません。
Playwright MCP(29K⭐)アクセシビリティツリーのスナップショット構造化テキストを返しますが、視覚的なオーバーレイはありません。重要なコンテキストが切り詰められます。
OmniParserスクリーンショット + CV 検出スクリーンショットベースであり、ライブ DOM ではありません。難しいベンチマークでの精度は約 40% です。
MCP Pointer(526 ユーザー)Chrome 拡張機能 + MCPChrome 拡張機能が必要です。人間がクリックして選択します — ホバーオーバーレイはありません。
Agentationアプリに埋め込む npm パッケージコードの変更が必要です。React 18 以降への依存があります。設定不要ではありません。
Vibe AnnotationsChrome 拡張機能拡張機能ベースの、開発者専用の注釈ワークフローです。
機能の比較
機能UI AnnotatorMCP PointerAgentationCursorChrome DevTools MCP
ホバー時の視覚的な注釈はいいいえ一部対応はい(IDE のみ)いいえ
要素名の表示はいはいはいいいえ(概要レベル)プログラム経由
寸法の表示はいはいはい(詳細)はいプログラム経由
MCP サーバーはいはいはいいいえはい
ブラウザー拡張機能が不要はいいいえはい該当なしいいえ
コードの変更が不要はいはいいいえ該当なしはい
任意のブラウザーで使用可能はいChrome のみデスクトップのみCursor のみChrome のみ
依存関係なしはいChrome 拡張機能React 18 以降CursorChrome
クリックして要素名をコピーはいいいえいいえいいえいいえ

アーキテクチャ

外部依存関係ゼロ
  • リバースプロキシ:Node.js 組み込みの http モジュール
  • MCP サーバー:@modelcontextprotocol/sdk(stdio トランスポート)
  • 通信:HTTP POST(ブラウザー → サーバー)+ GET ポーリング(サーバー → ブラウザー)
  • WebSocket、Express、ブラウザー拡張機能は不要
プロキシの動作
  1. ユーザーが localhost:7077/localhost:3847 にアクセスします
  2. プロキシが http://localhost:3847 から取得します
  3. HTML レスポンスの場合:
    • fetch() / XMLHttpRequest インターセプターを挿入します(API パスをプロキシ経由に書き換えます)
    • href="/..." と src="/..." 属性を書き換え、プロキシ経由でルーティングします
    • </body> の前に注釈スクリプトを挿入します
  4. HTML 以外(CSS、JS、画像)の場合:そのまま転送します
  5. スクリプトを挿入できるように、Content-Security-Policy ヘッダーを削除します
注釈の動作
  1. スクリプトが DOM をスキャンし、id、class、セマンティックロール、またはインタラクティブロールを持つ要素を検出します
  2. ホバー時:オーバーレイの境界線(border-radius に沿って表示)を配置し、ツールチップ(常にビューポート内に表示)を配置します
  3. 検出したすべての要素を POST /__annotator/elements 経由でサーバーに報告します
  4. サーバーからの指示(ハイライト、再スキャン、検査の切り替え)を GET /__annotator/commands で 1 秒ごとにポーリングします
  5. MutationObserver が DOM の変更時に自動で再スキャンします

クイックスタート

Claude Code を使用する
# Add as MCP server
claude mcp add ui-annotator -- npx @mcpware/ui-annotator

# Then in conversation:
# "Annotate my app at localhost:3847"
# → AI returns proxy URL, you open it, hover elements, discuss changes by name
手動で実行する
npx @mcpware/ui-annotator
# Proxy starts on http://localhost:7077
# Open http://localhost:7077/localhost:YOUR_PORT
環境変数
変数デフォルト説明
UI_ANNOTATOR_PORT7077プロキシサーバーのポート

@mcpware のその他のプロジェクト

プロジェクト機能インストール
Instagram MCPInstagram Graph API の23個のツール — 投稿、コメント、DM、ストーリー、分析npx @mcpware/instagram-mcp
Claude Code OrganizerClaude Code のメモリ、スキル、MCP サーバー、フックのビジュアルダッシュボードnpx @mcpware/claude-code-organizer
PagecastMCP を介してブラウザーセッションを GIF または動画として記録npx @mcpware/pagecast
LogoLoomAI ロゴデザイン → SVG → ブランドキット一式をエクスポートnpx @mcpware/logoloom

ライセンス

MIT

コメント

MCP は初めてですか?

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

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