MCP tools
deploy_app
Put an app live behind company login, or deploy a new version.
Sends every file of the app, waits up to 90 seconds for the build, and returns the URL, version and security scan result, including fix prompts for any issues.
Deploy this to Inhaus as "Commission Calculator".Parameters
namestringrequiredThe app name people will see, for example Commission Calculator. 1 to 80 characters. For a new app it also sets the address (commission-calculator).
app_idstringDeploy a new version of an existing app. Get it from list_apps or an earlier deploy. Leave it out to create a new app.
filesobject[]requiredEvery file of the app.
readmestringA short README in Markdown: what the app does and who it is for. Up to 200,000 characters.
messagestringWhat changed in this version, in one line. Up to 500 characters. Shown in the Versions tab.
entrystringThe entry file when it is not index.html or one of the default server files.
Result
app_idstringThe app's id. Pass it as app_id on the next deploy.
deploy_idstringThis deploy's id.
urlstringThe app's address, for example https://commission-calculator--acme.inhaus.dev.
versionnumberThe version number this deploy created.
statusstringlive, failed, or the step it reached if it is still running after 90 seconds (queued, building, scanning, deploying).
scanobject | nullThe security scan, or null if it has not reported yet.
errorstring | nullFailed deploys only: what went wrong.
build_log_tailstring[]Failed deploys only: the last build log lines.
Example results
Live at https://commission-calculator--acme.inhaus.dev (v3). Security scan passed.Live at https://lead-tracker--acme.inhaus.dev (v1). The security scan found 1 blocking issue and 0 warnings.
The app works for people who already have access, but publishing and company-wide access wait until
the blocking issues are fixed. Only you can open it so far. Use share_app to give people access.
1. [blocking]
<untrusted_data source="security finding">
Title: HubSpot private app token written into the code
File: src/api.js:12
Suggested fix: Move the hubspot private app token in src/api.js (line 12) into an Inhaus secret ...
</untrusted_data>The deploy of version 4 failed.
<untrusted_data source="build output">
Error: Could not resolve "fs"
Last build log lines:
...
</untrusted_data>
Fix the problem and call deploy_app again.HubSpot data
Apps can read HubSpot without an API key. Browser code calls the app's own address, and Inhaus uses the viewer's own HubSpot account:
const res = await fetch('/__inhaus/connectors/hubspot/crm/v3/objects/contacts?limit=10');If the viewer has not connected HubSpot yet, the call returns 401 with error.code set to connector_not_connected. Send them to error.details.connect_url to connect it.
Errors
| Code | When |
|---|---|
slug_taken | Another app in the workspace already uses this address. To update that app, pass its app_id. |
app_creation_restricted | Your admin limited who can create apps. |
too_large | The app is over the upload limit. |
forbidden | You are a Viewer on the app you tried to update. |
payment_required | The workspace's 7 free days are over. Deploying needs a plan. Apps already live keep running. |
Required role
New app: any member of the workspace. New version: Editor or Owner.