The Stacks Beta just updated to version 66, and I managed to find some release notes on Joe’s site. What interested me most was Feature 1: Add an MCP plugin so users can use AI agents like Claude, Codex and GPT with Stacks. My first port of call, to discuss this with Chatty. Which was very excited, if a language model can be said to get excited. ‘So what can we do with this?’ ‘Lots! And I get to drive your computer…’ ‘No, wait!’ (actually that wasn’t quite its response, but it catches the gist of it).
I was excited by Dan’s announcement of AI integration with Elements a while back. But while I’ve forgotten now what the row with Realmac was all about, I’m not going to start over building a library of Elements. OTOH, my wife just built a site with ChatGPT, which blew me away (not least because she didn’t land me with months of frustration trying to make something with stacks). It is really good. And blisteringly fast. With some very clever functionality. It took me a while to work out what Chatty had even done: it’s a serverless web application built using Vinext and deployed using Cloudflare Workers. What? “Vinext is an open-source Vite plugin by Cloudflare that completely reimplements the Next.js API surface on top of the Vite build tool.” My brain aches just looking at that sentence, let alone trying to work out what it means. Somehow web development ran away from me while my attention was elsewhere.
But I don’t like the idea of putting my sites entirely in the hands of a language model either. Especially when I don’t even know where they are. (Everywhere and nowhere, apparently.)
So, actually, the idea of Stacks having agentic LLM integration (I do know what that means) is very good news. Almost worth waiting all this time for. What will it be able to do? I managed to retrieve the appropriate README.md file from the guts of the new Stacks.app and share its contents with ChatGPT. Which tells me it will likely be able to:
| MCP capability | What the agent can presumably do |
|---|---|
| Open projects | Inspect projects currently open in Stacks |
| Source-list items | Inspect Pages, Partials, Layouts and Images |
| Page stack trees | See what stacks are actually placed on a page |
| Selections | Know what the user has selected |
| Placed-stack properties | Inspect the properties of a stack on the page |
| Add pages | Create a new page |
| Add installed stacks | Put a stack into the project |
| Select source-list items | Change what’s selected |
| Select placed stacks | Change what’s selected on a page |
| Set item properties | Modify Pages/Partials/Layouts/Images |
| Set stack properties | Modify properties of an actual placed stack |
Sounds ideal to me. “Chatty, just make all the page margins wider, will you?” But, also, “Let me go in and tweak this stack that I’m not happy with”. Best of both worlds. Maybe.