MCP 도구
도구를 선택하고 파일 영향을 이해하며 현재 프로토콜 규칙을 찾으세요.
이 페이지의 내용
MCP 설정 가이드로 클라이언트를 프로젝트에 연결하세요. 연결 서버에 tools/list를 요청해 현재 입력과 출력 스키마를 읽으세요. 이 목록은 도구 선택을 돕습니다. 전체 등록과 스키마는 서버 소스에 있습니다.
서버는 --root로 전달한 작업공간을 사용합니다. 먼저 mastercss_workspace_info로 루트와 스타일시트 진입점을 검증하세요. 서버에 연결했다는 것만으로 의도한 프로젝트 manifest가 로드되었다고 볼 수는 없습니다.
도구 선택
| 질문 | 도구 |
|---|---|
| 의도한 프로젝트와 설정인가요? | workspace_info, setup_audit |
| 어떤 정의를 사용할 수 있나요? | manifest_query, inspect_directives |
| 클래스의 의미는 무엇이며 발견되었나요? | inspect_class, extract_classes, trace_class, scan_project |
| 어떤 CSS나 클래스 구문을 써야 하나요? | render_css, suggest_classes, suggest_syntax |
| 무엇이 바뀌었거나 수정이 필요한가요? | css_compare, lint_project, lint_content |
| 편집을 어떻게 검토하고 적용하나요? | preview_fixes, preview_directive_format, apply_preview |
표는 도구 이름을 줄여 표시하며 아래 모든 프로토콜 이름은 mastercss_로 시작합니다. 요청 예제는 tools/call에 전달하는 인수 객체이며 전체 JSON-RPC 요청 구조가 아닙니다.
미리보기 수명주기
미리보기는 기록한 파일 버전에만 적용
두 경우는 같은 클래스 순서 미리보기에서 시작합니다. 적용하려면 같은 서버의 만료되지 않은 토큰과 일치하는 원본 파일이 필요합니다. 파일이 바뀌면 제안 파일을 쓰기 전에 거부합니다.
텍스트 설명
- 클래스 순서 미리보기는 원래 p-md flex를 기록하고 flex p-md를 제안합니다. 미리보기는 소스 파일을 바꾸지 않습니다.
- 영향받는 모든 파일이 기록한 해시와 여전히 일치하면 유효 토큰 적용이 제안 내용을 쓰고 토큰을 소비합니다.
- 파일이 이제 p-md flex gap-sm을 포함하면 해시가 다릅니다. 적용은 제안 파일을 쓰기 전에 미리보기를 거부해 최신 내용을 보존합니다.
- 이 비교는 파일 동일성만 다룹니다. 토큰 만료, 서버 재시작, 잘못된 작업공간 경로도 적용을 막을 수 있습니다. 순차 쓰기는 트랜잭션 롤백 메커니즘이 아닙니다.
미리보기는 하나의 서버 프로세스에 원본 파일 동일성과 제안 내용을 기록하며 파일을 예약하거나 후속 편집을 추적하지 않습니다. 비어 있지 않은 파일 미리보기는 confirmToken과 expiresAt을 반환하지만 변경 없는 결과와 메모리 포맷은 반환하지 않습니다. 적용 전 토큰 수명, 작업공간 포함 여부, 모든 원본 파일을 검증합니다. 성공하면 토큰을 소비합니다. 쓰기는 순차적이므로 트랜잭션 롤백을 보장하지 않습니다.
AI 코딩 흐름으로 구체적 변경을 검토하고 렌더링 결과를 검증하세요. 이 규칙은 도구가 무엇을 받고 쓰는지 정의합니다.
mastercss_suggest_classes
활성 manifest로 독립된 CSS 선언 블록의 클래스를 제안합니다. remainingCss와 validation을 구분해 읽으세요. 선언 대응은 주변 캐스케이드나 브라우저 동작을 증명하지 않습니다.
{ "declarations": "display:flex; padding:16px; gap:1rem;"}이 작업은 파일을 쓰지 않습니다. 불확실한 블록은 네이티브 CSS로 전체를 유지합니다.
mastercss_workspace_info
프로젝트 의존 결과를 해석하기 전에 여기서 서버 루트, 패키지 해석, 발견한 CSS 진입점을 확인하세요.
{}이 작업은 작업공간 파일을 쓰지 않습니다.
mastercss_setup_audit
작업공간 루트를 확인한 뒤 누락 패키지, 발견하지 못한 CSS 진입점, 통합 설정을 조사합니다.
{}이 작업은 작업공간 파일을 쓰지 않습니다.
mastercss_inspect_class
활성 manifest가 클래스 하나를 어떻게 해석하는지 검사합니다. 프로젝트 스캔이 실제로 찾았는지 확인하려면 mastercss_trace_class를 사용하세요.
{ "className": "p-md"}이 작업은 작업공간 파일을 쓰지 않습니다.
mastercss_trace_class
소스 탐색, 스캐너 상태, 생성 CSS를 따라 클래스를 추적하여 존재하거나 누락된 이유를 설명합니다.
{ "className": "p-md", "patterns": [ "src/button.html" ], "includeCss": true}이 작업은 작업공간 파일을 쓰지 않습니다.
mastercss_extract_classes
버퍼에서 정확한 클래스 토큰과 소스 위치를 찾거나 선택한 프로젝트 파일의 추출을 검사합니다.
{ "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
연결된 프로젝트 맥락으로 작은 리터럴 클래스 목록이나 HTML 조각의 CSS를 생성합니다.
{ "classList": "flex gap-sm"}이 작업은 작업공간 파일을 쓰지 않습니다.
mastercss_scan_project
선택한 소스 범위의 스캔 파일, 스타일시트 진입점, 생성 CSS와 선택적 누락 클래스 검사를 확인합니다. 디자인 시스템 검사를 추가하면 관리 프로젝트 CSS의 토큰 참조와 정책도 검사할 수 있습니다.
{ "patterns": [ "src/button.html" ], "classes": [ "p-md" ], "includeCss": true}이 작업은 작업공간 파일을 쓰지 않습니다.
mastercss_manifest_query
활성 manifest에서 토큰, 유틸리티, 네이티브 믹스인, 사용자 정의 미디어, 표준 토큰 계열을 조회합니다.
{ "kind": "token", "namespace": "color", "query": "brand", "limit": 10}이 작업은 작업공간 파일을 쓰지 않습니다.
mastercss_css_compare
두 프로젝트 스냅샷을 제공하면 마크업이 바뀌지 않은 편집도 포함해 독립된 정의와 알려진 사용처를 비교합니다. 그 외에는 같은 활성 manifest로 두 클래스 선택을 비교합니다. 결과는 생성 CSS 차이를 설명하며 시각적 동등성을 증명하지 않습니다.
{ "beforeClassList": "p-sm", "afterClassList": "p-md"}이 작업은 작업공간 파일을 쓰지 않습니다.
mastercss_lint_project
선택 파일에 네이티브 클래스 진단을 실행합니다. lint 페이로드 v5의 coverage.checkedFiles는 검사 입력을, summary.checkedFiles는 그 수를, summary.filesWithDiagnostics는 진단이 있는 파일 수를 나타냅니다. files는 진단 결과만 포함합니다. coverage.status는 complete 또는 no-inputs이며 입력 없는 진단 0은 소스를 검증하지 않습니다. coverage.description이 설명하듯 manifest 스타일시트 진입점은 lint한 소스 입력이 아닙니다. manifest 실패는 MCP 오류 결과로 남습니다. 프로젝트 파서, 플러그인 설정, 팀 규칙에는 별도로 프로젝트 ESLint 명령을 사용하세요.
{ "patterns": [ "src/button.html" ], "rules": "sort-classes"}이 작업은 작업공간 파일을 쓰지 않습니다.
mastercss_lint_content
네이티브 클래스 진단과 연결 작업공간의 manifest로 저장하지 않은 소스 버퍼를 검사합니다. lint 페이로드 v5는 문제가 없어도 coverage.checkedFiles에 가상 경로를 보고하고 summary.checkedFiles: 1을 반환합니다. 깨끗한 버퍼의 summary.filesWithDiagnostics는 0이며 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 전까지 바뀌지 않습니다. 비어 있지 않은 미리보기는 이 서버 프로세스에 토큰을 저장하며 만료, 재시작, 적용 성공 후에는 새 미리보기가 필요합니다. 변경 없는 결과에는 확인 토큰이 없습니다.
mastercss_preview_directive_format
소스 버퍼의 지시문을 포맷하거나 파일 포맷 미리보기를 만듭니다. 콘텐츠 모드는 포맷한 텍스트를 직접 반환하고 적용 토큰을 만들지 않습니다.
{ "content": "@safelist \"(background-color:transparent) !\";", "filePath": "card.css"}콘텐츠 모드는 파일을 쓰거나 토큰을 저장하지 않습니다. 파일 모드에서는 mastercss_apply_preview 전까지 작업공간 파일이 바뀌지 않습니다. 비어 있지 않은 미리보기는 서버 프로세스에 토큰을 저장하며 만료, 재시작, 적용 성공 후에는 새 미리보기가 필요합니다. 변경 없는 결과에는 확인 토큰이 없습니다.
mastercss_apply_preview
같은 실행 중 서버 세션에서 검토한 미리보기의 정확한 변경을 적용합니다. 이 도구는 작업공간 파일을 씁니다.
{ "confirmToken": "<token-from-reviewed-preview>"}서버는 제안 내용을 쓰기 전에 모든 원본 파일 해시와 쓰기 가능한 경로를 검증합니다. 성공하면 토큰을 소비합니다. 파일은 순차적으로 작성되며 트랜잭션 기반 다중 파일 롤백이 아닙니다. 이후 프로젝트 검사를 실행하고 바뀐 UI를 확인하세요.
프롬프트
연결한 클라이언트에서 prompts/get으로 프롬프트를 요청하세요.
| 프롬프트 | 용도 |
|---|---|
debug-missing-css | 클래스가 CSS를 만들지 않을 때 스캔 범위, manifest 로딩, 구문, 네이티브 CSS 가지치기, 스타일시트 진입점 설정을 검사합니다. |
review-mastercss-classes | 클래스 진단을 실행하고 안전하며 범위가 제한된 쓰기 미리보기만 제안합니다. |
migrate-to-mastercss | 외부 스타일 시스템을 감사하고 렌더링 모드, 검증 명령, 시각적 위험을 포함한 점진적 배치를 계획하며 파일을 편집하지 않습니다. |
결과
모든 도구는 metadata, diagnostics, 필수 result를 포함한 버전 3 객체를 반환합니다. 성공은 result: { status: 'success', data }이고 실패는 result: { status: 'error', error: { code, message } }이며 MCP isError도 설정합니다. JSON 텍스트와 structuredContent는 같은 객체를 포함합니다. 두 분기를 도구의 outputSchema로 검증하세요.
metadata는 패키지·언어·바인딩 버전, 실제 사용 맥락, manifest 지문, 진입점과 의존성을 보고합니다. 사용할 수 없는 값은 null이나 빈 배열입니다. 기본값은 프로젝트 맥락이며 진입점 누락이나 컴파일 실패는 오류이고 프리셋으로 조용히 전환하지 않습니다. 프리셋만 조회하려면 context: 'preset'을 명시하세요.
클래스 검사는 matchStatus, cssSyntaxStatus, cssValueStatus, browserSupport를 별도로 보고하며 각 기록은 버전, 단계, 범위를 명시합니다. CSS 문법 오류와 알 수 없는 미래 기능은 다릅니다. var()는 계산 값을 확정하지 않으며 브라우저 검사를 실행하지 않으면 browserSupport는 not-checked입니다. 알려진 CSS 수학 타입은 검사하되 길이를 계산하거나 단위를 변환하지 않습니다. 서로 다른 토큰 정의는 값이 같아도 모호한 상태로 남습니다.
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 조상, 가져오는 주체, 토큰 계열 충돌, 컴포넌트 속성 어휘(components), 정책 진단을 나열합니다. JavaScript로 가져온 스타일시트는 routeStylesheets glob에 추가하고 project.routeStylesheets, project.excluded, coverage를 읽으세요. 등록되지 않은 사용자 지정 속성도 네이티브 CSS로 해석될 수 있으므로 자동 오류가 아닙니다.
전체 규칙 읽기
같은 연결 서버 세션의 tools/list로 허용 인수를 확인하세요. GitHub에서 도구 등록, 출력 스키마, 결과 응답 형식을 읽을 수 있습니다. 워크플로 가이드는 전체 미리보기와 적용 순서를 보여 줍니다. 소스 링크는 rc 브랜치를 따르며 연결 서버는 설치 버전을 설명합니다.

