MCP Mealprep V2 - MCP Servers in docker-compose

MCP Mealprep V2, now with fresh containers for your containerization!

Perhaps you’ve seen my earlier post about V1, after all it’s only been about 20 days. But there were some issues with the original process. It required a Dockerfile, couldn’t work with anything that had a “uv.lock” file, and wasn’t the best process security-wise since it relied on the individual server to implement SSE protocol and just exposed that via port mapping.

To be fair, MCP servers aren’t really built for containerization at this point. Even this is a bit of an outside context solution, but I believe it’s a better process to get things running on either a local or remote server solution where you can spin containers up and down whenever you want. And should be pretty easy to add to something like the Local AI stack, IMHO.

This repo now contains a custom GHCR docker container that is based on debian, has node/npx, uv, and pip installed, and has a bash script that pulls environment variables from the docker-compose to run the MCP server both for local install and remote SSE expose via supergateway. In case bash scripts give you the heebs, there’s an explainer README in the repo that walks through the whole thing line-by-line to show what it does.

OpenWebUI’s mcpo is also available as an optional runtime environment variable. Getting this integrated was the hardest part of the whole thing, and I consider it mildly unsupported. Running it will create a duplicate MCP server that runs on the same port but allows for a OpenAPI-compatible service that directly connects to OpenWebUI as a tool. Not the best process and I haven’t seen any other clients use this protocol, but I wanted to make it available if you want it.

Anyway, let me know what you think and if you like it please do me a favor and star that jazz on GitHub!

2 Likes