hostwares-mcp
# hostwares-mcp
Deploy and manage [Hostwares](https://hostwares.com) from Claude, Cursor, ChatGPT, or any
MCP client — in plain language.
> **Most people don't need this package.** Hostwares runs a hosted MCP server. If your
> client supports remote MCP (Claude Code, Claude Desktop, Cursor, ChatGPT), connect
> straight to it and skip the install:
>
> ```bash
> claude mcp add --transport http hostwares https://mcp.hostwares.com \
> --header "Authorization: Bearer sk_your_key_here"
> ```
>
> This package exists for clients that only speak **local stdio**.
## What it does
A thin stdio bridge to `https://mcp.hostwares.com`. It defines no tools of its own — it
fetches the tool list from the server at startup and forwards calls there.
That matters: the previous version shipped its own copy of the tool definitions, so the
package silently drifted from the platform whenever a tool changed and users were stuck on
a stale list until they upgraded. Now the server is the single source of truth and new
tools appear without republishing anything.
## Setup
1. Create an API key at [Dashboard → API Keys](https://hostwares.com/dashboard/api-keys).
2. Add it to your client's MCP config.
**Claude Desktop** (`claude_desktop_config.json`) / **Cursor** (`.cursor/mcp.json`):
```json
{
"mcpServers": {
"hostwares": {
"command": "npx",
"args": ["-y", "github:Hostwares/hostwares-mcp"],
"env": { "HOSTWARES_API_KEY": "sk_your_key_here" }
}
}
}
```
Once published to npm you can use `["-y", "hostwares-mcp"]` instead.
## Usage
```
> 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
```
## Tools
`deploy` · `list_sites` · `get_status` · `get_logs` · `set_env` · `add_domain` ·
`create_database` · `list_databases` · `restart_site`
All are backed by the same services as the dashboard and the `hw` CLI, so results are
identical however you drive the platform.
## Billing
Hosting is **pay-first**. `deploy` creates the site plus an invoice and returns an
`invoiceUrl`; the build starts automatically once that invoice is paid. Your assistant will
give you the link. The site is not live until `get_status` reports it running.
## Environment
| Variable | Required | Default |
|---|---|---|
| `HOSTWARES_API_KEY` | yes | — |
| `HOSTWARES_MCP_URL` | no | `https://mcp.hostwares.com` |
## Security
Your key is read from the environment and sent only to Hostwares. It is never written to
stdout — stdout is the JSON-RPC channel — and never logged. A key can only reach resources
owned by the account that created it. Revoke anytime from Dashboard → API Keys.
## Privacy Policy
Full policy: **https://hostwares.com/privacy**
**What this bridge collects.** Nothing. It runs on your machine, holds no database, writes no
logs to disk, and sends nothing to any third party. It is a stdio-to-HTTP proxy: it forwards
each JSON-RPC message to `https://mcp.hostwares.com` and returns the response unchanged.
**What is transmitted.** Only the arguments of the tool you invoke — a site id, a domain name,
or environment-variable values you ask it to set — plus your API key for authentication, sent
over HTTPS to Hostwares. Conversation content is not sent; the bridge never sees your chat.
**What Hostwares stores.** Your account data (sites, databases, domains, invoices) and an
audit record of actions taken with your API key, so you can see what was changed and when.
**Third-party sharing.** None. Hostwares does not sell or share account data. Deployments run
on infrastructure operated by Hostwares' hosting providers, as described in the full policy.
**Retention.** Account data is retained while the account is open, and is deleted on request
or after account closure, per the full policy.
**Your API key.** Read from the `HOSTWARES_API_KEY` environment variable, never written to
disk or to stdout by this bridge. Revoke it at any time at
https://hostwares.com/dashboard/api-keys.
**Contact.** support@hostwares.com
## Development
```bash
npm install
npm run build
HOSTWARES_API_KEY=sk_... node dist/index.js
```
Docs: <https://hostwares.com/docs/mcp> · License: MIT
TDQS
Scored across 14 tools
Each tool targets a distinct action: deployment, management, listing, configuration, billing, and a general assistant. There is no overlap; even similar tools like 'start_site' and 'restart_site' have clear descriptions distinguishing their purposes.
All tools use imperative verbs with snake_case naming (e.g., 'deploy_site', 'get_site_status', 'update_env_vars'), except 'ask' which is a single word but still follows the imperative style. No mixing of conventions.
With 14 tools, the set covers the major operations for a hosting platform (deploy, manage, configure, list, logs, billing) without being overwhelming. The count is well-scoped for the domain.
The tool set covers key lifecycle operations like deployment, restart, start/stop, logs, env vars, custom domains, databases, and billing. However, missing delete/undeploy for sites and databases, which are minor gaps for full CRUD coverage.