Your agent.
The LocalDeploy engine.
Connect over Streamable HTTP with a scoped bearer key.
Generate confirmed business sites, inspect progress, and edit structured content.
Before you connect.
Use an active Professional, Expert, or Unlimited Agency workspace. Create a LocalDeploy API key, store it privately as LOCALDEPLOY_API_KEY, and start your client from a process that inherits that environment variable. This key is separate from your AI provider keys.
Endpoint: https://localdeploy.haowenlabs.com/api/mcp
LocalDeploy uses a static Authorization bearer header. Browser sign-in is used to manage your account and keys; the MCP connection does not perform an OAuth login.
Codex
Add to ~/.codex/config.toml or your project’s .codex/config.toml.
[mcp_servers.localdeploy]
url = "https://localdeploy.haowenlabs.com/api/mcp"
bearer_token_env_var = "LOCALDEPLOY_API_KEY"Keep the environment reference in the file. Set the variable privately, restart the client, and check that the six LocalDeploy tools appear.
Official client documentationClaude Code
Merge this entry into .mcp.json. Approve the project’s server when your client asks.
{
"mcpServers": {
"localdeploy": {
"type": "http",
"url": "https://localdeploy.haowenlabs.com/api/mcp",
"headers": {
"Authorization": "Bearer ${LOCALDEPLOY_API_KEY}"
}
}
}
}Keep the environment reference in the file. Set the variable privately, restart the client, and check that the six LocalDeploy tools appear.
Official client documentationCursor
Merge this entry into .cursor/mcp.json or your global Cursor MCP configuration.
{
"mcpServers": {
"localdeploy": {
"url": "https://localdeploy.haowenlabs.com/api/mcp",
"headers": {
"Authorization": "Bearer ${env:LOCALDEPLOY_API_KEY}"
}
}
}
}Keep the environment reference in the file. Set the variable privately, restart the client, and check that the six LocalDeploy tools appear.
Official client documentationWindsurf / Cascade
Open the MCP configuration from your Cascade panel, then merge this entry into mcp_config.json. The linked documentation covers legacy Cascade.
{
"mcpServers": {
"localdeploy": {
"serverUrl": "https://localdeploy.haowenlabs.com/api/mcp",
"headers": {
"Authorization": "Bearer ${env:LOCALDEPLOY_API_KEY}"
}
}
}
}Keep the environment reference in the file. Set the variable privately, restart the client, and check that the six LocalDeploy tools appear.
Official client documentationConnect. Confirm. Create.
- Call
list_templatesto inspect theme tokens and the intake schema. - Collect a merchant-confirmed brief, then call
generate_sitewith that brief and a stableidempotencyKey. - Poll
get_site_statusuntil the durable job completes. Its preview link is available when the saved state is ready. - Call
get_site_schema, review the current state, and useupdate_site_statewith that revision and a structured patch. - For outreach, call
bulk_generate_leadgen_previewswith validated CSV, a theme, and a separate stable request key.
Standard plans use the same full-site and LeadGen balances as the website. Unlimited Agency requires configured workspace BYOK credentials. Editing saved state does not initiate an AI generation.
Permissions stay specific.
list_templatessites:read
generate_sitesites:write
get_site_statussites:read
get_site_schemasites:read
update_site_statesites:write
bulk_generate_leadgen_previewsleadgen:write
Every operation checks the current plan, key scope, and workspace ownership. A canceled plan cannot start new agent work. You can still sign in to revoke your keys.
A small transport contract.
The endpoint returns JSON over HTTP POST. It supports initialization, ping, tool discovery, and tool calls. No session ID or server event stream is created; GET and DELETE return 405.
Send Accept: application/json, text/event-stream and MCP-Protocol-Version: 2025-11-25. Supported versions also include 2025-06-18 and 2025-03-26. The March compatibility path accepts batches of up to two messages; newer versions require one message per POST.
Initialized notifications return an empty 202 response. Tool business errors use isError with a safe structured error; malformed protocol requests return JSON-RPC errors.
Check the connection directly.
With your key already in the environment, this request negotiates the protocol. Then send notifications/initialized and let your client discover tools. Initialization requires an eligible API key too.
curl --fail-with-body --silent --show-error \
"https://localdeploy.haowenlabs.com/api/mcp" \
-H "Authorization: Bearer $LOCALDEPLOY_API_KEY" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "MCP-Protocol-Version: 2025-11-25" \
--data '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-11-25","capabilities":{},"clientInfo":{"name":"my-agent","version":"1.0.0"}}}'Rate limit: 60 authenticated requests per minute per key. Standard full-site starts have a workspace limit of two per minute. Unlimited Agency permits up to 15 combined generation starts per minute and 120 per hour. Honor Retry-After, poll with backoff, and retry mutations with the same request key.
Workspace safeguards allow 10 active keys, 20 new keys per rolling 24 hours, 10 pending full-site jobs, 1,000 retained sites, and 250 revisions per site. Retained documents have a 64 MiB budget; queued full-site jobs reserve 4 MiB each. These limits also apply to Unlimited Agency.
If the connection needs attention.
401 · Key not accepted
Check that the client inherited LOCALDEPLOY_API_KEY and the key is active and unexpired. Create or revoke keys from your signed-in LocalDeploy account.
403 · Plan or scope required
Use an eligible active agency plan and a key with the tool’s required permission. Free Sandbox and Starter do not include REST or MCP access.
402 · Generation allowance unavailable
Review Billing before starting another site or preview batch. Included usage resets monthly within a paid term; it does not roll over.
409 · State or request conflict
Wait for queued generation, or read the latest state before editing. Use a new key for a changed request; retain the original key for an identical retry.
429 · Slow down
Honor Retry-After and use backoff. Batch uploads still obey row limits and the workspace’s available credits.
503 · Setup or service pending
Provider, queue, signing, or billing configuration may still be pending. No successful generation is implied by a connected client.
Official protocol references: Streamable HTTP · Tools. Public previews are noindex review links, not a managed custom-domain hosting promise.