Use GateWire with your AI agent
GateWire exposes the same customer jobs three ways: a remote MCP server at /mcp, a REST API at /api/v1 (documented in /openapi.json), and the gatewire CLI. All three call the same functions as the website, so a key never grants more than signing in at gatewire.dev-50e.workers.dev would.
1. Create an API key
Sign in, open your account, and create a key under Agent access. Choose read (status, scheduling state) or read+write (also request an install and offer your availability). The plaintext (gw_sk_...) is shown once -- store it like a password. Revoke it any time from the same page.
2. Connect your client
Claude Code
claude mcp add --transport http gatewire https://gatewire.dev-50e.workers.dev/mcp --header "Authorization: Bearer gw_sk_..."
Or in .mcp.json:
{
"mcpServers": {
"gatewire": {
"type": "http",
"url": "https://gatewire.dev-50e.workers.dev/mcp",
"headers": { "Authorization": "Bearer ${GATEWIRE_API_KEY}" }
}
}
}claude.ai / Claude Desktop
Settings > Connectors > Add custom connector > URL https://gatewire.dev-50e.workers.dev/mcp, then add a fixed request header Authorization: Bearer gw_sk_....
Cursor
.cursor/mcp.json:
{
"mcpServers": {
"gatewire": {
"url": "https://gatewire.dev-50e.workers.dev/mcp",
"headers": { "Authorization": "Bearer ${env:GATEWIRE_API_KEY}" }
}
}
}ChatGPT / Codex
codex mcp add gatewire --url https://gatewire.dev-50e.workers.dev/mcp
TOML:
[mcp_servers.gatewire] url = "https://gatewire.dev-50e.workers.dev/mcp" bearer_token_env_var = "GATEWIRE_API_KEY"
ChatGPT's own connectors currently require OAuth for a custom server; until GateWire ships one (see Status below), use Codex or the Responses API's mcp tool with an authorization header instead of the ChatGPT connectors UI. The search / fetch tools (public pages only) are also reachable without a key for a deep-research-style connector.
VS Code
{
"servers": {
"gatewire": {
"type": "http",
"url": "https://gatewire.dev-50e.workers.dev/mcp",
"headers": { "Authorization": "Bearer ${env:GATEWIRE_API_KEY}" }
}
}
}CLI
gatewire-cli: one file, zero dependencies, served from this site (Node 18 or newer). The npm package named gatewire belongs to an unrelated company -- do not install it.
curl -fsSLO https://gatewire.dev-50e.workers.dev/cli/gatewire.mjs node gatewire.mjs login node gatewire.mjs whoami node gatewire.mjs status node gatewire.mjs request-install --distance-ft 180 node gatewire.mjs availability --day 2026-11-03:morning --day 2026-11-04:afternoon node gatewire.mjs visit
3. Tools / endpoints
| MCP tool | REST | Scope | Notes |
|---|---|---|---|
whoami | Who am I | read | read-only |
get_account_status | Get install request and booking status | read | read-only |
request_install | Request a low-voltage install | write | writes |
get_visit | Get the install scheduling state | read | read-only |
request_install_visit | Offer your availability for the install | write | writes |
accept_proposed_time | Accept a time the installer proposed | write | writes |
cancel_install_visit | Cancel the install visit request | write | destructive, needs confirm: true |
list_available_slots | List the installer's open times (optional shortcut) | read | read-only |
book_install_slot | Take one of the installer's open times | write | destructive, needs confirm: true |
search | Search GateWire's public pages (connector shape) | read | read-only |
fetch | Fetch a GateWire public page (connector shape) | read | read-only |
4. Safety
- Every call authenticates with
Authorization: Bearer gw_sk_...-- never a query string. - Rate limit: 300 calls per key per hour; a limited call returns 429 with
Retry-After. book_install_slotandcancel_install_visitcommit something, so they requireconfirm: true(CLI:--yes); the first call without it describes what would happen.- No tool or endpoint here can take, move or refund money. The $400 deposit is a browser-only Stripe card-entry flow.
- Every authenticated call is written to an audit log you can review; rows are kept 30 days.
FAQ
What can an agent do on GateWire?
Check who the API key belongs to, read the account's install vetting / deposit / receipt / booking status, submit a new install request for vetting, offer the days and parts of the day you are free once scheduling is unlocked (the installer confirms one or proposes others), accept a proposed time, and cancel. It cannot take or move money, upload photos, or touch another account's data.
Can an agent pay the $400 deposit?
No. The deposit is a browser-only Stripe card-entry flow and is not reachable from the MCP server, the REST API, or the CLI.
How does scheduling work for an agent?
By availability, like the website: request_install_visit (POST /api/v1/visit) offers days and parts of the day; the installer confirms one or proposes others (get_visit shows it, accept_proposed_time accepts). Sending the same data again changes nothing. The older book_install_slot / POST /api/v1/bookings still works for a time the installer has already listed, and confirms it immediately, so it asks for confirm: true. Cancelling a visit does not move money.
Where do I get an API key?
Sign in, open your account, and create a key under Agent access. The plaintext is shown once.