Skip to content

Latest commit

 

History

History
147 lines (109 loc) · 3.87 KB

File metadata and controls

147 lines (109 loc) · 3.87 KB

Better-Fullstack MCP Server

MCP server for scaffolding fullstack projects with AI agents. Supports TypeScript, Rust, Python, and Go ecosystems with 270+ configurable options.

Works with Claude Code, Cursor, VS Code Copilot, Windsurf, Claude Desktop, Zed, Cline, and any MCP-compatible client.

Setup

Claude Code:

claude mcp add --transport stdio better-fullstack -- npx create-better-fullstack mcp

Cursor (.cursor/mcp.json):

{
  "mcpServers": {
    "better-fullstack": {
      "command": "npx",
      "args": ["-y", "create-better-fullstack", "mcp"]
    }
  }
}

VS Code (.vscode/mcp.json):

{
  "servers": {
    "better-fullstack": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "create-better-fullstack", "mcp"]
    }
  }
}
Claude Desktop, Windsurf, Zed, Cline

Claude Desktop (claude_desktop_config.json):

{
  "mcpServers": {
    "better-fullstack": {
      "command": "npx",
      "args": ["-y", "create-better-fullstack", "mcp"]
    }
  }
}

Windsurf (~/.codeium/windsurf/mcp_config.json):

{
  "mcpServers": {
    "better-fullstack": {
      "command": "npx",
      "args": ["-y", "create-better-fullstack", "mcp"]
    }
  }
}

Zed (settings.json):

{
  "context_servers": {
    "better-fullstack": {
      "command": {
        "path": "npx",
        "args": ["-y", "create-better-fullstack", "mcp"]
      }
    }
  }
}

Cline / Roo Code (MCP settings):

{
  "mcpServers": {
    "better-fullstack": {
      "command": "npx",
      "args": ["-y", "create-better-fullstack", "mcp"]
    }
  }
}

Tools

Discovery

  • bfs_get_guidance — Returns workflow rules, field semantics, and critical constraints. Call this first.
  • bfs_get_schema — Returns valid options for any or all configuration categories (50+ categories across all ecosystems).
  • bfs_check_compatibility — Validates a stack combination and returns auto-adjusted selections with warnings.

Project Creation

  • bfs_plan_project — Dry-run: generates a project in-memory and returns the file tree without writing to disk.
  • bfs_create_project — Scaffolds a new project to disk. Requires projectName (kebab-case). Dependencies are not installed — tell the user to run install manually.

Existing Projects

  • bfs_plan_addition — Validates proposed addons against an existing project's bts.jsonc config.
  • bfs_add_feature — Adds addons/features to an existing project.

Resources

  • docs://compatibility-rules — Which frontend/backend/API/ORM combinations are valid.
  • docs://stack-options — All available technology options per category.
  • docs://getting-started — Quick-start recipes for each ecosystem.

Usage

Once registered, describe what you want in natural language:

"Create a fullstack TypeScript app with TanStack Router, Hono, Drizzle, and PostgreSQL"

"Scaffold a Rust API with Axum and SQLx"

"Add Biome and Turborepo to my existing project"

The agent calls bfs_get_guidancebfs_check_compatibilitybfs_plan_projectbfs_create_project automatically.

Tips

  • frontend is an array — supports multiple frontends in one monorepo (e.g., ["next", "native-bare"]).
  • "none" means skip — it disables a feature entirely, not "use the default".
  • Set ecosystem first — it determines which fields are relevant. TypeScript fields are ignored for Rust/Python/Go and vice versa.
  • Dependencies are never installed — the server skips install to avoid timeouts. After scaffolding, run cd <project> && bun install (or your package manager).
  • Call bfs_check_compatibility before creating — it auto-fixes invalid combos (e.g., tRPC + Svelte → oRPC) and returns warnings.

License

MIT