MCP tools

mastercss_preview_fixes

Create a diff preview for lint fixes or generated CSS output and return a confirmation token.

Contract

Prepare a reviewable diff for native lint fixes or generated CSS output. This request does not apply its changes.

Input

context
stringOptional

Semantic context. Defaults to project; entry discovery or compilation failures are reported without falling back. Select preset explicitly for standalone preset queries. Values: project, preset.

mode
stringOptional

Preview operation. Defaults to lint-fixes. Values: lint-fixes, generated-css.

patterns
string[]Optional

Source paths or glob patterns relative to the server root. Omit to use the tool’s default source scope. Absolute patterns and parent traversal are rejected.

rules
stringOptional

Comma-separated native lint rule IDs, recommended, or all. These tools do not load an ESLint configuration.

includeDirectiveFixes
booleanOptional

Allow structural directive fixes in lint mode. Defaults to false.

outputPath
stringOptional

Target path inside the workspace. Required in generated-css mode; its parent directory must exist.

ttlMs
integerOptional

Preview lifetime in milliseconds. Omit to use the server’s --preview-ttl setting, which defaults to 300000 (5 minutes). Minimum: 1000. Maximum: 3600000.

Complete input schema
JSON
{  "$schema": "http://json-schema.org/draft-07/schema#",  "type": "object",  "properties": {    "context": {      "type": "string",      "enum": [        "project",        "preset"      ]    },    "mode": {      "type": "string",      "enum": [        "lint-fixes",        "generated-css"      ]    },    "patterns": {      "type": "array",      "items": {        "type": "string"      }    },    "rules": {      "type": "string"    },    "includeDirectiveFixes": {      "type": "boolean"    },    "outputPath": {      "type": "string"    },    "ttlMs": {      "type": "integer",      "minimum": 1000,      "maximum": 3600000    }  }}

Example

Call mastercss_preview_fixes from a connected MCP client with these arguments:

Arguments
{  "mode": "lint-fixes",  "patterns": [    "src/button.html"  ],  "rules": "sort-classes"}

Review preview.changes and its diffs before passing a returned token to the apply tool.

Output

preview contains changed files, complete proposed text, diffs, hashes, and a summary. A changed result includes confirmToken and expiresAt. Lint mode includes a lint report; generated-CSS mode includes outputPath and a scan summary. Manifest errors return the error envelope; an error must not be interpreted as an empty successful preview.

Every tool returns an object with version: 3, metadata, diagnostics and result. Success payload fields described above live in result.data; failure has result.status: "error" and a required { code, message } error. JSON text equals structuredContent. Tool errors set isError. Metadata records actual context, package/language/binding versions, manifest fingerprint, entries and dependencies; unavailable information is null or an empty array.

