Skip to main content
Glama

Observe Community MCP Server

by rustomax
docker-compose.yml4.3 kB
# Observe Community MCP - Docker Compose Configuration # # Simple unified configuration for development and production use. # Environment variables control behavior without needing multiple files. services: observe-mcp: build: context: . dockerfile: Dockerfile container_name: observe-mcp-server ports: - "8000:8000" - "5678:5678" # Debug port for development depends_on: - postgres - otel-collector environment: # === Core Configuration === - OBSERVE_CUSTOMER_ID=${OBSERVE_CUSTOMER_ID} - OBSERVE_TOKEN=${OBSERVE_TOKEN} - OBSERVE_DOMAIN=${OBSERVE_DOMAIN:-observeinc.com} # === MCP Authentication === - PUBLIC_KEY_PEM=${PUBLIC_KEY_PEM} # === Document Search (BM25) === # Now using PostgreSQL BM25 search - no external dependencies needed # === Database (Semantic Graph) === - POSTGRES_HOST=postgres - POSTGRES_PORT=5432 - POSTGRES_DB=semantic_graph - POSTGRES_USER=semantic_graph - POSTGRES_PASSWORD=${SEMANTIC_GRAPH_PASSWORD} # === Optional: Enhanced Embeddings === - OPENAI_API_KEY=${OPENAI_API_KEY} # === Content Directories === - OBSERVE_DOCS_DIR=/app/observe-docs # === Runtime === - PYTHONUNBUFFERED=1 - LOG_LEVEL=${LOG_LEVEL:-INFO} - LOG_COLORS=${LOG_COLORS:-true} # === OpenTelemetry Configuration === - OTEL_TELEMETRY_ENABLED=${OTEL_TELEMETRY_ENABLED:-true} - OTEL_SERVICE_NAME=${OTEL_SERVICE_NAME:-observe-community-mcp} - OTEL_EXPORTER_OTLP_ENDPOINT=${OTEL_EXPORTER_OTLP_ENDPOINT:-http://otel-collector:4317} - DEPLOYMENT_ENVIRONMENT=${DEPLOYMENT_ENVIRONMENT:-development} volumes: # Documentation (always read-only) - ./observe-docs:/app/observe-docs:ro restart: unless-stopped healthcheck: test: ["CMD", "python", "-c", "import socket; sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM); sock.settimeout(5); result = sock.connect_ex(('localhost', 8000)); sock.close(); exit(0 if result == 0 else 1)"] interval: 30s timeout: 10s retries: 3 start_period: 40s # OpenTelemetry Collector for OTEL collection # Receives telemetry data from instrumented applications and forwards to Observe otel-collector: image: otel/opentelemetry-collector-contrib:latest container_name: otel-collector ports: - "4317:4317" # OTLP gRPC - "4318:4318" # OTLP HTTP - "13133:13133" # Health check environment: # Use environment variables from .env for authentication - OBSERVE_OTEL_TOKEN=${OBSERVE_OTEL_TOKEN} - OBSERVE_OTEL_CUSTOMER_ID=${OBSERVE_OTEL_CUSTOMER_ID} - OBSERVE_OTEL_DOMAIN=${OBSERVE_OTEL_DOMAIN} volumes: # Mount the collector configuration file - ./otel-collector-config.yaml:/etc/otelcol-contrib/otel-collector-config.yaml:ro command: ["--config=/etc/otelcol-contrib/otel-collector-config.yaml"] restart: unless-stopped healthcheck: test: ["CMD", "wget", "--spider", "-q", "http://localhost:13133/"] interval: 30s timeout: 10s retries: 3 start_period: 10s # PostgreSQL with pgvector + BM25 extensions # Required for semantic graph intelligence (query_semantic_graph) + BM25 docs search postgres: image: paradedb/paradedb:latest container_name: observe-semantic-graph environment: POSTGRES_DB: semantic_graph POSTGRES_USER: semantic_graph POSTGRES_PASSWORD: ${SEMANTIC_GRAPH_PASSWORD} POSTGRES_INITDB_ARGS: "--auth-host=scram-sha-256" command: > postgres -c log_statement=none -c log_duration=off -c log_line_prefix='%t [%p]: ' -c log_min_duration_statement=100 -c log_connections=on -c log_disconnections=on -c logging_collector=off volumes: - semantic_graph_data:/var/lib/postgresql/data - ./sql:/docker-entrypoint-initdb.d/ ports: - "5432:5432" restart: unless-stopped healthcheck: test: ["CMD-SHELL", "pg_isready -U semantic_graph -d semantic_graph"] interval: 10s timeout: 5s retries: 5 volumes: semantic_graph_data: driver: local networks: default: name: observe-mcp-network

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/rustomax/observe-community-mcp'

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