Skip to main content
Glama

faber_create_stack

Create a full Laravel application stack including app, domain, database, SSL, and environment configuration. Handles GitHub OAuth for automatic deploy key setup and provides preview before execution.

Instructions

Create a full application stack (app + domain + database + SSL + .env). Handles GitHub Device Flow OAuth for automatic deploy key setup if configured on server. First call shows a preview - set confirm: true to execute.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
userYesUsername for the app (lowercase, alphanumeric)
repositoryYesGit repository URL (HTTPS or SSH)
domainNoDomain name for the app
branchNoGit branch (default: main)
phpNoPHP version (default: 8.4)
dbnameNoDatabase name (defaults to username)
skipDbNoSkip database creation
skipDomainNoSkip domain creation
skipEnvNoSkip .env configuration
skipDeployNoSkip initial deployment
skipReverbNoSkip Reverb WebSocket configuration
confirmNoSet to true to execute the stack creation. Without this, returns a preview of what will be created.
serverNoServer name from config (optional, defaults to defaultServer)
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes key behavioral traits: the two-phase execution (preview vs. confirm), automatic OAuth handling for deploy keys, and the comprehensive scope of resources created. It could improve by mentioning potential side effects (e.g., resource consumption, timeouts) or error handling, but it covers the core workflow well.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is efficiently structured in two sentences: the first states the purpose and scope, and the second explains the execution flow and OAuth feature. Every word contributes essential information without redundancy, making it front-loaded and easy to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of creating multiple resources and the lack of annotations or output schema, the description provides a solid foundation by explaining the tool's behavior, scope, and execution model. It could be more complete by detailing the preview output format or success/failure responses, but it adequately covers the critical aspects for a high-stakes creation tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, providing detailed documentation for all 13 parameters. The description adds minimal parameter semantics beyond the schema, only implicitly relating to 'confirm' for execution. Since the schema does the heavy lifting, the baseline score of 3 is appropriate, as the description doesn't significantly enhance parameter understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Create a full application stack') and enumerates the components involved (app + domain + database + SSL + .env), distinguishing it from simpler sibling tools like faber_create_database or faber_create_domain. It uses precise terminology that indicates a comprehensive, multi-resource creation process.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use this tool by explaining its two-phase behavior (preview first, then execution with confirm: true) and mentioning GitHub OAuth for deploy key setup. However, it does not explicitly state when to choose this over alternatives like using individual sibling tools (e.g., faber_create_database separately), which prevents a perfect score.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/JoshTrebilco/faber-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server