Appbricx
Docs
PricingStart free

Start here

OverviewGetting startedProjects & editorBring your own key

Build with your agent

Coding agents quickstartAccess tokensMCP serverApp contractCustom UI & brandingBefore-write rulesDeveloper CLIDeveloper HTTP API

End-to-end walkthroughs

Lead intakeMulti-user TodoMulti-tenant SaaSSlack on signup

AI & keys

AI keys — how resolution worksBYOK deep dive

Integrations

Integrations catalog

Full-stack runtime

Runtime overviewNamed queriesAuth & RLSAuto CRUD REST APIWorkflowsWebhooks & schedulesTopics & CDCData templatesSecrets & env

Ship & own

Publish & domainsExport & GitHubSelf-host & deploy

Developers

Developer guide

MCP server reference

Appbricx is a remote MCP server over Streamable HTTP. Every tool is a thin shell over the same operations as the developer HTTP API and the CLI, so all three give the same answers.

Endpoint and auth

POST https://appbricx.com/api/mcp
Authorization: Bearer apx_pat_...
  • Use a personal access token from Workspace settings → Coding agents. See Access tokens.
  • A missing, invalid, expired or revoked token gets 401 with code: "UNAUTHENTICATED".
  • A token only reaches projects in its own workspace. Anything else answers "Project not found".

Pinning a project

Add ?project=<project-id> to the URL (or send an x-appbricx-project header). Then:

  • project_id becomes optional on every project tool and defaults to the pinned project.
  • The project's current table, workflow and role names appear as enums in the tool schemas (for example the entity of query_data), so the agent picks from what exists. They are re-read on every request, so they follow each apply.
  • A pin to a project the token can't reach is ignored.
https://appbricx.com/api/mcp?project=3f2c9a10-...

Tools

Read tools work with any valid token. Tools that change something need the scope shown.

ToolWhat it doesScope
whoamiThe signed-in user, the token's scopes and workspaceread
get_guideThe contract guide (markdown). No argument: overview and index. section: one partread
list_projectsProjects this token can reach, newest firstread
create_projectCreate an empty project (name, optional description) in the token's workspaceapply
get_projectWhether the project is built, the last build failure, and its preview pathread
get_contractThe current contract (null before the first apply). Seeds come back as "UNCHANGED"read
check_contractNormalize a contract and report errors, fixes and warnings. No side effectsread
apply_contractBuild the dev environment from a full contract. Optional force overwrites hand-edited compiled files (backed up first)apply
patch_contractApply typed edit ops (1–50) to the current contract and rebuild. dry_run reports onlyapply
check_componentRun one custom component through every gate (static, types, compile, server render). No project changeread
verifyStatic → data → browser checks on the dev environment, each failure with evidence and a fixread
screenshotThe dev preview in a real browser, signed in as a role or guest; returns a PNG plus page errors, overflow and visible textread
query_dataRead rows from a dev table (read-only, equality filters, max 200)read
logsRecent workflow runs (status, error, last log lines) and in-app notificationsread
deployPublish. Runs verify first and refuses on red unless skip_verifydeploy

Writing tools also need a non-viewer role in the workspace. The server also exposes the whole guide as the resource appbricx://docs/guide.

Tool parameters

ToolParameters
get_guidesection?
create_projectname, description?
get_project, get_contract, verifyproject_id
check_contractproject_id, contract
apply_contractproject_id, contract, force?
patch_contractproject_id, edits, dry_run?, force?
check_componentname (PascalCase), source (the whole TSX file), sample?
screenshotproject_id, route?, as? (persona id, demo login email or "guest"), width? (320–1600), height? (480–1200), full_page?
query_dataproject_id, entity, where?, order_by? (default created_at), desc? (default true), limit? (1–200)
logsproject_id, workflow?, limit? (1–200)
deployproject_id, environment? (production | preview), allow_destructive?, skip_verify?

Notes

Stateless

Each request gets a fresh server and transport. There is no MCP session to keep alive, and any API replica can answer any call. The server returns plain JSON responses (no long-lived stream).

get_guide sections

Without arguments it returns the loop and rules, the contract shape, ACCESS and WORKFLOWS, and an index. Pass one of these section ids for the rest:

loop, shape, access, coordinates, seeds, workflows, patch, pages, blocks, components, primitives, icons.

Screenshots are images

screenshot returns MCP image content (a PNG) followed by JSON with url, signedInAs, viewport, errors, overflowX and text. The default viewport is 390×844 (a phone). Before the first apply it answers NOT_BUILT.

Errors

A tool result with an HTTP status of 400 or above is flagged isError and carries the same JSON body the HTTP API sends, for example CONTRACT_INVALID with a report, PROJECT_BUSY, HAND_EDITED_FILES, VERIFY_FAILED or FORBIDDEN_SCOPE. See Developer HTTP API for the full list.

Next

  • Build with your coding agent — connect Claude Code or Cursor
  • App contract
  • Access tokens
Appbricx

Full-stack AI app builder for teams. Hosted cloud or private deploy into your account — multi-tenant, sandboxed, credit-metered.

Product

For coding agentsHow it worksDemoCapabilitiesPricingPrivate cloudBYOKFAQ

Resources

DocumentationBlogFor freelancersFor agenciesSupport

Company

ContactPrivate cloud / agencyPrivacyTerms

© 2026 Appbricx. All rights reserved.

TermsPrivacyCookiesAcceptable Use