Skip to main content
Glama

MCP Self-Learning Server

docker-compose.yml•3.48 kB
version: '3.8' services: mcp-learning-server: build: context: . dockerfile: Dockerfile container_name: mcp-self-learning-server ports: - "${MCP_PORT:-8765}:8765" volumes: # Persistent data storage - mcp-learning-data:/app/data - mcp-learning-logs:/app/logs - mcp-shared-knowledge:/app/shared_knowledge environment: - NODE_ENV=production - MCP_LEARN_HOST=0.0.0.0 - MCP_LEARN_PORT=8765 - MCP_LEARN_LOG_LEVEL=${LOG_LEVEL:-info} - MCP_LEARN_MAX_MEMORY=${MAX_MEMORY:-1000} restart: unless-stopped healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8765/health"] interval: 30s timeout: 10s retries: 3 start_period: 30s labels: - "com.saralegui-solutions.service=mcp-self-learning" - "com.saralegui-solutions.version=1.0.0" - "traefik.enable=true" - "traefik.http.routers.mcp-learning.rule=Host(`mcp-learning.local`)" - "traefik.http.services.mcp-learning.loadbalancer.server.port=8765" # Optional: REST API only mode mcp-api-server: build: context: . dockerfile: Dockerfile container_name: mcp-self-learning-api command: ["node", "api/rest-server.js"] ports: - "${API_PORT:-8766}:8765" volumes: - mcp-learning-data:/app/data - mcp-learning-logs:/app/logs environment: - NODE_ENV=production - MCP_LEARN_HOST=0.0.0.0 - MCP_LEARN_PORT=8765 profiles: - api-only restart: unless-stopped # Optional: Monitoring with Prometheus prometheus: image: prom/prometheus:latest container_name: mcp-prometheus ports: - "${PROMETHEUS_PORT:-9090}:9090" volumes: - ./monitoring/prometheus.yml:/etc/prometheus/prometheus.yml:ro - prometheus-data:/prometheus command: - '--config.file=/etc/prometheus/prometheus.yml' - '--storage.tsdb.path=/prometheus' - '--web.console.libraries=/etc/prometheus/console_libraries' - '--web.console.templates=/etc/prometheus/consoles' - '--web.enable-lifecycle' profiles: - monitoring restart: unless-stopped # Optional: Visualization with Grafana grafana: image: grafana/grafana:latest container_name: mcp-grafana ports: - "${GRAFANA_PORT:-3000}:3000" volumes: - grafana-data:/var/lib/grafana - ./monitoring/grafana/dashboards:/var/lib/grafana/dashboards - ./monitoring/grafana/provisioning:/etc/grafana/provisioning environment: - GF_SECURITY_ADMIN_PASSWORD=${GRAFANA_PASSWORD:-admin} - GF_INSTALL_PLUGINS=grafana-clock-panel profiles: - monitoring restart: unless-stopped # Optional: Load balancer with HAProxy load-balancer: image: haproxy:alpine container_name: mcp-load-balancer ports: - "${LB_PORT:-8767}:8767" volumes: - ./monitoring/haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfg:ro profiles: - load-balance restart: unless-stopped depends_on: - mcp-learning-server volumes: mcp-learning-data: name: mcp_learning_data driver: local mcp-learning-logs: name: mcp_learning_logs driver: local mcp-shared-knowledge: name: mcp_shared_knowledge driver: local prometheus-data: name: mcp_prometheus_data driver: local grafana-data: name: mcp_grafana_data driver: local networks: default: name: mcp-learning-network driver: bridge

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/saralegui-solutions/mcp-self-learning-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server