> ## Documentation Index
> Fetch the complete documentation index at: https://docs.agentfront.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Production Build

Build a compact Node artifact and run it behind a process manager / reverse proxy.

<Tip>
  Looking to deploy to serverless platforms like Vercel, AWS Lambda, or Cloudflare Workers?
  See the [Serverless Deployment](/frontmcp/deployment/serverless) guide.
</Tip>

## Build

<CodeGroup>
  ```bash npm theme={"theme":{"light":"snazzy-light","dark":"dark-plus"}}
  npm run build
  ```

  ```bash yarn theme={"theme":{"light":"snazzy-light","dark":"dark-plus"}}
  yarn build
  ```

  ```bash pnpm theme={"theme":{"light":"snazzy-light","dark":"dark-plus"}}
  pnpm build
  ```
</CodeGroup>

This compiles TypeScript to `dist/` using `tsconfig.build.json`.

## Start

<CodeGroup>
  ```bash npm theme={"theme":{"light":"snazzy-light","dark":"dark-plus"}}
  NODE_ENV=production PORT=8080 npm start
  ```

  ```bash yarn theme={"theme":{"light":"snazzy-light","dark":"dark-plus"}}
  NODE_ENV=production PORT=8080 yarn start
  ```

  ```bash pnpm theme={"theme":{"light":"snazzy-light","dark":"dark-plus"}}
  NODE_ENV=production PORT=8080 pnpm start
  ```
</CodeGroup>

## Recommended runtime setup

* Use a **process manager** (PM2, systemd) for restarts and logs.
* Put a **reverse proxy** (NGINX, Traefik, Caddy) in front for TLS and path routing.
* Pin matching versions of all `@frontmcp/*` packages.

### Example NGINX snippet

```nginx theme={"theme":{"light":"snazzy-light","dark":"dark-plus"}}
server {
  listen 443 ssl;
  server_name mcp.example.com;

  location /mcp/ {
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto https;
    proxy_pass http://127.0.0.1:8080/mcp/;
  }
}
```

## Troubleshooting

* **Version mismatch** at boot → align all `@frontmcp/*` versions and reinstall.
* **No decorators** working → ensure `experimentalDecorators` + `emitDecoratorMetadata` and `import 'reflect-metadata'` at the top of `main.ts`.
* **Port conflicts** → set `http.port` in `@FrontMcp` or use `PORT` env.
