# MCP explorer

Source: https://docs.myhub.host/mcp/explorer

Use the [connection guide](https://docs.myhub.host/mcp) to authorize your agent. The endpoint is `https://cloud.myhub.host/mcp`. Local projects use the [CLI](https://docs.myhub.host/cli).

This reference is generated from Hub's hosted tool registry. Examples show tool arguments to give your MCP client; this page does not run operations or request credentials. Organization roles apply in addition to OAuth scopes. New apps use organization access.

All tools return `ok` and either `data` or an `error` with `code`, `message` and an optional `hint`. Deployments return an accepted release; poll its exact number to verify it. Start, stop, restart, and suspend wait for completion by default. With `wait: false`, they return an operation ID to poll with `hub_app_runtime` until `succeeded`, `failed`, `expired`, or `unknown`. Policy changes through `hub_app_runtime_set` also return an operation ID. See [deployment lifecycle](https://docs.myhub.host/deploy/lifecycle), [runtime operations](https://docs.myhub.host/deploy/runtime) and [automation](https://docs.myhub.host/automation).

## hub_whoami

Show the authenticated account, selected organization and control plane. Connect your account through browser OAuth when authorization is required.

Input schema:
```json
{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
```

Output schema:
```json
{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "data": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "error": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "hint": {
          "type": "string"
        }
      },
      "required": [
        "code",
        "message"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "ok"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
```

## hub_usage

Read the selected organization’s plan, limits, allocation usage and AI Credits in USD. Runtime inventory is not billable compute metering.

Input schema:
```json
{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
```

Output schema:
```json
{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "data": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "error": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "hint": {
          "type": "string"
        }
      },
      "required": [
        "code",
        "message"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "ok"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
```

## hub_app_runtime

Inspect runtime without waking the app. Pass operation to poll a runtime change until succeeded, failed, expired or unknown. Use hub_app_runtime_set to change sleep policy.

Input schema:
```json
{
  "type": "object",
  "properties": {
    "target": {
      "type": "string",
      "minLength": 1,
      "description": "Explicit app or app/instance, for example my-app/staging. Defaults to prod only when instance is omitted."
    },
    "operation": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    }
  },
  "required": [
    "target"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
```

Output schema:
```json
{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "data": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "error": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "hint": {
          "type": "string"
        }
      },
      "required": [
        "code",
        "message"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "ok"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
```

## hub_app_runtime_set

Choose exactly one setting: sleepAfter only if every service can pause between HTTP requests, or alwaysOn for background work. Changes affect the entire instance and return an operation ID. Poll hub_app_runtime with operation until succeeded, failed, expired or unknown. Start a sleeping instance before changing policy.

Input schema:
```json
{
  "type": "object",
  "properties": {
    "target": {
      "type": "string",
      "minLength": 1,
      "description": "Explicit app or app/instance, for example my-app/staging. Defaults to prod only when instance is omitted."
    },
    "sleepAfter": {
      "type": "integer",
      "minimum": 5,
      "maximum": 86400
    },
    "alwaysOn": {
      "type": "boolean",
      "const": true
    }
  },
  "required": [
    "target"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
```

Output schema:
```json
{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "data": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "error": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "hint": {
          "type": "string"
        }
      },
      "required": [
        "code",
        "message"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "ok"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
```

## hub_app_suspend

Pause all services while retaining RAM and disk. Requests can wake it. Background work pauses too. Waits for completion by default. Set wait=false to return an operation ID; verify it with hub_app_runtime and operation. Linked dependencies may prevent suspension.

Input schema:
```json
{
  "type": "object",
  "properties": {
    "target": {
      "type": "string",
      "minLength": 1,
      "description": "Explicit app or app/instance, for example my-app/staging. Defaults to prod only when instance is omitted."
    },
    "wait": {
      "description": "Wait for completion; default true.",
      "type": "boolean"
    }
  },
  "required": [
    "target"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
```

Output schema:
```json
{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "data": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "error": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "hint": {
          "type": "string"
        }
      },
      "required": [
        "code",
        "message"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "ok"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
```

## hub_apps

List apps and instances in the selected organization with URLs, access, and release status.

Input schema:
```json
{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
```

Output schema:
```json
{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "data": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "error": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "hint": {
          "type": "string"
        }
      },
      "required": [
        "code",
        "message"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "ok"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
```

## hub_deploy

Deploy the pushed branch of a GitHub repository. Returns a release immediately; poll hub_app_status with its number. Changed GitHub sources return deploy_conflict unless replacement is explicitly confirmed with force. Managed Workspace cannot be replaced. Public repositories clone anonymously. Set watch=true for push-to-deploy. Private repositories and push-to-deploy require a GitHub grant and return an install link when needed.

Input schema:
```json
{
  "type": "object",
  "properties": {
    "force": {
      "description": "Confirm changing the GitHub source of an existing app. Only set after the user authorizes replacement of this target. Cannot replace managed Workspace.",
      "type": "boolean"
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "description": "Explicit app name to create or update."
    },
    "instance": {
      "description": "Instance name; default prod.",
      "type": "string"
    },
    "public": {
      "description": "Make a NEW instance public only when requested. Existing access is preserved; use hub_app_access to change it.",
      "type": "boolean"
    },
    "branch": {
      "description": "GitHub branch; defaults to repository default. Only with git.",
      "type": "string"
    },
    "path": {
      "description": "Repository subfolder, only with git.",
      "type": "string"
    },
    "watch": {
      "description": "Redeploy GitHub source on push; omitted preserves the setting for the same repository, otherwise defaults false; watching requires a GitHub grant. Only with git.",
      "type": "boolean"
    },
    "git": {
      "type": "string",
      "minLength": 1,
      "description": "GitHub owner/repository or GitHub URL. Push changes before deploying."
    }
  },
  "required": [
    "name",
    "git"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
```

Output schema:
```json
{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "data": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "error": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "hint": {
          "type": "string"
        }
      },
      "required": [
        "code",
        "message"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "ok"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
```

## hub_app_status

Read runtime status and URL, or check an exact release number from deploy. A queued/building/starting release is still in progress. A failed or superseded release is terminal; do not report it as a successful deployment.

Input schema:
```json
{
  "type": "object",
  "properties": {
    "target": {
      "type": "string",
      "minLength": 1,
      "description": "Explicit app or app/instance, for example my-app/staging. Defaults to prod only when instance is omitted."
    },
    "release": {
      "description": "Exact release number returned by deploy.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 999999999
    }
  },
  "required": [
    "target"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
```

Output schema:
```json
{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "data": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "error": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "hint": {
          "type": "string"
        }
      },
      "required": [
        "code",
        "message"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "ok"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
```

## hub_app_logs

Return a finite log snapshot, build-first while a release is in progress. Use build and release to investigate a failed release. Output is bounded to the requested trailing lines and 64,000 characters; truncated marks clipped output.

Input schema:
```json
{
  "type": "object",
  "properties": {
    "target": {
      "type": "string",
      "minLength": 1,
      "description": "Explicit app or app/instance, for example my-app/staging. Defaults to prod only when instance is omitted."
    },
    "tail": {
      "description": "Trailing lines; default 200, maximum 1000.",
      "type": "integer",
      "minimum": 1,
      "maximum": 1000
    },
    "service": {
      "description": "Compose service; default the public service.",
      "type": "string"
    },
    "build": {
      "description": "Read the build log instead of runtime output.",
      "type": "boolean"
    },
    "release": {
      "description": "Exact release number returned by deploy.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 999999999
    }
  },
  "required": [
    "target"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
```

Output schema:
```json
{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "data": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "error": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "hint": {
          "type": "string"
        }
      },
      "required": [
        "code",
        "message"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "ok"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
```

## hub_app_releases

List release history for one explicit app or instance.

Input schema:
```json
{
  "type": "object",
  "properties": {
    "target": {
      "type": "string",
      "minLength": 1,
      "description": "Explicit app or app/instance, for example my-app/staging. Defaults to prod only when instance is omitted."
    }
  },
  "required": [
    "target"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
```

Output schema:
```json
{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "data": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "error": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "hint": {
          "type": "string"
        }
      },
      "required": [
        "code",
        "message"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "ok"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
```

## hub_app_redeploy

Deploy the GitHub branch head again, or rebuild the current uploaded artifact. Returns a release immediately; poll its exact number using hub_app_status.

Input schema:
```json
{
  "type": "object",
  "properties": {
    "target": {
      "type": "string",
      "minLength": 1,
      "description": "Explicit app or app/instance, for example my-app/staging. Defaults to prod only when instance is omitted."
    }
  },
  "required": [
    "target"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
```

Output schema:
```json
{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "data": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "error": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "hint": {
          "type": "string"
        }
      },
      "required": [
        "code",
        "message"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "ok"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
```

## hub_app_access

Omit mode to read access. Set private (owner and invitees), org (organization and invitees), or public (anyone without login) only when the user requested that audience. Applies to the named instance.

Input schema:
```json
{
  "type": "object",
  "properties": {
    "target": {
      "type": "string",
      "minLength": 1,
      "description": "Explicit app or app/instance, for example my-app/staging. Defaults to prod only when instance is omitted."
    },
    "mode": {
      "type": "string",
      "enum": [
        "private",
        "org",
        "public"
      ]
    }
  },
  "required": [
    "target"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
```

Output schema:
```json
{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "data": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "error": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "hint": {
          "type": "string"
        }
      },
      "required": [
        "code",
        "message"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "ok"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
```

## hub_app_env

List environment variable names, build-time flags and update times for the target. Secret values are never returned.

Input schema:
```json
{
  "type": "object",
  "properties": {
    "target": {
      "type": "string",
      "minLength": 1,
      "description": "Explicit app or app/instance, for example my-app/staging. Defaults to prod only when instance is omitted."
    }
  },
  "required": [
    "target"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
```

Output schema:
```json
{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "data": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "error": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "hint": {
          "type": "string"
        }
      },
      "required": [
        "code",
        "message"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "ok"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
```

## hub_app_env_set

Set runtime variables, or include them at build time with build=true. Returns changed names and any queued release immediately, never values. This may restart or rebuild the app; poll the returned release number. Use only values authorized for this app.

Input schema:
```json
{
  "type": "object",
  "properties": {
    "target": {
      "type": "string",
      "minLength": 1,
      "description": "Explicit app or app/instance, for example my-app/staging. Defaults to prod only when instance is omitted."
    },
    "values": {
      "type": "object",
      "propertyNames": {
        "type": "string",
        "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
      },
      "additionalProperties": {
        "type": "string"
      },
      "description": "Variable names mapped to their string values. Values are sent securely to Hub and never returned."
    },
    "build": {
      "description": "Make these variables available while building as well as at runtime.",
      "type": "boolean"
    }
  },
  "required": [
    "target",
    "values"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
```

Output schema:
```json
{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "data": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "error": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "hint": {
          "type": "string"
        }
      },
      "required": [
        "code",
        "message"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "ok"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
```

## hub_app_env_unset

Remove the named variables. Returns removed names and any queued release immediately; poll its release number. May restart or rebuild the app.

Input schema:
```json
{
  "type": "object",
  "properties": {
    "target": {
      "type": "string",
      "minLength": 1,
      "description": "Explicit app or app/instance, for example my-app/staging. Defaults to prod only when instance is omitted."
    },
    "names": {
      "minItems": 1,
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
      },
      "description": "Names to remove; no values."
    }
  },
  "required": [
    "target",
    "names"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
```

Output schema:
```json
{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "data": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "error": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "hint": {
          "type": "string"
        }
      },
      "required": [
        "code",
        "message"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "ok"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
```

## hub_app_rollback

Create a new release from an earlier release. Omit release to choose the newest successful release older than the serving release. Returns the new release immediately; poll its exact number. Does not roll back database contents or environment variables.

Input schema:
```json
{
  "type": "object",
  "properties": {
    "target": {
      "type": "string",
      "minLength": 1,
      "description": "Explicit app or app/instance, for example my-app/staging. Defaults to prod only when instance is omitted."
    },
    "release": {
      "description": "Earlier release number to restore; default the newest successful release older than the serving release.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 999999999
    }
  },
  "required": [
    "target"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
```

Output schema:
```json
{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "data": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "error": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "hint": {
          "type": "string"
        }
      },
      "required": [
        "code",
        "message"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "ok"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
```

## hub_app_start

Start an app that was stopped. Inspect hub_app_status afterward to verify its services.

Input schema:
```json
{
  "type": "object",
  "properties": {
    "target": {
      "type": "string",
      "minLength": 1,
      "description": "Explicit app or app/instance, for example my-app/staging. Defaults to prod only when instance is omitted."
    },
    "wait": {
      "description": "Wait for completion; default true. Set false to return an operation ID to poll with hub_app_runtime.",
      "type": "boolean"
    }
  },
  "required": [
    "target"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
```

Output schema:
```json
{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "data": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "error": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "hint": {
          "type": "string"
        }
      },
      "required": [
        "code",
        "message"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "ok"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
```

## hub_app_stop

Stop the named app instance. This interrupts service until it is started again; existing data is retained.

Input schema:
```json
{
  "type": "object",
  "properties": {
    "target": {
      "type": "string",
      "minLength": 1,
      "description": "Explicit app or app/instance, for example my-app/staging. Defaults to prod only when instance is omitted."
    },
    "wait": {
      "description": "Wait for completion; default true. Set false to return an operation ID to poll with hub_app_runtime.",
      "type": "boolean"
    }
  },
  "required": [
    "target"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
```

Output schema:
```json
{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "data": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "error": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "hint": {
          "type": "string"
        }
      },
      "required": [
        "code",
        "message"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "ok"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
```

## hub_app_restart

Restart the named app instance without rebuilding it. This can briefly interrupt service. Inspect hub_app_status afterward.

Input schema:
```json
{
  "type": "object",
  "properties": {
    "target": {
      "type": "string",
      "minLength": 1,
      "description": "Explicit app or app/instance, for example my-app/staging. Defaults to prod only when instance is omitted."
    },
    "wait": {
      "description": "Wait for completion; default true. Set false to return an operation ID to poll with hub_app_runtime.",
      "type": "boolean"
    }
  },
  "required": [
    "target"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
```

Output schema:
```json
{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "data": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "error": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "hint": {
          "type": "string"
        }
      },
      "required": [
        "code",
        "message"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "ok"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
```

## hub_validate

Validate hub.yaml text without uploading or reading local files. A manifest is optional for auto-detected projects.

Input schema:
```json
{
  "type": "object",
  "properties": {
    "manifest": {
      "type": "string",
      "maxLength": 65536,
      "description": "Contents of hub.yaml; maximum 64 KiB of UTF-8 text."
    }
  },
  "required": [
    "manifest"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
```

Output schema:
```json
{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "data": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "error": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "hint": {
          "type": "string"
        }
      },
      "required": [
        "code",
        "message"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "ok"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
```

## Skill resource

Read `hub://skills/deploy` through a client that supports MCP resources. It returns the deployment workflow as Markdown, without credentials.

Download the [machine-readable MCP reference](https://docs.myhub.host/mcp-reference.json).