Works from your terminal or Claude via MCP

A reusable Next.js starter kit you run on your own machine

A Bash generator and a local MCP server that create a Next.js app with TypeScript, Tailwind CSS, ESLint and the App Router, plus optional Clerk authentication and Convex database scaffolding. One-time payment, source code included.

Bash generator

One command creates the app, with flags to skip Clerk or Convex

Local MCP server

Claude Desktop, Codex and Cursor can call the same generator over stdio

Source you own

Inspect and adapt the code; you choose where to deploy

3
Templates
4
MCP tools
2
Optional integrations

How it works

Use the generator directly from your terminal, or let an MCP client call the same generator on your machine.

From your terminal

Run the Bash generator

Pass flags to choose a template and to skip Clerk or Convex. Use -- before the app name.

bash ./create-next-starter.sh --skip-clerk --skip-convex --template minimal -- my-app

From an MCP client

Claude Desktop, Codex or Cursor

The local stdio server exposes four tools. Your client calls them, and the server runs the same script on your machine.

  • create_nextjs_app Generates an app.
  • dry_run Previews an app without creating files.
  • test_script Runs the generator self-tests.
  • script_help Returns the generator help text.

One generator, two ways in

Your request
Terminal or MCP client
Local MCP server
Validates arguments (MCP path only)
create-next-starter.sh
Generates the Next.js app

Preview before you generate

Real output of the dry run below, captured from the current generator. It prints a plan and creates nothing.

$ bash ./create-next-starter.sh --dry-run --skip-clerk --skip-convex --template minimal -- my-app
πŸ” DRY RUN MODE - Preview of actions:
==================================
App Name: my-app
Template: minimal
Skip Convex: true
Skip Clerk: true
Verbose: false

Would create:
  πŸ“ Directory: my-app/
  πŸ“¦ Next.js app with TypeScript & Tailwind
  πŸ”§ Utility functions and components
  πŸ“‹ Minimal template (same dependencies/components as default)

πŸ’‘ Run without --dry-run to execute these actions
πŸŽ‰ Setup completed successfully!

Three templates

Choose one with --template default|minimal|full. The --skip-clerk and --skip-convex flags apply to every template.

default
Next.js, TypeScript, Tailwind, shared UI utilities and components, plus optional Clerk and Convex scaffolding unless you skip them.
minimal
Same installed dependencies and components as default. It currently adds no further customizations.
full
Same as default, plus Loading and ErrorBoundary components.

Full option list: bash ./create-next-starter.sh --help. MCP client setup: client configuration guide.

What’s included

You receive source code to inspect and adapt. You still configure external services, test your app and choose where to deploy it. Third-party services, hosting and any paid MCP client are separate from the kit purchase.

Bash generator

create-next-starter.sh generates a Next.js project and adds components, utilities, environment placeholders and optional integrations.

Local stdio MCP server

A TypeScript server exposes the generator to Claude Desktop, Codex or Cursor. It runs on your machine and launches Bash with an argument array.

Modern defaults

Apps are created with create-next-app using TypeScript, Tailwind CSS, ESLint, the App Router, a src/ directory and the @/* import alias.

Optional Clerk and Convex

Scaffolding and environment placeholders for Clerk authentication and Convex. Use the skip flags to leave either out. You bring your own accounts and keys.

Three templates

default, minimal and full. See How it works for what each one does.

Dry run and self-tests

Preview an app with --dry-run, and run the generator self-tests with --test. Generation success alone does not prove your app is production ready, so run lint and build for your own configuration.

Installation

Start in the kit root directory, the folder that contains create-next-starter.sh and mcp-server/.

Requirements

  • Bash on macOS or Linux, or a Bash environment such as WSL on Windows.
  • Node.js 20.9 or newer, plus npm and npx. The script rejects older versions because create-next-app 16 requires 20.9+.
  • For mcp-server/, Node.js 22+ is recommended. On Node 20 it prints an EBADENGINE warning.
  • Internet access to download npm packages, and a writable project directory.
  • For MCP use, a client that can launch local stdio servers.
  • For Clerk or Convex, your own accounts and configuration.

Use the script

1

Check Node.js and npm

node --version
npm --version
2

Preview the app

This writes nothing but a setup.log in the current directory.

bash ./create-next-starter.sh --dry-run --skip-clerk --skip-convex --template minimal -- my-app
3

Generate the app

Needs internet and creates ./my-app.

bash ./create-next-starter.sh --skip-clerk --skip-convex --template minimal -- my-app
4

Lint, build and start it

cd my-app && npm run lint && npm run build
npm run dev

Use the MCP server

1

Build the server

From the kit root, in a second terminal:

cd mcp-server && npm install && npm run build
2

Point your client at the built server

Configure the client to start node with the absolute path to mcp-server/dist/index.js. For Claude Desktop, add this under mcpServers in claude_desktop_config.json:

{
  "mcpServers": {
    "nextjs-starter": {
      "command": "node",
      "args": ["/absolute/path/to/next-starter/mcp-server/dist/index.js"]
    }
  }
}
3

Restart the client and check the tools

The server should list create_nextjs_app, dry_run, test_script and script_help. Codex and Cursor examples are in the client configuration guide.

Stuck? See the troubleshooting notes.

Pricing

Pricing coming soon.

Next.js Starter MCP kit

  • One-time payment, no subscription
  • Commercial license
  • Source code for the Bash generator and the local MCP server
  • Purchases handled by Polar as merchant of record