Deployment Options
Choose a deployment model based on your team size, infrastructure, and requirements.
Comparison
| Option | Users | Persistence | OAuth | Best For |
|---|---|---|---|---|
| Local stdio | Single | None | No | Personal IDE use |
| Docker standalone | Single/Team | None | Optional | Development, testing |
| Docker + PostgreSQL | Team | Yes | Yes | Production with OAuth |
| Docker Compose | Team | Yes | Yes | All-in-one production |
Quick Decision Guide
Personal use with AI IDE? ➡️ Local stdio
Team access without OAuth? ➡️ Docker standalone
Team access with OAuth and persistent sessions? ➡️ Docker + PostgreSQL
Production with everything bundled? ➡️ Docker Compose
Transport Modes
| Mode | Protocol | Port | Endpoints | Use Case |
|---|---|---|---|---|
| stdio | Standard I/O | None | N/A | Local IDE clients |
| HTTP | StreamableHTTP + SSE | Required | /mcp, /sse | Remote/shared access |
The transport mode is determined by the PORT environment variable:
PORTset — HTTP mode with dual endpointsPORTnot set — stdio modestdioargument — Force stdio mode regardless
Setup
Use the setup wizard for guided deployment configuration:
bash
# Interactive (choose deployment type)
npx @structured-world/gitlab-mcp setup --mode=server
# Or via docker subcommand
npx @structured-world/gitlab-mcp docker init