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
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_appGenerates an app.dry_runPreviews an app without creating files.test_scriptRuns the generator self-tests.script_helpReturns the generator help text.
One generator, two ways in
Preview before you generate
Real output of the dry run below, captured from the current generator. It prints a plan and creates nothing.
π 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-app16 requires 20.9+. - For
mcp-server/, Node.js 22+ is recommended. On Node 20 it prints anEBADENGINEwarning. - 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
Check Node.js and npm
node --version npm --version
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
Generate the app
Needs internet and creates ./my-app.
bash ./create-next-starter.sh --skip-clerk --skip-convex --template minimal -- my-app
Lint, build and start it
cd my-app && npm run lint && npm run build npm run dev
Use the MCP server
Build the server
From the kit root, in a second terminal:
cd mcp-server && npm install && npm run build
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"]
}
}
}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