MCP Tools Reference

Detailed reference for Better Fullstack MCP tools, inputs, outputs, and safe workflows.

Open documentation actions

The MCP server exposes structured tools for agents. Use them instead of asking an agent to guess CLI flags from prose.

New Project

  1. bfs_get_guidance
  2. bfs_get_schema
  3. bfs_check_compatibility
  4. bfs_plan_project
  5. bfs_create_project

Existing Project

  1. bfs_get_guidance
  2. bfs_plan_addition
  3. bfs_add_feature

Tool Reference

bfs_get_guidance

FieldDetails
PurposeReturns workflow rules, field semantics, ambiguity rules, and critical constraints.
When to callFirst, before other Better Fullstack MCP tools.
Writes filesNo.
Required inputsNone.
Optional inputsNone.
OutputJSON guidance covering recommended tool order, array fields, ecosystem rules, and examples.
{}

bfs_get_schema

FieldDetails
PurposeReturns valid option values for one category or all categories.
When to callBefore planning a stack, especially when the user named technologies informally.
Writes filesNo.
Required inputsNone.
Optional inputscategory, ecosystem.
OutputJSON schema/options data filtered by category or ecosystem.
{
  "category": "database",
  "ecosystem": "typescript"
}

bfs_check_compatibility

FieldDetails
PurposeValidates a stack combination and returns adjusted selections with warnings.
When to callBefore bfs_plan_project or bfs_create_project.
Writes filesNo.
Required inputsecosystem.
Optional inputsFrontend, backend, runtime, database, ORM, API, auth, payments, UI/CSS, addons, and Java-specific fields.
OutputJSON compatibility analysis with changes, notes, and adjusted stack data.
{
  "ecosystem": "typescript",
  "frontend": ["next"],
  "backend": "self",
  "runtime": "none",
  "database": "postgres",
  "orm": "drizzle",
  "api": "trpc"
}

bfs_plan_project

FieldDetails
PurposeGenerates a project in memory and returns a file-tree summary.
When to callAfter compatibility validation and before writing files.
Writes filesNo.
Required inputsNone, but projectName and ecosystem are recommended.
Optional inputsFull project stack selections.
OutputJSON success flag plus generated file/directory summary.
{
  "projectName": "my-app",
  "ecosystem": "typescript",
  "frontend": ["tanstack-router"],
  "backend": "hono",
  "runtime": "bun",
  "database": "sqlite",
  "orm": "drizzle"
}

bfs_create_project

FieldDetails
PurposeWrites a new generated project to disk.
When to callOnly after bfs_plan_project succeeds and the user approves.
Writes filesYes, creates the project directory and generated files.
Required inputsprojectName.
Optional inputsFull project stack selections.
OutputJSON success flag, project directory, file count, addon warnings, and install command guidance.
{
  "projectName": "my-app",
  "ecosystem": "java",
  "javaWebFramework": "spring-boot",
  "javaBuildTool": "maven",
  "javaTestingLibraries": ["junit5"]
}

bfs_plan_addition

FieldDetails
PurposeReads bts.jsonc and validates proposed additions for an existing project.
When to callBefore mutating an existing project with bfs_add_feature.
Writes filesNo.
Required inputsprojectDir.
Optional inputsaddons, webDeploy, serverDeploy.
OutputExisting config summary, proposed additions, already-present addons, and compatibility warnings.
{
  "projectDir": "/absolute/path/to/my-app",
  "addons": ["mcp", "skills"]
}

bfs_add_feature

FieldDetails
PurposeAdds supported addons or deployment settings to an existing Better Fullstack project.
When to callAfter bfs_plan_addition succeeds and the user approves.
Writes filesYes, mutates the existing project.
Required inputsprojectDir.
Optional inputsaddons, webDeploy, serverDeploy, packageManager.
OutputJSON result from the add handler, including changed files and install guidance when available.
{
  "projectDir": "/absolute/path/to/my-app",
  "addons": ["biome"],
  "packageManager": "bun"
}

Agent Rules

  • Treat frontend, addons, examples, rustLibraries, pythonAi, javaLibraries, and javaTestingLibraries as arrays.
  • Set ecosystem before selecting ecosystem-specific fields.
  • Prefer none when the user explicitly wants to disable a category.
  • Do not call write tools until the user has approved the dry-run or addition plan.
  • Tell the user which install/test commands to run after MCP creation or addition, because MCP does not install dependencies.