Bunstation
Build websites and apps from a prompt, edit their files, and publish the latest build.
What it can do
- Projects.Create: Create one Bunstation project from a prompt and start building it. stack is vite or nextjs. model is an OpenRouter model id. Defaults: vite and openai/gpt-5.6-luna. requested_count is
- Templates.List: List public templates from the Bunstation app library, newest first. Same projects as the templates page. Optional category filters that list, for example restaurant or landing_page.
- Templates.Use: Copy a public template into a new project owned by the authenticated user. This is the app remix: the template repository is copied, and no prompt build starts. Pass template_id from te
What data it sees
Do you need an account
No: the server works without sign-in
Build websites and apps from a prompt, edit their files, and publish the latest build. Sign in with your Bunstation account to check credits, invoices, and token usage.
How to connect
How to connect Bunstation to Claude
The server address to paste into Claude settings:
https://bunstation--hi-wxsl.run.tools
- Open Claude (claude.ai or the desktop app).
- Go to Settings → Connectors.
- Click Add custom connector.
- Paste the server address copied below into Remote MCP server URL and click Add.
- In a chat, click + → Connectors and switch the new connector on.
Custom connectors are available on Free, Pro, Max, Team and Enterprise plans (Free is limited to one). On Team and Enterprise an organization Owner adds the connector first under Organization settings → Connectors.
Authorization
After you click Add, a sign-in window for the service opens. Sign in with your own account and approve access. Claude never sees your password.
How to connect Bunstation to ChatGPT
The server address to paste into ChatGPT settings:
https://bunstation--hi-wxsl.run.tools
- Open ChatGPT in a browser (chatgpt.com). A Plus, Pro, Business, Enterprise or Edu plan is required.
- Turn on developer mode once: Settings → Apps → Advanced settings → Developer mode.
- Open Settings → Connectors and click Create.
- Fill in the form: Name (anything), Description (one line about what the service does), MCP server URL (copy it below).
- Under Authentication choose OAuth if the service requires sign-in, otherwise None. Click Create.
- In a new chat open + → Apps/Connectors and enable the connector.
OpenAI has renamed this section before (Connectors → Apps/Plugins). If the label differs, search settings for "developer mode". On Business/Enterprise workspaces an admin must allow custom connectors first.
Authorization
On first use ChatGPT opens the service's sign-in window. Sign in and approve access.
How to connect Bunstation to Cursor
The server address to paste into Cursor settings:
https://bunstation--hi-wxsl.run.tools
Fastest: click Open in Cursor below and confirm the prompt.
Manually:
- In Cursor open Settings → Cursor Settings → MCP and click Add new global MCP server.
- Paste the JSON copied below into
~/.cursor/mcp.json(per project:.cursor/mcp.jsonin the repo root). - Save the file. The server appears in the MCP list; authorize it there if asked.
Authorization
If the service needs sign-in, an authorize button appears next to the server in the MCP list.
Server tool list (24)
Raw names from tools/list. Only developers need these.
| projects.create | Create one Bunstation project from a prompt and start building it. stack is vite or nextjs. model is an OpenRouter model id. Defaults: vite and openai/gpt-5.6-luna. requested_count is how many projects the user asked for in this message. Pass the real number. If it is greater than 3, this tool creates nothing. Do not call this tool when the user asked for more than 3 projects. Tell them the maximum is 3 at a time. |
| templates.list | List public templates from the Bunstation app library, newest first. Same projects as the templates page. Optional category filters that list, for example restaurant or landing_page. |
| templates.use | Copy a public template into a new project owned by the authenticated user. This is the app remix: the template repository is copied, and no prompt build starts. Pass template_id from templates.list. |
| projects.list | List the authenticated user's Bunstation projects, newest activity first. |
| projects.get | Get one project the authenticated user owns. |
| projects.files.list | List file paths in a project, including uncommitted creates and deletes. |
| projects.files.read | Read a text file, including an uncommitted change when one exists. |
| projects.files.search | Search text in a project, including uncommitted changes. Uses the live preview when it is running, otherwise the committed repository. |
| projects.files.create | Stage a new text file. It stays uncommitted until projects.changes.commit. Path is relative to the project root. |
| projects.files.update | Stage a full replacement of an existing text file. It stays uncommitted until projects.changes.commit. |
| projects.files.delete | Stage deletion of a file. It stays uncommitted until projects.changes.commit. |
| projects.changes.list | List uncommitted file changes for a project. |
| projects.changes.commit | Commit every pending file change in a project. Call this after editing files. |
| projects.changes.discard | Drop one uncommitted file change and keep the committed file. |
| projects.chat.get | Read the recent conversation for a project, whether generation is running, and any queued follow-ups. |
| projects.generation.stop | Stop the generation currently running on a project. |
| projects.builds.list | List recent builds for a project, newest first. |
| projects.builds.log | Read the build log for a commit. Defaults to the latest commit. |
| projects.update | Rename a project or change the model used for later messages. |
| projects.publish | Publish a successful build on a bunstation.app subdomain. Defaults to the latest successful commit and the project id as the subdomain. |
| account.credits.get | Return the authenticated user's credit balance and current subscription plan. |
| account.invoices.list | List the authenticated user's invoices, newest first. Amounts are in major currency units. |
| account.invoices.get | Get one invoice and its hosted Stripe URL. Use the id from account.invoices.list. |
| account.usage.get | Return token usage for the authenticated user. date_range is this_week, this_month, or all_time. Defaults to this_month. Includes a total and recent log rows. |