Skip to content

[Bug]: MCP site_* and content_* tools update data but never trigger a static site rebuild #195

Description

@sussudiolazer

Summary

Writes through the MCP (site_apply_css, site_replace_node_html, site_set_*_tokens, etc.) update the framework's data store successfully, but the served static HTML and the bundled CSS file (style-.css) on the Railway deployment do not refresh. The post-write served files remain byte-identical to the pre-write files. There is no MCP tool that forces a rebuild or invalidates the static cache.

In addition, a large group of content_* write tools (the publish/dispatch tools) return Unknown instatic tool and are non-functional, so the only "publish" path — republishing documents to flush the cache — is also blocked from the MCP.

Steps to reproduce

  1. Spin up Instatic on Railway.
  2. Connect the MCP at https://.up.railway.app/_instatic/mcp with the bearer token from the dashboard.
  3. Make a visible change with site_apply_css (e.g. change --nix-paper from #fafaf7 to #000000).
  4. GET / and compare the served HTML's hash, then GET the CSS file.
  5. Repeat with site_replace_node_html on any visible node.

Expected behavior

The CSS bundle is regenerated with a new hash, the new rules are in the served CSS, and the visible change shows up on the site.

Actual behavior

The site_apply_css tool returns { "cssRulesUpdated": N, "cssSelectorsAdded": [...] } and the data layer is updated (verified by re-reading via site_read_document). The served href hash does not change. The served CSS file is byte-identical (verified by HTTP fetch + sha256). The browser shows no change, including in private/incognito windows.

Version or commit

No response

Deployment mode

Railway

Logs or screenshots

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions