Outils pour utilisateurs

Outils du site


informatique:ai_lm:mcp-inspector

Ceci est une ancienne révision du document !


Table des matières

MCP Inspector

Docker et Php STDIO

Pour utiliser le transport STDIO il faut que le moteur soit dans le container, en l’occurrence Php.

Le Dockerfile, un mix avec les images ghcr.io/modelcontextprotocol/inspector et php:8.4-cli-bookworm :

# ── Stage 1 : récupérer les fichiers de l'inspector ──────────────────────────
 
FROM ghcr.io/modelcontextprotocol/inspector:latest AS inspector
 
# ── Stage 2 : PHP + Composer + dépendances du projet ─────────────────────
 
FROM php:8.4-cli-bookworm AS php-deps
 
RUN apt-get update && apt-get install -y \
    libxml2-dev libonig-dev libicu-dev \
    && docker-php-ext-install mbstring xml \
    && rm -rf /var/lib/apt/lists/*
 
# Pas besoin de composer, le projet est géré localement (hors docker)
#COPY --from=composer:latest /usr/bin/composer /usr/bin/composer
 
# ── Stage 3 : image finale — Node.js + PHP + inspector + ton projet ───────────
 
FROM node:24-slim
 
# PHP depuis le stage "php-deps"
 
# PHP binaire + config + extensions
COPY --from=php-deps /usr/local/bin/php /usr/local/bin/php
COPY --from=php-deps /usr/local/lib/php /usr/local/lib/php
COPY --from=php-deps /usr/local/etc/php /usr/local/etc/php
# Libs système dont PHP dépend (résultat du ldd)
# $ docker run --rm php:8.4-cli ldd /usr/local/bin/php
COPY --from=php-deps /lib/x86_64-linux-gnu /lib/x86_64-linux-gnu
COPY --from=php-deps /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu
 
# Fichiers de l'inspector depuis le stage "inspector"
# selon son Dockerfile https://github.com/modelcontextprotocol/inspector/blob/main/Dockerfile
 
WORKDIR /app
COPY --from=inspector /app/package*.json ./
COPY --from=inspector /app/.npmrc ./
COPY --from=inspector /app/client/package*.json ./client/
COPY --from=inspector /app/server/package*.json ./server/
COPY --from=inspector /app/cli/package*.json ./cli/
COPY --from=inspector /app/node_modules ./node_modules
COPY --from=inspector /app/client/dist ./client/dist
COPY --from=inspector /app/client/bin  ./client/bin
COPY --from=inspector /app/server/build ./server/build
COPY --from=inspector /app/cli/build   ./cli/build
 
ENV CLIENT_PORT=6274
ENV SERVER_PORT=6277
EXPOSE 6274 6277
 
ENTRYPOINT ["npm", "start"]

On construit l'image :

docker build -t cyrille37/mcp-inspector .

On run l'inspector avec les bons mappings de dossier :

docker run -i --rm \
  -p 127.0.0.1:6274:6274 -p 127.0.0.1:6277:6277 -e HOST=0.0.0.0 \
  -e MCP_AUTO_OPEN_ENABLED=false \
  -e ALLOWED_ORIGINS="http://127.0.0.1:6274,http://localhost:6274" \
  -v /home/user/dev/mbox-mcp:/mcp \
  -v /home/user/dev/mbox-mcp/data:/mcp-data \
  cyrille37/mcp-inspector

Le ALLOWED_ORIGINS est important pour la communication entre l'IHM et le Proxy. Voir inspector/dns-rebinding-protection. Si non on voit dans la console docker : “Invalid origin: http://127.0.0.1:6274

Ici le projet Php+composer est dans le dossier /home/user/dev/mbox-mcp.

- Le point d'entrée sur mcp est /home/user/dev/mbox-mcp/bin/mbox-mcp.php - Les datas nécessaire au MCP sont dans /home/user/dev/mbox-mcp/data

Ce qui donne dans l'IHM de MCP inspector :

  • Transport : STDIO
  • Command : php
  • Arguments: /mcp/bin/mbox-mcp.php /mcp-data/www
informatique/ai_lm/mcp-inspector.1780043649.txt.gz · Dernière modification : de cyrille

Sauf mention contraire, le contenu de ce wiki est placé sous les termes de la licence suivante : CC0 1.0 Universal
CC0 1.0 Universal Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki