About Chassis
Chassis is an MCP server that scaffolds Express 5 + TypeScript backends, with optional databases, authentication, and a Next.js front end. It imports supported options from create-chassis and refuses non-empty target directories to avoid overwriting files.
Key features
- 01Scaffold Express 5 + TypeScript projects
- 02Optional database, authentication, and Next.js
- 03List presets and available add-ons
- 04Provide conventions for generated projects
Use cases
- 01Start a backend project for an API
- 02Create a full-stack monorepo with a database and authentication
- 03Check which stack options the scaffolder supports
MCP support
The MCP server exposes tools to list options, create projects, and read coding conventions. It creates projects; it is not the MCP server that exposes a generated project's API.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
3Saved tool list · updated 2w ago
This tool takes no parameters.
Details
From the project READMEchassis-mcp
An MCP server that scaffolds Chassis backends — a decorator-driven Express 5 + TypeScript starter with an optional database, auth provider and Next.js front end.
It lets an agent go from "build me an API with Postgres and auth" to a project that already typechecks, lints and tests green, without knowing the CLI's flags.
Install
Point your MCP client at the package. No global install needed:
{
"mcpServers": {
"chassis": {
"command": "npx",
"args": ["-y", "chassis-mcp"]
}
}
}
Where that file lives
- Claude Desktop —
claude_desktop_config.json - Claude Code —
claude mcp add chassis -- npx -y chassis-mcp - Cursor —
.cursor/mcp.json - VS Code —
.vscode/mcp.json
Tools
| Tool | What it does |
|---|---|
list_chassis_options | The presets, databases, auth providers and add-ons on offer. Call it first when the stack isn't decided. |
create_chassis_project | Scaffolds into a new or empty directory and reports the layout, the API root and the next commands. |
chassis_conventions | How to write code in the result — controllers, responses, errors, validation, definition of done. |
The option list is imported from create-chassis, not restated here, so
this server can't advertise a stack the CLI doesn't support. An unsupported
value is rejected with the list of valid ones before the CLI runs.
Example
Build me an API with Postgres, JWT auth and a Next.js front end, in ./shop
list_chassis_options → sees `fullstack`, and that web=true implies a monorepo
create_chassis_project → { directory: "./shop", preset: "fullstack" }
← { monorepo: true, apiRoot: "apps/api", nextSteps: [...] }
chassis_conventions → reads ./shop/AGENTS.md before writing any code
What lands is a workspaces monorepo with apps/api and apps/web, auth wired
on both sides, and only the modules that were chosen — declined ones are
removed from the source and from package.json.
Notes
- Nothing is overwritten. A non-empty target directory is refused.
installdefaults tofalsebecause it's slow; runnpm installyourself, or passinstall: true.- Creating a project downloads the template from GitHub, so it needs network access.
- This is not the MCP server inside a generated project (
npm run mcp), which exposes that project's API as tools. This one creates projects.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.