Stygian-style monorepo for MyContextProtocol: a hosted MCP gateway that ingests SKILL.md files from Git repositories, compiles them into policy-aware MCP capabilities, and exposes them through stable audited endpoints.
.
├── apps/
│ └── web/ # Next.js 16 / Bun dashboard
├── packages/
│ ├── mycontext-api-contract/ # Backend API contract docs
│ └── mycontext-web-client/ # Shared frontend/API-facing TypeScript types
├── services/
│ └── mcp-gateway/ # Swift / Vapor MCP gateway
├── docs/
│ ├── architecture/
│ └── test-plans/
├── scripts/ # Local CI and deploy entrypoints
├── package.json # Bun workspaces + Turbo
└── turbo.json
The backend also consumes the external Swift package mcp-server-kit for reusable MCP protocol primitives. During local two-repo development this is wired as a sibling checkout; publish and pin that package before relying on GitHub Actions or Fly remote builds.
# Install all Bun workspace dependencies
bun install
# Backend (port 8080 by default)
cd services/mcp-gateway
cp .env.example .env
swift run App
# Frontend (port 3000 by default)
cd ../../apps/web
cp .env.example .env
bun devSet the frontend NEXT_PUBLIC_API_URL to the backend origin, usually http://localhost:8080.
GitHub Actions is the source of truth for CI. The single workflow at .github/workflows/ci.yml calls local scripts so checks can be reproduced outside Actions:
bash scripts/ci.shThe workflow detects changes with scripts/ci-detect-changes.sh, runs the Bun/Turbo workspace checks, runs Swift tests/builds for services/mcp-gateway, and conditionally deploys the gateway to Fly.io on dev and main.
- Backend: Fly.io, configured by
services/mcp-gateway/fly.tomland deployed withbash scripts/fly-deploy-mcp-gateway.sh dev|main. - Frontend: Vercel Git integration with Root Directory =
apps/web. Vercel readsapps/web/vercel.json. Install runs from the monorepo root (cd ../.. && bun install --frozen-lockfile) so workspace deps andbun.lockstay in sync. Bun is pinned to 1.3.7 (.bun-version) so CI, local installs, and the checked-in lockfile use the same Bun release. Production builds use Turbopack (next build --turbopackinapps/web/package.json). - Optional self-hosting:
services/mcp-gateway/docker-compose.ymlremains as a Portainer/Compose reference, but Fly is the primary backend path.
The backend retains the original repo history. The frontend was merged in via git subtree from Stygian-Tech/my-context-protocol-frontend@dev; that repo is archival after cutover.
This repository is released under the MIT License.