Architecture
Synth uses a two-tier architecture: a central Synth server and distributed Envoy agents.
Synth Server
The brain of Synth. The server is a Fastify-based Node.js application that manages all deployment state, runs the intelligent agent, and exposes both a REST API and an MCP server.
- REST API — CRUD for partitions, artifacts, environments, and deployments
- MCP Server — Model Context Protocol server for tool-based AI integration
- Agent — Intent resolution, pipeline planning, and deployment orchestration
- Debrief — Decision log with SQLite persistence
- Entity Store — SQLite-backed storage for all entities
Envoy
Lightweight agents deployed on target machines. Envoys receive deployment instructions from the Synth server, execute steps locally, run health checks, and report results back.
- Deployment executor — Runs shell commands with variable injection and timeouts
- Health reporting — Periodic status reports to Synth
- Query engine — Local environment inspection for diagnostics
Data Flow
Engineer → Synth (resolve intent, plan pipeline, create deployment)
Synth → Envoy (dispatch deployment steps)
Envoy → Target Machine (execute commands, health checks)
Envoy → Synth (report results)
Synth → Debrief (log every decision) Partition Isolation
Every partition is a logically isolated context. Queries are always scoped to a single partition. The agent never sees data from other partitions, and failures in one partition cannot propagate to another.
MCP Integration
Synth exposes deployment operations as MCP tools, making them accessible to any MCP-compatible AI client. It also connects to external MCP servers for data enrichment — monitoring, CI/CD, and infrastructure data can flow into the agent's decision-making.