Available on the Pro plan. Every workspace you act on through the MCP server must be on a Pro plan — see Plan features and limits.
Why connect the MCP server
- Build apps from your favorite AI client. Describe an app in Claude or Cursor and the agent creates it in Macaly, waits for the build, and hands you the preview link.
- Iterate without switching tools. Request changes, follow the build status, and review what changed — straight from the chat you’re already in.
- Inspect the generated code. List files, read sources, diff any edit, and revert to an earlier version if something went wrong.
- Ship when you say so. Publishing is a separate, explicit step. Your agent can take an app live and connect a custom domain — but only when you ask.
What you need
- A Macaly workspace on the Pro plan — the MCP server is a Pro feature
- An MCP client that supports remote servers over Streamable HTTP, such as Claude (claude.ai and Desktop), Claude Code, Cursor, ChatGPT, or VS Code
Connect your client
The server is available at:- Claude
- Claude Code
- Cursor
- ChatGPT
- VS Code
- In claude.ai or the Claude desktop app, open Settings → Connectors.
- Click Add custom connector.
- Enter
https://www.macaly.com/api/mcp/mcpand click Add. - Click Connect and approve access in the Macaly window that opens.
Using an API key instead
On Enterprise plans, you can authenticate with a Macaly API key instead of OAuth — useful for headless agents and automation. Pass the key as a bearer token:teamId figure it out automatically.
Available tools
Workspaces & credits
Apps
Building & iteration
Code inspection
Publishing & domains
Builds are asynchronous:
create_app and send_message return immediately, and the agent follows up with wait_for_build or get_build_status until the build completes. Building an app does not publish it — apps are fully previewable before going live.
Build an app end to end
1
Create
Ask your agent to build something. It calls
create_app with your description and gets back an app ID.2
Wait for the build
The agent calls
wait_for_build until the build completes — typically a few minutes, longer for complex apps.3
Iterate
Request changes in plain language. Each one becomes a
send_message call followed by another build. Use get_diff to review exactly what changed.4
Publish
When you’re happy, ask to go live. The agent calls
publish_app, then checks get_deployment until your app’s URL is ready.Example prompts
Plan features and limits
The MCP server is available on the Pro plan. The check applies per workspace: every workspace a tool acts on must be on a Pro plan, so if you’re a member of several workspaces, your agent can only work in the Pro ones.list_teams always works, so the agent can discover which of your workspaces it can act on.
Calling a tool against a workspace that isn’t on a Pro plan returns a FORBIDDEN error explaining that the plan doesn’t include the MCP server.
Requests are rate limited per account: 120 read calls and 20 write calls per minute. When a limit is hit, the tool returns a RATE_LIMITED error with a retry delay, and well-behaved agents back off automatically.
Permissions and safety
- Builds cost credits. Every
create_appandsend_messageconsumes credits from the workspace it runs in. Check balances withget_usage. - Publishing is never automatic. The server instructs agents to call
publish_apponly when you explicitly ask to go live. - Destructive actions are flagged.
delete_appandrevert_to_editare marked destructive, so most clients ask for confirmation first. Deleting a published app over MCP is blocked entirely — unpublish it first. - Your account, your control. Disconnect the server anytime from your client’s connector settings to revoke its access.
Troubleshooting
- Sign-in window doesn’t appear: make sure your client supports remote MCP servers with OAuth, and that you added the full URL including the
/api/mcp/mcppath. - A tool returns FORBIDDEN: the workspace you’re acting on isn’t on a Pro plan (the MCP server requires Pro), or you’re passing a
teamIdfor a workspace you’re not a member of. wait_for_buildtimes out: that’s normal for bigger builds — the build keeps running, and the agent just callswait_for_buildagain to keep waiting.- Need help? Reach out via the chat in Macaly or check the FAQ.