aios-core
Version:
Synkra AIOS: AI-Orchestrated System for Full Stack Development - Core Framework
141 lines (124 loc) • 3.69 kB
YAML
# Docker MCP Gordon Configuration Template
# Synkra AIOS Framework
# Version: 1.0.0
#
# Usage:
# This template is used by the *setup-mcp-docker task to generate
# project-specific Docker MCP configurations.
#
# Variables:
# {{PROJECT_ROOT}} - Project root path
# {{GITHUB_TOKEN_ENV}} - GitHub token environment variable name
# {{ENABLED_MCPS}} - List of enabled MCPs
# {{PRESET_NAME}} - Active preset name
version: '3.8'
services:
# ============================================
# CORE MCPs
# ============================================
# Filesystem Access
# Required for all workflows - read/write project files
fs:
image: mcp/filesystem
command:
- /workspace
volumes:
- {{PROJECT_ROOT}}:/workspace:rw
labels:
mcp.core: "true"
mcp.preset: "core,dev,research,full"
mcp.description: "File system access for project files"
# GitHub Operations
# Optional - requires GITHUB_TOKEN
github:
image: mcp/github
environment:
- GITHUB_TOKEN=${{GITHUB_TOKEN_ENV:-GITHUB_TOKEN}}
labels:
mcp.core: "true"
mcp.preset: "core,dev,full"
mcp.description: "GitHub API for repos, issues, PRs"
mcp.requires_auth: "true"
# HTTP Fetch
# Optional - for web requests and scraping
fetch:
image: mcp/fetch
labels:
mcp.core: "true"
mcp.preset: "core,research,full"
mcp.description: "HTTP requests and web scraping"
# ============================================
# OPTIONAL MCPs - Uncomment as needed
# ============================================
# PostgreSQL Database Access
# postgres:
# image: mcp/postgres
# environment:
# - DATABASE_URL=${DATABASE_URL}
# labels:
# mcp.preset: "full,db"
# mcp.description: "PostgreSQL database operations"
# mcp.requires_auth: "true"
# SQLite Database Access
# sqlite:
# image: mcp/sqlite
# volumes:
# - {{PROJECT_ROOT}}/data:/data:rw
# labels:
# mcp.preset: "full,db"
# mcp.description: "SQLite database operations"
# Browser Automation (Puppeteer)
# puppeteer:
# image: mcp/puppeteer
# labels:
# mcp.preset: "full,automation"
# mcp.description: "Browser automation"
# Notion Integration
# notion:
# image: mcp/notion
# environment:
# - NOTION_API_KEY=${NOTION_API_KEY}
# labels:
# mcp.preset: "full,productivity"
# mcp.description: "Notion workspace integration"
# mcp.requires_auth: "true"
# Slack Integration
# slack:
# image: mcp/slack
# environment:
# - SLACK_BOT_TOKEN=${SLACK_BOT_TOKEN}
# labels:
# mcp.preset: "full,productivity"
# mcp.description: "Slack messaging"
# mcp.requires_auth: "true"
# ============================================
# NETWORK CONFIGURATION
# ============================================
networks:
default:
name: mcp-network-{{PRESET_NAME:-default}}
driver: bridge
# ============================================
# VOLUMES (Optional - for persistent data)
# ============================================
# volumes:
# mcp-data:
# driver: local
# ============================================
# TEMPLATE NOTES
# ============================================
#
# This template supports variable substitution:
#
# 1. Environment variables: ${VAR_NAME} or ${VAR_NAME:-default}
# 2. Template variables: {{VAR_NAME}} (replaced at generation time)
#
# To generate a configuration:
# *setup-mcp-docker --project /path/to/project
#
# To add MCPs dynamically:
# docker mcp server add <name>
# *add-mcp <name>
#
# To create custom presets:
# docker mcp preset create <name> --servers fs,github