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
- Spin up Instatic on Railway.
- Connect the MCP at https://.up.railway.app/_instatic/mcp with the bearer token from the dashboard.
- Make a visible change with site_apply_css (e.g. change --nix-paper from #fafaf7 to #000000).
- GET / and compare the served HTML's hash, then GET the CSS file.
- 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
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
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