Go to file
Lucio Lelii deb3d81119 Keep the MCP servers' code here and deploy them from another repository
The compose files, the gateway's Caddyfiles, the egress proxy's configuration, the example
.env, the seccomp profile, the dev-server's example service definitions and the stack's two
documents moved to mcps-docker-compose. With the images published to Docker Hub, a server
runs them without the sources, and a deploy is a new image tag; keeping both here meant the
repository that changes with the code also carried what only changes when a host does.

publish-images.sh builds the four images for amd64 and arm64 and pushes them tagged with
this repository's commit hash and "latest". It refuses a dirty working tree, since the
tag names a commit. The images now published were built from 921d54c.

Each server keeps its README and tests, and coding-agent-mcp its own standalone compose
files. The three references that pointed at moved files now say where they went.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-02 11:49:09 +02:00
browser-mcp Keep the MCP servers' code here and deploy them from another repository 2026-10-02 11:49:09 +02:00
coding-agent-mcp Improve MCP guidance and tool availability 2026-09-23 13:15:39 +02:00
dev-server-mcp Keep the MCP servers' code here and deploy them from another repository 2026-10-02 11:49:09 +02:00
minio-mcp Take the internal MinIO's connection from the catalog, not the container 2026-10-02 09:33:07 +02:00
.gitignore Keep the MCP servers' code here and deploy them from another repository 2026-10-02 11:49:09 +02:00
README.md Keep the MCP servers' code here and deploy them from another repository 2026-10-02 11:49:09 +02:00
publish-images.sh Keep the MCP servers' code here and deploy them from another repository 2026-10-02 11:49:09 +02:00

README.md

MCP servers

Four independent Streamable HTTP MCP servers, each in its own directory with its own README and tests:

  • coding-agent-mcp - scoped workspace editing.
  • dev-server-mcp - authenticated facade for an allowlisted development-server worker (the same image runs the facade and the worker).
  • browser-mcp - Playwright automation restricted to exact allowed origins.
  • minio-mcp - bounded list/read/stat/write access to object storage.

This repository holds their code. Deploying them is a separate repository, mcps-docker-compose: the compose files, the gateway’s Caddyfiles, the example .env and the documentation of every environment variable. It pulls the images published from here, so a server needs no sources and no build toolchain.

Publishing the images

docker login -u luciolelii           # once; use an access token with read and write permission
./publish-images.sh                  # all four
./publish-images.sh minio-mcp        # or just some

Each image is built for linux/amd64 and linux/arm64 and pushed to luciolelii/<name> tagged with this repository’s commit hash and latest. The script refuses to run on a dirty working tree, because the tag names a commit. Afterwards, deploy by setting MCP_IMAGE_TAG in the deployment repository (or the default in its mcp-stack.compose.yml) to the printed hash.

The dev-server image fixes its user at 10001:10001 when it is built, because the two volumes its worker mounts take their owner from the image. See the deployment repository for what that means at run time.

Tests: npm test inside each server’s directory.