Why I built an MCP server for Big Muddy

Oct 12, 2026 · 3 min read

I recently decided to take a step to simplify my publishing workflow at Big Muddy. As previously described, Big Muddy is a Git-backed Hugo blog managed using Sveltia CMS, with post scheduling handled by a triggered GitHub Actions workflow.

A vital component of the Big Muddy workflow is the note: a temporary document visible only to me that I use to capture links or ideas and some surrounding context, in order to later use them to write an actual post.

In May, I added an intelligence layer to Big Muddy with a ZeroClaw personal agent running on my Raspberry Pi. The agent had one purpose: receiving a link or idea, adding some context through dialogue or web searches, and saving it as a temporary note to the Big Muddy repo.

Despite my documented struggles with ZeroClaw, this workflow was basically working for me. However, in parallel, I continued to use ChatGPT to research other notes and ideas, in a way that my ZeroClaw setup was not particularly well suited to carrying out (i.e., when the research required was extensive). But this left some ideas well-synchronized with the Big Muddy repo (from ZeroClaw) and some scattered about random ChatGPT threads, unless I manually turned them into temporary notes. Of course, I could always ask ChatGPT to do the transfer via the GitHub connector, but this wasn’t the ideal, fenced-in mechanism to do so.

An MCP server for Big Muddy would fulfill those criteria, however. The idea of an MCP server is to give AI assistants a precisely bounded set of tools for interacting with a service or website. In the case of Big Muddy, this means creating and updating temporary notes, as well as carrying out other administrative tasks. Unlike giving ChatGPT more general access to the repository through the GitHub connector, my MCP server only exposes a limited set of operations: for example, it can edit notes and drafts, but it can only read published posts. Actual post writing can only occur in the Sveltia CMS interface.

Another use case is scheduled post management. My current scheduling mechanism is frustratingly manual. If I have a week’s worth of posts queued up but want to bump them by a day so I can schedule something timely for tomorrow, this is currently a manual process in the Sveltia interface on all of the posts. But the MCP server has a set of tools that are easily composable for this task.

This setup separates the intelligence layer (researching and drafting notes) from the basic Git operations that make these notes visible to me in the Sveltia interface. Rather than maintaining a separate agent for this particular workflow (and paying for the API calls to OpenRouter), I can use the existing ChatGPT subscription I’m already using for everything else. The same MCP server could also be used by Claude if I surrender to the 50% discount codes they keep sending out, without changing the underlying blog infrastructure.

Co-developing these tools with ChatGPT Work was straightforward, as was the deployment of a Secure MCP Tunnel on my server, so that the MCP server does not need to be exposed to the open internet.

Sometimes the missing piece isn’t another agent, but a better interface for the one you already use.