Gitlab & Gitlab MCP avec Claude

Gitlab & Gitlab MCP avec Claude
Photo by Gerard Siderius / Unsplash

Dans le post précedent, nous avions installé un serveur Gitlab. Maintenant il est l'heure de passer la seconde et de rajouter un serveur MCP pour l'utiliser avec notre agent préféré !

Un voyage au travers de Gitlab & Docker
Aujourd’hui nous allons parler Gitlab & Docker. Plus particulièrement comment setup un serveur Gitlab avec un serveur Gitlab MCP pour une utilisation avec un Agent, le tout dans via Docker Compose. Pour la gestion du routing nous utiliserons Traefik. Dans cet article, nous effectuerons la configuration pour une sous machine du

Gitlab MCP

On ne change pas une équipe qui gagne, ajouter la section suivante à notre docker compose :

#############################################################################
# Gitlab MCP
#############################################################################
gitlab_mcp:
  image: "iwakitakuma/gitlab-mcp"
  container_name: gitlab_mcp
  environment:
    - GITLAB_PERSONAL_ACCESS_TOKEN= ...
    - GITLAB_API_URL=http://gitlab/api/v4
    - USE_GITLAB_WIKI=true
    - USE_MILESTONE=true
    - USE_PIPELINE=true
    - SSE=true
  ports:
    - 3333:3002
  labels:
    - "traefik.enable=true"
    ## HTTP Routers
    - "traefik.http.routers.gitlab_mcp_web-rtr.entrypoints=websecure"
    - "traefik.http.routers.gitlab_mcp_web-rtr.rule=Host(`gitlab_mcp.BBB.XXX.com`)"
    # Cert
    - "traefik.http.routers.gitlab_mcp_web-rtr.tls=true"
    - "traefik.http.routers.gitlab_mcp_web-rtr.tls.certresolver=myresolver"
    ## HTTP Services
    - "traefik.http.routers.gitlab_mcp_web-rtr.service=gitlab_mcp_web-svc"
    - "traefik.http.services.gitlab_mcp_web-svc.loadbalancer.server.port=3002"

Pour assurer la connection entre notre MCP & notre serveur Gitlab, nous allons devoir créer un Private Access Token (PAT).

Hop hop hop, une fois que c'est fait, on relance le tout (docker compose down & up).

Ensuite on vérifie qu'on arrive bien à get les data depuis notre nouveau service

C'est bon tout fonctionne ! 😎

Claude MCP

Tout d'abord on ajoute notre serveur MCP dans Claude, pour cela on utilise la commande suivante :

claude mcp add --transport sse gitlab-mcp http://gitlab_mcp.BBB.XXX.com/sse

On vérifie que l'on voit bien le serveur MCP dans claude, avec "/mcp"

C'est bon notre MCP est bien activé dans claude.

Maintenant c'est l'heure de l'épreuve du feu, on va demander à Claude de nous faire un nouveau projet Gitlab.

Un petit tour sur notre Gitlab pour être sur :

Comme on dit par chez nous : Et Voilà ! 😎

Nous avons donc vu dans cet article comment rajouter un MCP à notre stack Docker et comment l'integrer avec Claude.