Complete output schema
JSON
{  "$schema": "http://json-schema.org/draft-07/schema#",  "type": "object",  "properties": {    "version": {      "type": "number",      "const": 3    },    "metadata": {      "type": "object",      "properties": {        "versions": {          "anyOf": [            {              "type": "object",              "properties": {                "languageVersion": {                  "type": "number"                },                "bindingAbiVersion": {                  "type": "number"                },                "packageVersion": {                  "type": "string"                }              },              "required": [                "languageVersion",                "bindingAbiVersion",                "packageVersion"              ],              "additionalProperties": {}            },            {              "type": "null"            }          ]        },        "context": {          "anyOf": [            {              "type": "string",              "enum": [                "project",                "preset"              ]            },            {              "type": "null"            }          ]        },        "manifestFingerprint": {          "type": [            "string",            "null"          ]        },        "entries": {          "type": "array",          "items": {            "type": "string"          }        },        "dependencies": {          "type": "array",          "items": {            "type": "string"          }        }      },      "required": [        "versions",        "context",        "manifestFingerprint",        "entries",        "dependencies"      ],      "additionalProperties": false    },    "diagnostics": {      "type": "array",      "items": {        "type": "object",        "properties": {          "code": {            "type": "string"          },          "phase": {            "type": "string"          },          "severity": {            "type": [              "string",              "number"            ]          },          "message": {            "type": "string"          },          "notes": {            "type": "array",            "items": {              "type": "string"            }          },          "alternatives": {            "type": "array",            "items": {              "type": "string"            }          },          "source": {            "type": "string"          },          "range": {            "anyOf": [              {                "type": "object",                "properties": {                  "start": {                    "type": "number"                  },                  "end": {                    "type": "number"                  }                },                "required": [                  "start",                  "end"                ],                "additionalProperties": false              },              {                "type": "object",                "properties": {                  "start": {                    "type": "object",                    "properties": {                      "line": {                        "type": "number"                      },                      "character": {                        "type": "number"                      }                    },                    "required": [                      "line",                      "character"                    ],                    "additionalProperties": false                  },                  "end": {                    "type": "object",                    "properties": {                      "line": {                        "type": "number"                      },                      "character": {                        "type": "number"                      }                    },                    "required": [                      "line",                      "character"                    ],                    "additionalProperties": false                  }                },                "required": [                  "start",                  "end"                ],                "additionalProperties": false              }            ]          }        },        "required": [          "message"        ],        "additionalProperties": {}      }    },    "result": {      "oneOf": [        {          "type": "object",          "properties": {            "status": {              "type": "string",              "const": "success"            },            "data": {              "type": "object",              "properties": {                "manifest": {                  "type": "object",                  "properties": {                    "context": {                      "type": "string",                      "enum": [                        "project",                        "preset"                      ]                    },                    "status": {                      "type": "string",                      "enum": [                        "loaded",                        "error"                      ]                    },                    "fingerprint": {                      "type": [                        "string",                        "null"                      ]                    },                    "entries": {                      "type": "array",                      "items": {                        "type": "string"                      }                    },                    "dependencies": {                      "type": "array",                      "items": {                        "type": "string"                      }                    },                    "versions": {                      "type": "object",                      "properties": {                        "languageVersion": {                          "type": "number"                        },                        "bindingAbiVersion": {                          "type": "number"                        },                        "packageVersion": {                          "type": "string"                        }                      },                      "required": [                        "languageVersion",                        "bindingAbiVersion",                        "packageVersion"                      ],                      "additionalProperties": {}                    }                  },                  "required": [                    "context",                    "status",                    "fingerprint",                    "entries",                    "dependencies"                  ],                  "additionalProperties": {}                },                "mode": {                  "type": "string",                  "enum": [                    "lint-fixes",                    "generated-css"                  ]                },                "preview": {                  "type": "object",                  "properties": {                    "confirmToken": {                      "type": "string"                    },                    "expiresAt": {                      "type": "number"                    },                    "changes": {                      "type": "array",                      "items": {                        "type": "object",                        "properties": {                          "filePath": {                            "type": "string"                          },                          "beforeHash": {                            "type": [                              "string",                              "null"                            ]                          },                          "afterHash": {                            "type": "string"                          },                          "beforeExists": {                            "type": "boolean"                          },                          "beforeBytes": {                            "type": "number"                          },                          "afterBytes": {                            "type": "number"                          },                          "afterText": {                            "type": "string"                          },                          "diff": {                            "type": "string"                          }                        },                        "required": [                          "filePath",                          "beforeHash",                          "afterHash",                          "beforeExists",                          "beforeBytes",                          "afterBytes",                          "afterText",                          "diff"                        ],                        "additionalProperties": false                      }                    },                    "summary": {                      "type": "object",                      "properties": {                        "files": {                          "type": "integer",                          "minimum": 0,                          "maximum": 9007199254740991                        },                        "bytesBefore": {                          "type": "integer",                          "minimum": 0,                          "maximum": 9007199254740991                        },                        "bytesAfter": {                          "type": "integer",                          "minimum": 0,                          "maximum": 9007199254740991                        }                      },                      "required": [                        "files",                        "bytesBefore",                        "bytesAfter"                      ],                      "additionalProperties": false                    }                  },                  "required": [                    "changes",                    "summary"                  ],                  "additionalProperties": {}                }              },              "required": [                "manifest",                "mode",                "preview"              ],              "additionalProperties": {}            }          },          "required": [            "status",            "data"          ],          "additionalProperties": false        },        {          "type": "object",          "properties": {            "status": {              "type": "string",              "const": "error"            },            "error": {              "type": "object",              "properties": {                "code": {                  "type": "string"                },                "message": {                  "type": "string"                }              },              "required": [                "code",                "message"              ],              "additionalProperties": false            }          },          "required": [            "status",            "error"          ],          "additionalProperties": false        }      ]    }  },  "required": [    "version",    "metadata",    "diagnostics",    "result"  ],  "additionalProperties": false}

Project context and lifecycle

Workspace files stay unchanged until mastercss_apply_preview. A nonempty preview stores a token in this server process; expiry, restart, or successful application requires a new preview. An unchanged result has no confirmation token.

The local stdio server uses the workspace passed to --root. Confirm the root and intended CSS entries with mastercss_workspace_info before relying on project-dependent values.

See the MCP workflow guide for client setup and the preview/apply workflow.


© 2026 Aoyue Design LLC.MIT License
Trademark Policy