> ## 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.

# Installation

## Prerequisites

* **Node.js**:
  * **Minimum**: Version 22 (LTS Maintenance)
  * **Recommended**: Version 24 (Active LTS)
  * *FrontMCP is developed and tested on Node.js 24*
* **npm ≥ 10** (pnpm / yarn work too)
* TypeScript project (the init command can set this up)

***

## Option A — Create a new project

Use the built-in project generator. It will create a new folder under your current directory.

<CodeGroup>
  ```bash universal theme={"theme":{"light":"snazzy-light","dark":"dark-plus"}}
  npx frontmcp create my-app
  ```

  ```bash pnpm theme={"theme":{"light":"snazzy-light","dark":"dark-plus"}}
  pnpm dlx frontmcp create my-app
  ```

  ```bash yarn theme={"theme":{"light":"snazzy-light","dark":"dark-plus"}}
  yarn dlx frontmcp create my-app
  ```
</CodeGroup>

The `create` command is **interactive** by default:

```
? Project name: my-app
? Deployment target:
  > Node.js (Docker)
    Vercel (Serverless)
    AWS Lambda
    Cloudflare Workers
? Redis setup: (Docker target only)
  > Docker Compose
    Existing Redis
    None
? Enable GitHub Actions CI/CD? (Y/n)
```

Use `--yes` (or `-y`) to skip prompts and use defaults.

### CLI Flags

| Flag                 | Description                                          | Default  |
| -------------------- | ---------------------------------------------------- | -------- |
| `--yes, -y`          | Use defaults (non-interactive)                       | -        |
| `--target <type>`    | Deployment: `node`, `vercel`, `lambda`, `cloudflare` | `node`   |
| `--redis <setup>`    | Redis: `docker`, `existing`, `none`                  | `docker` |
| `--cicd / --no-cicd` | Enable GitHub Actions                                | `--cicd` |
| `--pm <manager>`     | Package manager: `npm`, `yarn`, `pnpm`               | `npm`    |

**Examples:**

```bash theme={"theme":{"light":"snazzy-light","dark":"dark-plus"}}
# Interactive mode (default)
npx frontmcp create my-app

# Non-interactive with defaults
npx frontmcp create my-app --yes

# Vercel target with CI/CD
npx frontmcp create my-app --target vercel

# Use pnpm as package manager
npx frontmcp create my-app --pm pnpm --yes

# Docker without Redis
npx frontmcp create my-app --target node --redis none --no-cicd
```

This will:

* scaffold a FrontMCP project in `./my-app`
* configure `tsconfig.json` for decorators and modern ESM
* generate a `package.json` with helpful scripts
* create deployment configuration for your target (Dockerfile, vercel.json, etc.)
* generate GitHub Actions workflows (if enabled)
* install required dev dependencies (e.g. TypeScript, tsx, zod, reflect-metadata)

***

## Option B — Add to an existing project

Install the CLI and Node types (FrontMCP bundles compatible `@frontmcp/sdk` internally—no separate install needed).

<CodeGroup>
  ```bash npm theme={"theme":{"light":"snazzy-light","dark":"dark-plus"}}
  npm i -D frontmcp @types/node@^24
  ```

  ```bash pnpm theme={"theme":{"light":"snazzy-light","dark":"dark-plus"}}
  pnpm add -D frontmcp @types/node@^24
  ```

  ```bash yarn theme={"theme":{"light":"snazzy-light","dark":"dark-plus"}}
  yarn add -D frontmcp @types/node@^24
  ```
</CodeGroup>

Then initialize FrontMCP in your project root:

```bash theme={"theme":{"light":"snazzy-light","dark":"dark-plus"}}
npx frontmcp init
```

`init` will:

* add/update **scripts** in your `package.json`
* ensure your **tsconfig.json** includes required compiler options
* verify a sensible project layout

***

## Package scripts

After `create` or `init`, you’ll have these scripts:

```json theme={"theme":{"light":"snazzy-light","dark":"dark-plus"}}
{
  "scripts": {
    "dev": "frontmcp dev",
    "build": "frontmcp build",
    "inspect": "frontmcp inspector",
    "doctor": "frontmcp doctor"
  }
}
```

**What they do**

* `frontmcp dev` — run your server in watch mode (tsx)
* `frontmcp build` — compile your entry with TypeScript (outputs to `./dist` by default)
* `frontmcp inspector` — launch the MCP Inspector (`npx @modelcontextprotocol/inspector`)
* `frontmcp doctor` — validate Node/npm versions, tsconfig, and project setup

***

## Verify your setup

Run:

```bash theme={"theme":{"light":"snazzy-light","dark":"dark-plus"}}
npm run doctor
```

<Info>
  If anything is missing or misconfigured (Node/npm versions, `tsconfig.json`, scripts), **doctor** will tell you
  exactly what to fix.
</Info>

***

## Next steps

* Start developing: `npm run dev`
* Build for distribution: `npm run build`
* Explore tools and messages live: `npm run inspect`
