chore(glama): container image for the MCP server + maintainer claim
Directory listings (Glama, and awesome-mcp-servers via its bot) refuse to list a server they cannot build and start. Both files exist for that gate: - mcp-server/Dockerfile packages ONLY mcp-server/, not the RCLL backend. The five tools register at module load, before any HTTP call, so introspection succeeds with no backend reachable — verified by building the image and running an initialize + tools/list handshake over stdio (5 tools, stdout clean of anything but protocol frames; the startup banner goes to stderr). - glama.json names geratron as maintainer, which is how Glama grants the claim needed to attach the Dockerfile on their side. Not a deployment artifact: no image is pushed to any registry, and the compose stack at the repo root is still the way to run the backend.
This commit is contained in:
parent
3074417d64
commit
81ef52ca01
2 changed files with 37 additions and 0 deletions
6
glama.json
Normal file
6
glama.json
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"$schema": "https://glama.ai/mcp/schemas/server.json",
|
||||||
|
"maintainers": [
|
||||||
|
"geratron"
|
||||||
|
]
|
||||||
|
}
|
||||||
31
mcp-server/Dockerfile
Normal file
31
mcp-server/Dockerfile
Normal file
|
|
@ -0,0 +1,31 @@
|
||||||
|
# Container image for the fleet-memory MCP server (stdio transport).
|
||||||
|
#
|
||||||
|
# This image exists for directory listings (Glama and friends) that require a
|
||||||
|
# buildable Dockerfile and start the server to introspect its tool list. It
|
||||||
|
# packages ONLY mcp-server/, not the RCLL backend: the MCP server is a thin
|
||||||
|
# stdio client that talks to a self-hosted backend over FLEET_URL.
|
||||||
|
#
|
||||||
|
# Introspection works with no backend reachable — the five tools are registered
|
||||||
|
# at module load, before any HTTP call. Actual tool calls need FLEET_URL to
|
||||||
|
# point at a running RCLL API (see docker-compose.rcll.yml at the repo root).
|
||||||
|
#
|
||||||
|
# build: docker build -t fleet-memory-mcp mcp-server/
|
||||||
|
# run: docker run --rm -i -e FLEET_URL=http://host.docker.internal:5100 fleet-memory-mcp
|
||||||
|
|
||||||
|
FROM node:22-alpine
|
||||||
|
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
# Dependencies first so the layer caches independently of server.js edits.
|
||||||
|
COPY package.json package-lock.json ./
|
||||||
|
RUN npm ci --omit=dev
|
||||||
|
|
||||||
|
COPY server.js README.md LICENSE ./
|
||||||
|
|
||||||
|
# Backend location. Overridden at run time; the default matches the local
|
||||||
|
# docker-compose stack. The pre-rebrand name HINDSIGHT_URL is still read.
|
||||||
|
ENV FLEET_URL=http://127.0.0.1:5100
|
||||||
|
|
||||||
|
# stdio transport: the container talks MCP over stdin/stdout, so it must be run
|
||||||
|
# with -i and must not print anything but protocol frames on stdout.
|
||||||
|
ENTRYPOINT ["node", "server.js"]
|
||||||
Loading…
Reference in a new issue