mcp-minimal
A minimal MCP server to validate that MCP client configurations are working.
Version pinning: action needed
Please address this soon. This repository does not fully pin its versions.
What is missing here:
- No exact Python version pinned (only the range
requires-python = ">=3.10"). There is no.python-version. - Unpinned dependencies in
requirements.txt(1):fastmcp.
Why this is a problem: without exact pins, every fresh install resolves the newest versions available that day. The same commit can then behave differently on a laptop, in the Docker build and on the server, and a rebuild can break without any code change. Example: on 2026-10-21 a fresh install pulled mcp 2.x and broke several MCP servers because mcp was not pinned anywhere. Developer machines also differ from the servers (a developer PC runs Omarchy/Arch with Python 3.14 and Node 26; dev-playground, hd24devsrv, gptgateway and montage run Ubuntu 24.04 with Python 3.12; mdm, cma-dev and 10.24.241.50 run Ubuntu 26.04 with Python 3.14).
To do:
- Pin Python:
uv python pin <the target server's version>, and commit.python-version. - Lock dependencies:
uv lockand commituv.lock, or pin every requirement with==(e.g.uv pip compile requirements.in -o requirements.txt).
Good practice for every HD24 repository:
- Commit lockfiles (
uv.lock,package-lock.json) and treat pin changes like code changes: no silent upgrades. - Keep the pinned versions identical to the Docker base image (
FROM python:3.12-slim,FROM node:22-slim) and the target server. - Tag every Docker base image with a version, never
latest. - Test locally the way the server runs it: same Dockerfile/Compose and a local
.env, not a nativepython app.py. - Test host scripts (apt, systemd, cron) in an
ubuntu:24.04/ubuntu:26.04container that matches the target server. - A local test is a prerequisite, not proof: the final check happens on the target server via the approved deploy path (
pull_build_start_container.sh).
Remove this section once everything above is done.
pip install -r requirements.txt
Detailed setup instructions for using Claude Desktop on Windows 10 with WSL (2): https://janspoerer.github.io/posts/.
