{"serverId":"mcp-registry/com.fadehost/mcp","tools":[{"name":"create_app","fixed":{"name":"create_app","description":"Deploy a Discord bot or a web app from a public or private GitHub/GitLab repository. The language is detected from the repo (Node.js, Python, Bun, Deno, Go, Java, PHP, Ruby, Rust, C# on .NET, or a static site); the app is cloned, built and started, and every push to the branch redeploys it. A Discord bot needs DISCORD_TOKEN in env. With web_address (a name), the app also gets https://<name>.fadehost.app pointing at the port it listens on (the PORT variable, 8080 by default); every app has one wi","inputSchema":{"type":"object","required":["name","repo_url"],"properties":{"env":{"type":"object","description":"Environment variables as a map of NAME to value (DISCORD_TOKEN for bots, API keys, ...)."},"kind":{"enum":["discord","telegram","whatsapp","web","static","worker","app"],"type":"string","description":"\"discord\" for a Discord bot (needs DISCORD_TOKEN), \"telegram\" or \"whatsapp\" for those bots, \"web\" for a web app or API, \"static\" for a static site, \"worker\" for anything else that keeps running. Default discord."},"name":{"type":"string","description":"A name for the app (3 to 60 characters)."},"port":{"type":"integer","description":"The port the app listens on for its web address; default 8080 (the PORT variable)."},"tier":{"enum":["free","starter","standard","pro"],"type":"string","description":"free (default when the account still has its free app), starter, standard or pro."},"branch":{"type":"string","description":"Branch to deploy; default is the repository default branch."},"region":{"type":"string","description":"Part of a region name, e.g. \"Europe\" or \"USA\". Default Europe."},"runtime":{"enum":["node","python","bun","deno","go","java","php","ruby","rust","dotnet","static"],"type":"string","description":"The language to run the repository as; leave empty to detect it from the files in the repo."},"repo_url":{"type":"string","description":"The repository, e.g. https://github.com/owner/repo."},"git_token":{"type":"string","description":"A token for a private repository (a GitHub fine-grained token or the GitHub App connection is preferred)."},"build_mode":{"enum":["runtime","dockerfile","railpack"],"type":"string","description":"\"runtime\" (default) installs and starts the repository in a shared runtime. \"dockerfile\" builds the repository's own Dockerfile into an image first. \"railpack\" works out how to build a repository that has no Dockerfile. Both build modes are paid tiers only."},"web_address":{"type":"string","description":"A name for a public web address, e.g. \"my-dashboard\" for https://my-dashboard.fadehost.app. Included with every app."},"build_command":{"type":"string","description":"A build step to run after install (e.g. \"npm run build\")."},"start_command":{"type":"string","description":"Override the start command (e.g. \"node dist/index.js\")."}}},"annotations":{"openWorldHint":true,"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Create App"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":800,"tokensAfter":800}],"toolsChanged":1,"tokensSaved":0,"todo":[],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}