Skip to main content
HostwaresHostwares

Connect Claude, ChatGPT & AI Agents

Deploy and manage Hostwares from any MCP client using natural language.

What is MCP

The Model Context Protocol is an open standard that lets AI assistants call real tools. Hostwares runs an official MCP server, so an assistant can deploy a repo, read build logs, set environment variables and attach domains for you — in plain language, without leaving your editor.

It is hosted by us at https://mcp.hostwares.com — nothing to install, and it updates as the platform does.

Quickstart (Claude Code)

Create a key at Dashboard → API Keys, then run:

claude mcp add --transport http hostwares https://mcp.hostwares.com \
  --header "Authorization: Bearer sk_your_key_here"

That is the whole setup. Now just ask:

> Deploy this repo to Hostwares as my-app
> Why is my-app returning 502? Check the logs
> Set DATABASE_URL on my-app
> Point app.example.com at my-app

Verify it connected with claude mcp list.

Other clients

Claude Desktop, Cursor, VS Code, Windsurf

Add to your client’s MCP config (.cursor/mcp.json for Cursor, claude_desktop_config.json for Claude Desktop):

{
  "mcpServers": {
    "hostwares": {
      "type": "http",
      "url": "https://mcp.hostwares.com",
      "headers": {
        "Authorization": "Bearer sk_your_key_here"
      }
    }
  }
}

ChatGPT & other remote-MCP clients

Add a custom MCP connector pointing at https://mcp.hostwares.com with the header Authorization: Bearer sk_.... Any client that speaks Streamable HTTP works — including Base44, which can consume the same URL as a connector or skill wrapper.

Local stdio (clients without remote MCP)

A few clients only speak local stdio. For those, run our bridge — it forwards to the same hosted server, so you get the same tools without them going stale:

{
  "mcpServers": {
    "hostwares": {
      "command": "npx",
      "args": ["-y", "github:Hostwares/hostwares-mcp"],
      "env": { "HOSTWARES_API_KEY": "sk_your_key_here" }
    }
  }
}

Check it works

A plain GET returns the server descriptor, so you can sanity-check reachability:

curl https://mcp.hostwares.com

Tools

ToolWhat it does
deployOrder a site from a public GitHub repo
list_sitesList your sites with status and URL
get_statusDetailed status incl. live container state
get_logsRecent build and deployment logs
set_envSet or update environment variables
add_domainAttach a custom domain (SSL is automatic)
create_databaseProvision Postgres, MySQL, MariaDB, Redis or MongoDB
list_databasesList your managed databases
restart_siteRestart a site’s container

These call the same internal services as the dashboard and the hw CLI, so results are identical whichever way you drive the platform.

How deploys are billed

Hosting is pay-first. deploy creates the site and an invoice, and returns an invoiceUrl — the build starts automatically once that invoice is paid. Your assistant will hand you the payment link; the site is not live until get_status reports it running.

Call deploy without packId first and it returns the available resource packs so you can pick one. Databases currently require an active plan — see Plans.

Security

  • Keys are the same sk_ API keys used by the REST API and CLI, stored hashed. Revoke anytime from Dashboard → API Keys.
  • Every tool is scoped to the key’s owner — a key can only ever see and change that account’s resources.
  • Rate limited to 60 requests/minute per key, the same as the REST API.
  • Treat a key like a password: it can deploy and restart infrastructure. Prefer a dedicated key per machine so you can revoke one without disturbing the others.

Troubleshooting

SymptomCause & fix
401 / “Invalid or missing API key”Header must be exactly Authorization: Bearer sk_.... Confirm the key still exists in Dashboard → API Keys.
429Over 60 requests/minute for that key. Wait a moment and retry.
Tools missing in the clientReconnect the server (claude mcp remove hostwares then add again) so it re-runs discovery.
“Site not found or access denied”The id belongs to another account, or is wrong — run list_sites to get valid ids.