Quickstart: MCP Server
Add custom domain provisioning to any MCP-compatible agent (Claude Desktop, Claude Code, etc.) in under 5 minutes.
1. Get a Platform API Key
Sign up at thin.host/platform to get your API key. For testing, you can use the free tier (3 domains, 100 API calls/day).
2. Configure Claude Desktop
Add the thin.host MCP server to your Claude Desktop config (claude_desktop_config.json):
{
"mcpServers": {
"thin-host": {
"command": "python",
"args": ["-m", "app.mcp_server"],
"cwd": "/path/to/thin-host",
"env": {
"THINHOST_API_URL": "https://thin.host/v1",
"THIN_HOST_API_KEY": "th_live_your_key_here"
}
}
}
}
3. Use It
In a Claude conversation, ask Claude to set up a custom domain:
"I just deployed my site to https://myapp.vercel.app. Can you set up myportfolio.com as a custom domain?"
Claude will call provision_domain, get back a claim URL, and share it with you. You visit the claim page, pay, configure DNS, and the domain goes live.
Available Tools
| Tool | Description |
|---|---|
provision_domain | Create a new custom domain with payment/claim flow |
check_domain_status | Poll domain provisioning progress |
update_origin | Change the target URL for a domain |
release_domain | Tear down a provisioned domain |
list_domains | List all domains with optional filtering |
Example Flow
# Agent provisions a domain
result = await mcp.call("provision_domain", {
"domain": "mysite.com",
"origin_url": "https://myapp.vercel.app",
"user_email": "user@example.com"
})
# → { provision_id, status: "pending_payment", claim_url, dns_instructions }
# Agent shares the claim_url with the user
# User pays and configures DNS
# Agent checks status
status = await mcp.call("check_domain_status", {
"provision_id": result["provision_id"]
})
# → { status: "active", ready: true }
See the MCP Tool Reference for full parameter and response documentation.