Skip to main content
Glama

build_backend

Builds a full backend with projects, boards, data, and REST API endpoints, plus admin UI and frontend deployment.

Instructions

Build a whole backend in one call from a spec you compose: the project, its boards, their typed columns (including relations between the boards), optional sample rows, and optionally a published REST API with one endpoint per board and a server-side key. Use it whenever the user describes a system ("a backend for my repair shop: customers, orders, payments") instead of calling create_project, create_board, create_column, create_app, publish_app, create_app_endpoint and create_app_api_key one by one. You do the design — pick column types by meaning (phone, date, currency, dropdown/status with options for closed choices), link boards with a relation column (type "relation", relatedBoard: "", relationType: many_to_one for an order→customer link) — and this tool executes it and returns one compact summary. API field names are derived from column names and never collide with reserved item fields, so there is nothing to retry. Boards are created as plain data tables (kind "data": only the columns you define, no task fields); set kind "tasks" on a board where people track work to do and want status, priority, assignee and due date built in. Every row still has a title.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
apiNoInclude to publish a REST API over every board and mint a key; omit for a boards-only build
boardsYesThe boards (tables) of the backend, in any order
projectYesThe project that holds the boards
organizationIdNoOrganization id; needed only when the account belongs to several (the error then lists them)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.13.0

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already indicate this is not read-only and not destructive, so the description's 'executes it' is consistent. The description adds useful behavioral context: it performs design choices, creates everything in dependency order, derives API field names with a no-retry guarantee, and returns a compact summary. That goes beyond the annotations without contradicting them.

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

Conciseness4/5

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

The description is long but dense and front-loaded with the core purpose and usage distinction. Later sentences earn their place by covering relations, task boards, API naming, and row title behavior. Some detail overlaps with the schema, but the structure is logical and not padded.

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?

This is a high-complexity orchestration tool with nested objects and no output schema, yet the description covers the expected result ('one compact summary'), key edge behaviors (dependency order, relation resolution, API name derivation), and the primary alternative path. It does not fully specify response shape or error scenarios, but the provided context is sufficient for an agent to call it correctly.

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

Parameters4/5

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

Schema coverage is 100% and the schema itself is rich, so the description does not need to restate parameter meaning. It adds value above the schema by explaining design intent (pick column types by meaning, link boards with relation columns, relatedBoard references, row title rules, kind defaults). This helps the agent compose a correct spec beyond just filling fields.

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 opens with a specific verb and resource: 'Build a whole backend in one call from a spec you compose', enumerating project, boards, columns, sample rows, and optional REST API. It explicitly contrasts itself with granular siblings by naming create_project, create_board, create_column, create_app, publish_app, create_app_endpoint and create_app_api_key, so an agent can immediately distinguish it from those tools.

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

Usage Guidelines5/5

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

The description gives explicit when-to-use guidance: 'Use it whenever the user describes a system... instead of calling [siblings] one by one.' It also tells when to use kind 'tasks' versus 'data', and explains when to include or omit the api object. This is strong routing and selection guidance.

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