mcpField
T
Tavero

Tavero

ローカル
taveroui.com開発ツール35 日前に更新

Tavero について

Taveroは、コーディングエージェントを使うチーム向けのローカルCLI兼MCPサーバーで、React UIの一貫性を保ちます。実行中のアプリをスキャンし、問題のソース位置やデザイントークン、修正判断を提示します。

主な機能

  1. 01Reactアプリをモバイル・タブレット・デスクトップ幅でスキャン
  2. 02描画要素をコンポーネントとソース行に対応付け
  3. 03ボタン、カード、色、デザイン尺度を検査
  4. 04期待されるトークンと根拠を含む検出結果
  5. 05ローカルパネルで判断を確認・記録
  6. 06エージェント向けコンテキストとHTMLレポートを生成

活用シーン

  1. 01ルート間で異なるボタンスタイルを発見
  2. 02ハードコード色や尺度外の余白を特定
  3. 03コーディングエージェントにソース位置付きの修正作業を渡す
  4. 04見た目の差異が意図的かどうかを確認

MCP 対応

Taveroはstdio経由のMCPサーバーとして動作し、スキャン、検出結果、コンポーネント、トークン、デザインコンテキストを扱う9つのツールを提供します。Claude Code、Cursor、Codex、Geminiなどのクライアントに設定できます。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"baccaraaa-tavero": {
"command": "npx",
"args": [
"-y",
"tavero"
]
}
}
}
起動コマンドnpx -y tavero

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

パッケージ
npmtavero0.7.0

ツール

9

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

パラメーター型必須説明
budgetintegerいいえおおよそのトークン予算。デフォルトは 1500 です

詳細

Tavero

Tavero

エージェントが作成するUIの一貫性を保ちます。
taveroui.com · ドキュメント · デモ

CI MITライセンス Node 20以降 React 19

Taveroは実行中のReactアプリをスキャンし、ボタン、カード、色、間隔の不整合を見つけ、修正に必要なファイル、行、使用すべきトークンをコーディングエージェントに提示します。マシン上でCLIとして、Claude Code、Cursor、Codexなどのエージェント向けMCPサーバーとして、また意図したデザインを判断できるローカルパネルとして動作します。

AcmeデモでのTaveroの検出結果:テキストボタンのスタイルが7種類あり、それぞれの切り抜き、コンポーネント、ファイルと行が表示され、パネルで正規のButtonが選択されている

このリポジトリのAcmeデモ(demo/acme)で実際に検出した結果です。3つの幅で6ページをスキャンしています。

仕組み

  1. スキャン。 Taveroは開発サーバーをChromiumで開き、アプリでログインが必要な場合はログインした状態で、モバイル、タブレット、デスクトップの各幅でスキャンします。
  2. 特定。 React独自の開発モードデータを使い、表示されるすべての要素を、その要素を描画したReactコンポーネントとソース行に対応付けます。プロジェクトには何も追加しません。
  3. 検出。 4つのルールで、描画結果をトークンおよび描画結果自体と比較します。対象はボタン、カード、色、スケールです。
  4. 修正。 各検出結果はタスクです。対象、場所(file:line)、現在の値、期待されるトークンまたはコンポーネントが示されます。エージェントが修正した後、数秒で1つのルートを再スキャンし、問題が解消されたことを確認します。

クイックスタート

Node 20以降、ViteまたはNextを使ったReact 19アプリが開発モードで動作している必要があります。

npm i -D tavero
npx playwright install chromium                      # once per machine
npx tavero login --url http://localhost:5173/login   # once, if the app has a login
npx tavero scan --url http://localhost:5173
npx tavero findings
id            sev     rule     decision  title                                                         evidence
f_c75ac3d6a2  high    buttons            7 text button styles                                          7
f_36cb934b5e  high    scales             13 distinct padding values, 1 declared                        12
f_94269275c1  medium  buttons            Two text button styles differ only in radius, paddingY, pa…   2
f_057122e1f9  medium  buttons            4 place(s) write <button> directly in page or section mark…   4
… 30 more, use --page 2
npx tavero finding f_ff30adc07c   # evidence: file:line, current value, expected token, crops
npx tavero context                # a ~1,500-token brief of the design system for an agent
npx tavero report                 # a self-contained HTML report

Taveroが書き込むのは<project>/.tavero/だけです。すべての読み取りコマンドで--jsonを指定でき、テキスト出力はエージェントのコンテキストに収まるよう20行までに制限されています。

エージェントから使う

tavero mcpは、9つのツールを備えたstdio上のMCPサーバーです。クライアント用の設定を表示し、指定された場所に貼り付けます。

npx tavero mcp --print-config claude       # Claude Code: .mcp.json
npx tavero mcp --print-config cursor       # .cursor/mcp.json
npx tavero mcp --print-config codex        # .codex/config.toml
npx tavero mcp --print-config gemini       # .gemini/settings.json
npx tavero mcp --print-config antigravity  # .agents/mcp_config.json
npx tavero mcp --print-config vscode       # .vscode/mcp.json (GitHub Copilot)
npx tavero mcp --print-config windsurf     # ~/.codeium/windsurf/mcp_config.json

