# Backed > Backed compiles application repositories into a machine-readable capability layer — real product actions mapped to HTTP endpoints, exposed as MCP tools and SDK operations. Backed is a **capability compiler**, not an MCP host or agent framework. ## Documentation - OpenAPI spec: /openapi.yaml - Source markdown: docs/api/ ## Local CLI golden path ```bash backed init backed adapt # default --source ai backed generate mcp backed generate sdk backed dev # MCP at http://127.0.0.1:4242/mcp ``` ## Hosted REST API (cookie auth) | Method | Path | Purpose | | --- | --- | --- | | GET | /api/health | Liveness + Postgres readiness | | GET | /api/session | GitHub connection state | | GET | /api/github/repos | Repository picker | | POST | /api/pipeline/run | Enqueue or inline analysis | | GET | /api/pipeline/runs/:id | Poll queued run status | Queue mode: set DATABASE_URL + run worker (`services/worker`). ## Key monorepo paths - CLI: apps/cli/src/cli.ts - Compiler: packages/compiler/ - Capability IR: packages/capability-ir/ - MCP: packages/mcp/ - SDK: packages/sdk/ - Web pipeline: apps/web/src/lib/pipeline-queue.ts - Worker: services/worker/src/worker.ts - Deploy: docs/railway-deploy.md ## Capability IR rules - Only `reviewDecision: accepted` + `visibility: agent|public` become MCP/SDK tools - Static analyze: `src/app/**/route.ts` (Next.js App Router) - AI adapt discovers both `app/` and `src/app/` route files ## Environment (live analysis) SEMANTIC_INFERENCE_ENABLED=true SEMANTIC_MODEL_PROVIDER=deepseek|openai|anthropic|zai SEMANTIC_MODEL_ID= AI_GATEWAY_API_KEY=