MCP 工具
選擇工具、了解檔案影響,並查找目前協定契約。
本頁目錄
使用 MCP 設定指南將用戶端連接到專案。向已連線伺服器請求 tools/list,閱讀目前輸入與輸出結構描述。此目錄協助選擇工具;完整註冊與結構描述位於伺服器原始碼。
伺服器使用傳入 --root 的工作區。先用 mastercss_workspace_info 驗證根目錄與樣式表入口。單純連上伺服器,不代表已載入預期的專案 manifest。
選擇工具
| 問題 | 工具 |
|---|---|
| 是否為預期的專案與設定? | workspace_info, setup_audit |
| 有哪些定義可用? | manifest_query, inspect_directives |
| class 代表什麼,是否有找到? | inspect_class, extract_classes, trace_class, scan_project |
| 該使用哪些 CSS 或 class 語法? | render_css, suggest_classes, suggest_syntax |
| 哪些地方變更或需要修正? | css_compare, lint_project, lint_content |
| 如何檢閱並套用編輯? | preview_fixes, preview_directive_format, apply_preview |
表格簡寫工具名稱;下方所有協定名稱都以 mastercss_ 開頭。請求範例呈現傳入 tools/call 的引數物件,不是完整 JSON-RPC 封套。
預覽生命週期
預覽只適用於記錄時的檔案版本
兩種情況從相同 class 排序預覽開始。套用需要同一伺服器內未過期的 token,且原始檔案相符。任何檔案變動都會在寫入建議檔案前拒絕。
文字說明
- class 排序預覽記錄原本的 p-md flex,並建議 flex p-md。預覽不改動來源檔案。
- 若每個受影響檔案都仍符合記錄雜湊,套用有效 token 會寫入建議內容,並使 token 失效。
- 若檔案現在含有 p-md flex gap-sm,雜湊已不相符。套用會在寫入任何建議檔案前拒絕預覽,保留較新內容。
- 此比較只聚焦檔案身分。token 過期、伺服器重啟與無效工作區路徑也可能阻止套用。依序寫入不是交易式復原機制。
預覽在單一伺服器程序記錄原始檔案身分與建議內容,不鎖定檔案,也不追蹤後續編輯。非空檔案預覽回傳 confirmToken 與 expiresAt;無變更結果與記憶體內格式化不會回傳。套用前會驗證 token 期限、路徑位於工作區內,以及每個原始檔案。成功套用會使 token 失效。寫入依序進行,因此不保證交易式復原。
依照 AI 程式開發流程檢閱具體變更並驗證渲染結果。本頁契約定義工具接受什麼、寫入什麼。
mastercss_suggest_classes
使用目前 manifest,為獨立 CSS 宣告區塊建議 class。請分開閱讀 remainingCss 與 validation;宣告對應不代表周圍階層串接或瀏覽器行為已獲證實。
{ "declarations": "display:flex; padding:16px; gap:1rem;"}此操作不寫入檔案。不確定區塊完整保留為原生 CSS。
mastercss_workspace_info
先從此處確認伺服器根目錄、套件解析與找到的 CSS 入口,再解讀相依專案的結果。
{}此操作不寫入工作區檔案。
mastercss_setup_audit
檢查工作區根目錄後,調查缺少的套件、未找到的 CSS 入口與整合設定。
{}此操作不寫入工作區檔案。
mastercss_inspect_class
檢查目前 manifest 如何解讀單一 class。若要知道專案掃描是否真的找到它,請用 mastercss_trace_class。
{ "className": "p-md"}此操作不寫入工作區檔案。
mastercss_trace_class
沿著來源探索、掃描器狀態與生成 CSS 追蹤 class,說明為何出現或缺少。
{ "className": "p-md", "patterns": [ "src/button.html" ], "includeCss": true}此操作不寫入工作區檔案。
mastercss_extract_classes
在緩衝區中找出精確 class token 與來源位置,或檢查所選專案檔案的擷取結果。
{ "content": "<button class=\"flex gap-sm p-md\">Save</button>", "filePath": "src/button.html", "includeRules": true}此操作不寫入工作區檔案。
mastercss_inspect_directives
從入口樣式表或 CSS 緩衝區檢查指令結構與編譯效果。請提供 entryPath 或 content;空引數物件無法編譯。
{ "content": "@theme { --color-brand: blue; }", "filePath": "app.css"}此操作不寫入工作區檔案。
mastercss_render_css
使用已連線的專案情境,為小量字面 class 清單或 HTML 片段生成 CSS。
{ "classList": "flex gap-sm"}此操作不寫入工作區檔案。
mastercss_scan_project
檢查所選來源範圍中的掃描檔案、樣式表入口、生成 CSS,並可選擇檢查缺少的 class。加入設計系統檢查,可檢查受管理專案 CSS 中的 token 參照與政策。
{ "patterns": [ "src/button.html" ], "classes": [ "p-md" ], "includeCss": true}此操作不寫入工作區檔案。
mastercss_manifest_query
查詢目前 manifest 中的 token、utility、原生 mixin、自訂 media 與標準 token 家族。
{ "kind": "token", "namespace": "color", "query": "brand", "limit": 10}此操作不寫入工作區檔案。
mastercss_css_compare
提供前後兩份專案快照,比較各自獨立的定義與已知使用端,包含標記未變的編輯。否則,使用同一目前 manifest 比較兩組 class 選取。結果說明生成 CSS 差異,不證明視覺等價。
{ "beforeClassList": "p-sm", "afterClassList": "p-md"}此操作不寫入工作區檔案。
mastercss_lint_project
對所選檔案執行原生 class 診斷。在 lint 酬載 v5,coverage.checkedFiles 列出已檢查輸入,summary.checkedFiles 計算其數量,summary.filesWithDiagnostics 計算有診斷的檔案。files 只含診斷結果。coverage.status 為 complete 或 no-inputs;沒有輸入時的零診斷不代表來源已驗證。coverage.description 說明這些欄位:manifest 樣式表入口不是已 lint 的來源輸入。manifest 失敗仍是 MCP 錯誤結果。專案的剖析器、外掛設定與團隊規則,請另外使用其 ESLint 指令。
{ "patterns": [ "src/button.html" ], "rules": "sort-classes"}此操作不寫入工作區檔案。
mastercss_lint_content
使用原生 class 診斷與已連線工作區的 manifest,檢查未儲存來源緩衝區。lint 酬載 v5 即使無問題,也會在 coverage.checkedFiles 回報虛擬路徑,並回報 summary.checkedFiles: 1。無問題緩衝區的 summary.filesWithDiagnostics 為零,files 則為空。涵蓋範圍只描述此緩衝區與啟用的 lint 規則,不是瀏覽器行為或整個專案。
{ "content": "<button class=\"p-md flex\">Save</button>", "filePath": "src/button.html", "rules": "sort-classes"}此操作不寫入工作區檔案。
mastercss_suggest_syntax
取得語言服務在未儲存文件某位置的補全候選項與滑鼠移入資訊。
{ "content": "<div class=\"(padding:\"></div>", "filePath": "src/card.html", "position": { "line": 0, "character": 20 }, "limit": 5}此操作不寫入工作區檔案。
mastercss_preview_fixes
為原生 lint 修正或生成 CSS 輸出準備可檢閱差異。此請求不套用變更。
{ "mode": "lint-fixes", "patterns": [ "src/button.html" ], "rules": "sort-classes"}工作區檔案在 mastercss_apply_preview 前維持不變。非空預覽在此伺服器程序儲存 token;過期、重啟或成功套用後,必須重新預覽。沒有變更的結果不含確認 token。
mastercss_preview_directive_format
格式化來源緩衝區指令,或建立檔案格式化預覽。內容模式直接回傳格式化文字,不建立套用 token。
{ "content": "@safelist \"(background-color:transparent) !\";", "filePath": "card.css"}內容模式不寫入檔案或儲存 token。檔案模式中,工作區檔案在 mastercss_apply_preview 前維持不變。非空預覽在此伺服器程序儲存 token;過期、重啟或成功套用後,必須重新預覽。沒有變更的結果不含確認 token。
mastercss_apply_preview
在同一個執行中的伺服器工作階段,精確套用已檢閱預覽的變更。此工具會寫入工作區檔案。
{ "confirmToken": "<token-from-reviewed-preview>"}伺服器在寫入建議內容前,驗證所有原始檔案雜湊與可寫路徑。成功套用會使 token 失效。檔案依序寫入,不是交易式多檔復原機制。完成後請執行專案檢查,並檢視變更的 UI。
提示詞
在已連線的用戶端透過 prompts/get 請求提示詞。
| 提示詞 | 用途 |
|---|---|
debug-missing-css | class 未產生 CSS 時,檢查掃描涵蓋範圍、manifest 載入、語法、原生 CSS 修剪與樣式表入口設定。 |
review-mastercss-classes | 執行 class 診斷,只提出安全且限定範圍的寫入預覽。 |
migrate-to-mastercss | 稽核外部樣式系統,規劃包含渲染模式、驗證指令與視覺風險的漸進批次,不編輯檔案。 |
結果
每個工具回傳版本 3 物件,包含 metadata、diagnostics 與必填 result。成功為 result: { status: 'success', data };失敗為 result: { status: 'error', error: { code, message } },並同時設定 MCP isError。JSON 文字與 structuredContent 含相同物件;請依工具 outputSchema 驗證兩個分支。
metadata 回報套件、語言與綁定版本、實際使用的情境、manifest 指紋、入口與相依關係;無法取得的值為 null 或空陣列。預設為專案情境:缺少入口或編譯失敗會造成錯誤,絕不無聲改用預設集。僅查詢預設集時,請明確傳入 context: 'preset'。
class 檢查分別回報 matchStatus、cssSyntaxStatus、cssValueStatus 與 browserSupport,每項檢查記錄都指定版本、階段與範圍。CSS 文法錯誤不同於未知的未來能力;var() 不代表已確定計算值,除非真的執行瀏覽器檢查,browserSupport 都維持 not-checked。已知 CSS 數學型別會檢查,但不計算長度或轉換單位;不同 token 定義即使值相同,仍屬歧義。
Markdown 與 MDX 擷取會將實際標記、程式碼與展示文字分開,回傳原始 UTF-16 範圍與納入或排除原因;CLI、編輯器與 MCP 共用相同 Rust 擷取及比對。CLI 報告版本獨立於此封套。MCP 酬載的 root 是設定的工作區根目錄;CLI 報告的 cwd 是指令根目錄。
專案比較:編輯前後分別以 includeSnapshot: true 呼叫 mastercss_scan_project,再將兩個 result.data.snapshot 物件以 beforeSnapshot 與 afterSnapshot 傳入 mastercss_css_compare;不可混用 class、content、filePath 或 context 輸入。結果為 { version: 3, mode: 'project', comparison },其中 comparison.version 為 1,列出變更定義、已知使用端與檔案、前後規則、原生參照、輸出資源、交付順序與 coverage。原生使用端採樣式表粒度保守分析。
設計系統檢查:mastercss_scan_project.designSystem 接受設計系統選項物件,不可搭配 context: 'preset'。result.data.designSystem 中的版本 1 報告,列出原本撰寫的 var() 參照及來源範圍、選擇器與 at-rule 祖先、匯入端、token 家族衝突、元件屬性詞彙(components)與政策診斷;從 JavaScript 匯入的樣式表請加入 routeStylesheets glob,並閱讀 project.routeStylesheets、project.excluded 與 coverage。未註冊自訂屬性仍可能透過原生 CSS 解析,不會自動視為錯誤。
閱讀完整契約
在同一已連線伺服器工作階段使用 tools/list,查看可接受引數。GitHub 提供工具註冊、輸出結構描述與結果封套。工作流程指南展示完整預覽與套用順序。來源連結指向 rc 分支;已連線伺服器描述的是你的安裝版本。

