We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/kscz0000/Zhiwen-Assistant-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
version: '3.8'
services:
# 主应用服务
folder-docs-mcp:
build:
context: .
dockerfile: deploy/docker/Dockerfile
target: production
container_name: folder-docs-mcp
restart: unless-stopped
environment:
- PYTHONPATH=/app/src
- FOLDER_DOCS_CONFIG_DIR=/app/config
- FOLDER_DOCS_DATA_DIR=/app/data
- FOLDER_DOCS_CACHE_DIR=/app/cache
- FOLDER_DOCS_LOG_DIR=/app/logs
- LOG_LEVEL=INFO
- CACHE_ENABLED=true
- SECURITY_LEVEL=medium
volumes:
# 配置目录
- ./config:/app/config:ro
# 数据目录(可读写)
- folder-docs-data:/app/data
# 缓存目录
- folder-docs-cache:/app/cache
# 日志目录
- folder-docs-logs:/app/logs
# 项目目录(挂载要处理的项目)
- ./projects:/projects:ro
networks:
- folder-docs-network
depends_on:
- redis
- prometheus
labels:
- "traefik.enable=true"
- "traefik.http.routers.folder-docs.rule=Host(`folder-docs.localhost`)"
- "traefik.http.services.folder-docs.loadbalancer.server.port=8000"
# Redis缓存服务
redis:
image: redis:7-alpine
container_name: folder-docs-redis
restart: unless-stopped
command: redis-server --appendonly yes --maxmemory 256mb --maxmemory-policy allkeys-lru
volumes:
- redis-data:/data
networks:
- folder-docs-network
labels:
- "traefik.enable=false"
# Prometheus监控
prometheus:
image: prom/prometheus:latest
container_name: folder-docs-prometheus
restart: unless-stopped
command:
- '--config.file=/etc/prometheus/prometheus.yml'
- '--storage.tsdb.path=/prometheus'
- '--web.console.libraries=/etc/prometheus/console_libraries'
- '--web.console.templates=/etc/prometheus/consoles'
- '--storage.tsdb.retention.time=200h'
- '--web.enable-lifecycle'
volumes:
- ./deploy/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml:ro
- prometheus-data:/prometheus
networks:
- folder-docs-network
labels:
- "traefik.enable=true"
- "traefik.http.routers.prometheus.rule=Host(`prometheus.localhost`)"
- "traefik.http.services.prometheus.loadbalancer.server.port=9090"
# Grafana仪表板
grafana:
image: grafana/grafana:latest
container_name: folder-docs-grafana
restart: unless-stopped
environment:
- GF_SECURITY_ADMIN_PASSWORD=admin123
- GF_USERS_ALLOW_SIGN_UP=false
volumes:
- grafana-data:/var/lib/grafana
- ./deploy/grafana/provisioning:/etc/grafana/provisioning:ro
- ./deploy/grafana/dashboards:/var/lib/grafana/dashboards:ro
networks:
- folder-docs-network
depends_on:
- prometheus
labels:
- "traefik.enable=true"
- "traefik.http.routers.grafana.rule=Host(`grafana.localhost`)"
- "traefik.http.services.grafana.loadbalancer.server.port=3000"
# 反向代理
traefik:
image: traefik:v2.10
container_name: folder-docs-traefik
restart: unless-stopped
command:
- "--api.insecure=true"
- "--providers.docker=true"
- "--providers.docker.exposedbydefault=false"
- "--entrypoints.web.address=:80"
- "--entrypoints.websecure.address=:443"
ports:
- "80:80"
- "443:443"
- "8080:8080" # Traefik仪表板
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- ./deploy/traefik/traefik.yml:/etc/traefik/traefik.yml:ro
networks:
- folder-docs-network
labels:
- "traefik.enable=true"
- "traefik.http.routers.traefik.rule=Host(`traefik.localhost`)"
- "traefik.http.services.traefik.loadbalancer.server.port=8080"
# 网络配置
networks:
folder-docs-network:
driver: bridge
# 数据卷
volumes:
folder-docs-data:
driver: local
folder-docs-cache:
driver: local
folder-docs-logs:
driver: local
redis-data:
driver: local
prometheus-data:
driver: local
grafana-data:
driver: local