Skip to main content
Glama

Faable — Deploy & Auth

Create an app from a repository

create_app

Create an app from a GitHub repository in a project, link it and start its first deploy (the dashboard's Create & connect). Needs the Faable GitHub App installed on the repository; if the link fails, the new app is removed and the error says what to fix.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "repo": "<repo>"
    },
    "name": "create_app"
  }
}

Input Schema

NameRequiredDescriptionDefault
nameNoApp name (defaults to the repository name)
repoYesGitHub repository, owner/repo
waitNoWait for the first deploy to be live (returns the URL) or to fail, up to 5 minutes
branchNoBranch to deploy (defaults to the repository default)
deployNoStart the first deploy (default true)
projectNoProject id, name or slug. Defaults to the active project (`faable project use`).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false and openWorldHint=true, so the description's added value is the failure semantics: if the link fails the newly created app is removed and the error states the fix. That compensation/rollback disclosure is real behavioral context beyond the annotations, though permissions and timing are not covered.

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?

A single dense sentence that front-loads the core action (create, link, deploy) before the prerequisite and the rollback note. Every clause earns its place; nothing is padding.

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?

For a multi-step mutation tool with no output schema, the description covers the prerequisite, the chained side effects and the failure cleanup path. The only gap is return/shape expectations, which the 'wait' parameter's schema text partly carries.

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?

Schema coverage is 100% with all six parameters documented inline, including defaults for name, branch, deploy, project and the 5-minute wait behavior. The description only echoes the first-deploy flow and adds no syntax or format detail beyond the schema, so baseline 3 applies.

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

Purpose4/5

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

States a specific verb+resource with scope: creates an app from a GitHub repo inside a project and chains link plus first deploy. It even maps itself to the dashboard's 'Create & connect' flow, but it never explicitly separates itself from siblings like link_repo or configure_repo, so the differentiation is implied rather than stated.

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

Usage Guidelines3/5

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

It gives a hard prerequisite ('Needs the Faable GitHub App installed on the repository'), which is useful context for whether a call will succeed. However it gives no when-to-use guidance against alternatives such as link_repo for an existing app, so routing is left to inference.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.