続いて、docs/AGENTS.snippet.mdをAGENTS.md、CLAUDE.md、またはGEMINI.mdに貼り付けます。これにより、エージェントはUIを作成する前にデザインのコンテキストを読み取ります。SKILL.mdは、ワークフロー全体を記載したAgent Skillです。

シェルを使わずにClaude CodeでAcmeデモを実行した記録です。所要時間は29秒です。

› tavero_context
  Action button is Button from src/components/Button.tsx (props: variant)
› tavero_findings rule=colors
  f_ff30adc07c  Color #4263eb is not a project token
› tavero_finding f_ff30adc07c
  src/app.css:33  literal #4263eb in source
  expected  --acme-primary #3b5bdb (ΔE 3.5)
  edit src/app.css:33  background: #4263eb → var(--acme-primary)
› tavero_scan routes=/billing rules=colors
› tavero_diff
  resolved  f_ff30adc07c  Color #4263eb is not a project token
  resolved  f_18862a0332  Hardcoded color #4263eb in 1 place(s)
  new  0
ツール用途
tavero_contextデザインシステムの概要。UI作成前に呼び出します
tavero_findings、tavero_finding重大度の高い順に問題を表示します。1つの問題について、根拠、期待値、正確な再スキャン呼び出しを表示します
tavero_scanアプリをスキャンします。修正後は、変更したroutesとrulesだけを指定します。進捗をストリーミングし、キャンセルできます
tavero_diff前回のスキャンから解消、新規、未変更の検出結果を表示します
tavero_components、tavero_component、tavero_show、tavero_tokensコンポーネント一覧、切り抜きのパス、トークン

ルール

ルール報告内容
buttonsテキストボタンとアイコンボタンのスタイルの種類と、それらを描画するコンポーネント、よく似たペア、ボタンコンポーネントの外に書かれた<button>
cards (予備段階)カードスタイルの種類、よく似たペア、インラインで構築されたカード風コンテナー
colorsトークンに含まれない色と最も近いトークンおよびΔE、独自パレットのあるプロジェクトで使われているTailwindのデフォルトカラー、よく似たペア、ファイル名と行番号付きのハードコードされたリテラル
scalesトークンで宣言されたスケールから外れた、角丸、パディング、間隔、フォントサイズ、太さ、シャドウの値

意図を判断する

npx tavero ui --open   # http://127.0.0.1:4747

Taveroのパネル:検出結果の一覧と、ボタンスタイルの検出結果では、幅3種類での切り抜きと正規のスタイルを選択できる各バリエーション

エージェントを使う人のためのローカルパネルです。キーボードで検出結果を確認し、判断します。再スキャンしなくても、次回の呼び出し時にエージェントが各判断を確認できます。

判断エージェントに表示される内容
修正検出結果が最初に表示され、作業対象として確認済みと示されます
意図的検出結果が新しい場所で見つかるまで非表示になります
正規ボタンとカードのバリエーションでは、基準となるバリエーションと許可されるバリエーションを指定します。必要に応じて「primary」や「ghost」などの名前を付けられます。それ以外はexpectedとして扱われます
メモ検出結果とともに表示されるメッセージです

判断は、安定した検出結果IDをキーとして.tavero/decisions.jsonに保存されます。チームやエージェントと共有するには、これをコミットしてください。npx tavero ui --export ./panelを実行すると、静的な読み取り専用パネルが書き出されます。

要件と制限

  • ViteまたはNext(App Router、Turbopack)上の開発モードで、React 19が必要です。React 18ではデバッグデータの形式が異なるため、現時点ではサポートされていません。
  • トークンはCSSカスタムプロパティとTailwind 3または4のテーマから読み取られます。
  • カードの検出はヒューリスティックなため、cardsルールは予備段階としてマークされています。
  • Taveroはローカルで実行され、外部にデータを送信しません。アカウントもテレメトリーもありません。

開発

npm ci
npx playwright install chromium
npm test             # unit and Playwright runtime tests; starts the test apps itself
npm run typecheck
npm run build

ウェブサイトはsite/(Next.jsの静的エクスポート)にあります。npm run site:install && npm run site:devで起動し、npm run site:auditでゲートを実行します。ゲートでは、サイト自体に対するTaveroの実行(重大および中程度の検出結果が0件であること)、Lighthouse、axe、3種類の幅を確認します。

src/
  core/      scan orchestration, aggregates, query API, decisions, diff, stable ids
  project/   framework detection
  static/    tokens, Tailwind theme and palette, hardcoded colors, component index
  runtime/   dev server, session, crawl, in-page collector, attribution, crops
  rules/     signatures and the four rules
  context/   the agent-facing brief
  report/    HTML report
  mcp/       MCP server, tools, client configs
  ui/        local panel and static export
  cli/       the command line
demo/acme/   a small dashboard with deliberate drift, used by tests and the website
test/        unit and runtime tests with mini Vite and Next apps
design/      design tokens shared by the panel and the website
site/        the website

プルリクエストを作成する前に、CONTRIBUTING.mdを確認してください。

ライセンス

MIT

コメント

MCP は初めてですか?

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

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