Skip to main content
Glama
docker-compose-llama.ymlโ€ข5.82 kB
services: # Existing MCP Server mcp-server: build: .. ports: - "38000:8000" environment: - SCHEMA_REGISTRY_URL=http://schema-registry-mcp:8081 - SCHEMA_REGISTRY_USER=${SCHEMA_REGISTRY_USER:-} - SCHEMA_REGISTRY_PASSWORD=${SCHEMA_REGISTRY_PASSWORD:-} - MCP_HOST=0.0.0.0 - MCP_PORT=8000 - MCP_PATH=/mcp - ENABLE_AUTH=false - UVICORN_HOST=0.0.0.0 - UVICORN_PORT=8000 depends_on: - schema-registry-mcp networks: - kafka-network-mcp volumes: - ./logs:/app/logs restart: unless-stopped command: ["python", "remote-mcp-server.py"] healthcheck: test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://localhost:8000/health')"] interval: 30s timeout: 10s retries: 5 start_period: 60s # LLama via Ollama ollama: image: ollama/ollama:latest container_name: ollama-mcp ports: - "11434:11434" volumes: - ollama_data:/root/.ollama - ./models:/root/.ollama/models environment: - OLLAMA_HOST=0.0.0.0 - OLLAMA_ORIGINS=* networks: - kafka-network-mcp restart: unless-stopped # Uncomment the following section if you have an NVIDIA GPU for faster inference # deploy: # resources: # reservations: # devices: # - driver: nvidia # count: all # capabilities: [gpu] healthcheck: test: ["CMD", "ollama", "list"] interval: 30s timeout: 10s retries: 5 start_period: 60s # MCP-LLama Bridge Service mcp-bridge: build: context: . dockerfile: Dockerfile.bridge container_name: mcp-bridge ports: - "8080:8080" environment: - OLLAMA_HOST=http://ollama-mcp:11434 - MCP_SERVER_HOST=http://mcp-server:8000 - DEFAULT_MODEL=llama3.2:3b depends_on: ollama: condition: service_healthy mcp-server: condition: service_started networks: - kafka-network-mcp volumes: - ./bridge:/app/bridge - ./logs:/app/logs restart: unless-stopped # AKHQ UI for Kafka management akhq-ui-mcp: image: tchiotludo/akhq:0.25.1 depends_on: - schema-registry-mcp - kafka-mcp ports: - "38080:8080" environment: AKHQ_CONFIGURATION: | akhq: connections: kafka-mcp-local: properties: bootstrap.servers: "kafka-mcp:9092" schema-registry: url: "http://schema-registry-mcp:8081" healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8080/api/health"] interval: 10s timeout: 5s retries: 10 start_period: 30s networks: - kafka-network-mcp restart: unless-stopped # Schema Registry schema-registry-mcp: image: confluentinc/cp-schema-registry:7.5.0 hostname: schema-registry-mcp container_name: schema-registry-mcp depends_on: kafka-mcp: condition: service_healthy ports: - "38081:8081" environment: SCHEMA_REGISTRY_HOST_NAME: schema-registry-mcp SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS: PLAINTEXT://kafka-mcp:9092 SCHEMA_REGISTRY_LISTENERS: http://0.0.0.0:8081 SCHEMA_REGISTRY_DELETE_SUBJECT_ENABLED: "true" SCHEMA_REGISTRY_DELETE_VERSION_ENABLED: "true" SCHEMA_REGISTRY_LOG4J_ROOT_LOGLEVEL: WARN SCHEMA_REGISTRY_LOG4J_LOGGERS: "kafka.schema.registry=WARN" healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8081/subjects"] interval: 10s timeout: 5s retries: 10 start_period: 30s networks: - kafka-network-mcp volumes: - schema_registry_data:/var/lib/kafka-schema-registry restart: unless-stopped # Kafka Broker kafka-mcp: image: confluentinc/cp-kafka:7.5.0 hostname: kafka-mcp container_name: kafka-mcp user: root ports: - "39092:9092" - "39094:9094" environment: KAFKA_NODE_ID: 1 KAFKA_PROCESS_ROLES: broker,controller KAFKA_CONTROLLER_QUORUM_VOTERS: 1@kafka-mcp:9094 KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9092,CONTROLLER://0.0.0.0:9094 KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,CONTROLLER:PLAINTEXT KAFKA_CONTROLLER_LISTENER_NAMES: CONTROLLER KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka-mcp:9092 KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1 KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1 KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 1 KAFKA_LOG_DIRS: /tmp/kraft-combined-logs KAFKA_AUTO_CREATE_TOPICS_ENABLE: 'true' CLUSTER_ID: "v-qDsAQhRMOEe3xNzCmBuQ" KAFKA_INITIAL_BROKER_REGISTRATION_TIMEOUT_MS: 60000 KAFKA_LOG4J_ROOT_LOGLEVEL: WARN KAFKA_LOG4J_LOGGERS: "kafka=WARN,kafka.controller=WARN,kafka.log.LogCleaner=WARN,state.change.logger=WARN,kafka.producer.async.DefaultEventHandler=WARN" command: > bash -c " echo 'Setting up Kafka directories...' && mkdir -p /tmp/kraft-combined-logs && chown -R appuser:appuser /tmp/kraft-combined-logs && echo 'Starting Kafka...' && /etc/confluent/docker/run" healthcheck: test: ["CMD", "kafka-topics", "--bootstrap-server", "localhost:9092", "--list"] interval: 10s timeout: 10s retries: 10 start_period: 60s networks: - kafka-network-mcp volumes: - kafka_data:/tmp/kraft-combined-logs restart: unless-stopped volumes: ollama_data: driver: local kafka_data: driver: local schema_registry_data: driver: local networks: kafka-network-mcp: driver: bridge ipam: config: - subnet: 172.20.0.0/16

Latest Blog Posts

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/aywengo/kafka-schema-reg-mcp'

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