dev-mcps/README.md

1.8 KiB
Raw Permalink Blame History

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.
  • postgres-mcp - SQL access to PostgreSQL, with a database and a user of its own for each execution.

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 five
./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.