manage_frontend
InactiveTool of io.github.butterbase-ai/mcp
Manage frontend deployments, environment variables, and custom domains for a Butterbase app. Actions: - "start_deployment": Start a frontend deployment after uploading your zip file. Call after uploading zip to the URL returned by create_frontend_deployment. Polls until complete (up to 5 minutes). - "list_deployments": List frontend deployment history for an app (read-only). - "create_from_source": Create a source-based deployment and get a presigned upload URL (Mode 1). Upload your source zip to the URL via HTTP PUT with Content-Type: application/zip (max 50 MB). - "start_from_source": Start the build for a source-based deployment (Mode 2). Requires deployment_id from create_from_source and a lockfile_hash. - "set_env": Set environment variables for frontend builds (upserts). - "configure_custom_domain": Manage custom domains. Requires domain_action sub-option. Parameters by action: start_deployment: { app_id, action: "start_deployment", deployment_id } list_deployments: { app_id, action: "list_deployments" } create_from_source: { app_id, action: "create_from_source" } start_from_source: { app_id, action: "start_from_source", deployment_id, lockfile_hash, build_command?, output_dir?, package_manager?, user_env? } set_env: { app_id, action: "set_env", vars } configure_custom_domain: { app_id, action: "configure_custom_domain", domain_action, hostname?, domain_id? } domain_action sub-options: "add": { hostname } — Register a new custom domain "list": {} — List all custom domains for an app "status": { domain_id } — Check verification/SSL status of a domain "remove": { domain_id } — Remove a custom domain "verify": { domain_id } — Trigger re-verification of a pending domain Common errors: - RESOURCE_NOT_FOUND: App or deployment doesn't exist - INVALID_STATUS: Deployment is not in WAITING status (zip may not have been uploaded yet) - UPLOAD_EXPIRED: The upload URL expired before the zip was uploaded - STATE_PREREQUISITE_MISSING: Source zip not yet uploaded (PUT to upload_url first) - QUOTA_FILE_SIZE_EXCEEDED: Source zip exceeds 50 MB - BUILD_FAILED: Build command exited with non-zero status (check logs_url for details) - VALIDATION_INVALID_SCHEMA: vars must be a non-empty object - feature_not_available: Free plan — upgrade to Pro (custom domains) - RESOURCE_ALREADY_EXISTS: Hostname already registered
Parameters schema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"app_id",
"action"
],
"properties": {
"vars": {
"type": "object",
"description": "Required for \"set_env\": environment variables as key-value pairs",
"additionalProperties": {
"type": "string"
}
},
"action": {
"enum": [
"start_deployment",
"list_deployments",
"create_from_source",
"start_from_source",
"set_env",
"configure_custom_domain"
],
"type": "string",
"description": "The action to perform"
},
"app_id": {
"type": "string",
"description": "The app ID"
},
"hostname": {
"type": "string",
"description": "Custom domain hostname (required for domain_action \"add\", e.g. app.example.com)"
},
"user_env": {
"type": "object",
"description": "\"start_from_source\": environment variables to inject during the build (default: {})",
"additionalProperties": {
"type": "string"
}
},
"domain_id": {
"type": "string",
"description": "Domain ID (required for domain_action \"status\", \"remove\", \"verify\")"
},
"output_dir": {
"type": "string",
"description": "\"start_from_source\": output directory containing built static files (default: dist)"
},
"build_command": {
"type": "string",
"description": "\"start_from_source\": build command to run after install (default: npm run build)"
},
"deployment_id": {
"type": "string",
"description": "The deployment ID (required for \"start_deployment\" and \"start_from_source\")"
},
"domain_action": {
"enum": [
"add",
"list",
"status",
"remove",
"verify"
],
"type": "string",
"description": "Required for \"configure_custom_domain\": the domain sub-action to perform"
},
"lockfile_hash": {
"type": "string",
"pattern": "^[a-f0-9]{8,64}$",
"description": "Required for \"start_from_source\": hex sha256 hash of the lockfile — used as the node_modules cache key"
},
"package_manager": {
"enum": [
"npm",
"pnpm",
"yarn"
],
"type": "string",
"description": "\"start_from_source\": package manager to use for install (default: npm)"
}
},
"additionalProperties": false
}No endpoints wrapped at confidence ≥ 0.70.
Parent server
io.github.butterbase-ai/mcp
https://github.com/butterbase-ai/butterbase-oss
1/7 registries