Hey there, new here but been watching Cole’s stuff for a while and lurking a bit. I’ve been screwing around with ML/AI stuff and wanted to get deeper into MCP now that that’s clearly the way everything is headed. But personally, I’m against running everything on bare metal unless absolutely necessary.
I’ve got a lot of other services running in Docker systems, and have been working on a getting these MCP servers in a containerized process. So I give you my first release of MCP Mealprep, where you take a bunch of little containers, put snacks in 'em, and keep it cool for later.
I suggest deployment with Portainer, as that’s easiest if you’re not familiar with docker CLI, but you can use just about anything that works with docker-compose. This is early work and there’s rough edges, but this should deploy 17 MCP servers in one easy AIO package.
Let me know what everyone thinks, I’m open to suggestions or improvements for sure, this is my first public GitHub project.
3 Likes
I absolutely love this setup!! I’ve been thinking of doing something like this myself and yeah Portainer is a great way to manage all of these containers.
1 Like
Thanks! Its been a bear trying to figure out how to get all this set up where you don’t have to do a git clone or download anything, but it all resolves within each docker container. But this will run correctly from what I’m seeing.
I’ve got a few new ones scoped, and eventually I’ll start making Dockerfiles for other ones I want and do pulls for their repos. Like, the first is the mcp-relay that lets you send the stdio outside the local network. Not absolutely necessary, but super useful if you’re standing this up as a service. And they’ve got nothing for docker that I can find.
Appreciate you taking a look!
1 Like
Yeah you bet! Super cool what you’ve got going on
1 Like
I have become a huge fan of Portainer. I just went over and checked it out as well very cool tool for the Portainer toolbox. Many thanks!
2 Likes
Just in case anyone else is struggling, I’ve moved over to the Local AI stack and after installing Portainer from their directions, I added this to the end of my Caddyfile:
# Everything below has been added by user
# Portainer
portainer.domain.tld {
reverse_proxy localhost:9000
}
then I’ve got a functional Portainer, ready to deploy this and whatever else I want!
1 Like
I was looking at this after watching Cole’s video on the MCP, question did you look at the docker MCP server that helps create the docker containers mcp servers we maybe able to convert many of them into a single docker swarm.
Do you have a link I can check out? I saw the video, and it was good stuff, (thanks @ColeMedin) but I’m not sure what specifically you’re referring to.
The long answer is I’m in the middle of totally rewriting this from the ground up to allow for uv, npx, and pip installs in a custom container. I’m trying to get everything running on STDio and SSE, as well as support the new mcpo protocol from OpenWebUI, making for easy tool additions.
But making all that has been a bear, and I’ve been through testing on about 6 different containers, all not working for some reason or another. So I’ve made a custom container that does, it’s live on GHCR, and now I’m in process to get it all functional with server launch, env/args, etc.
Making the server run or just SSE or just mcpo is relatively easy, lol. Getting it all clean and functional is kinda nuts because none of this has been built for containerization.
1 Like