Guides
Agents & MCP
Ingram Domains is built for the case where the caller is an AI agent: no email confirmations, no browser-only steps, structured errors, explicit price confirmation, and idempotent mutations everywhere.
The MCP server
Endpoint: https://domains.ingram.tech/api/mcp. It speaks the 2026-07-28 MCP
spec and falls back to stateless Streamable HTTP for 2025-era clients, so one
URL covers both. Authenticate with the same bearer token as REST:
{
"mcpServers": {
"ingram-domains": {
"url": "https://domains.ingram.tech/api/mcp",
"headers": { "Authorization": "Bearer ingram_live_…" }
}
}
}
Tools:
| Tool | Scope | Notes |
|---|---|---|
check_domain | public | Availability + retail price |
get_tld_pricing | public | Register/renew/transfer EUR prices |
suggest_domain | read | AI name suggestions, availability-checked and priced |
list_domains | read | The workspace portfolio |
register_domain | write | Requires confirm_price — same contract as REST |
renew_domain | write | Requires confirm_price |
transfer_domain | write | Requires confirm_price + auth code |
request_auth_code | write | Outbound transfer code, emailed to the registrant |
delete_domain | write | Requires explicit confirmation parameters |
Spending tools debit the workspace wallet exactly like REST — quote first
(check_domain / get_tld_pricing), then confirm the quoted price. A
price_changed rejection carries the current price for a re-confirm loop.
The safety contract (all surfaces)
- No implicit spending —
confirm_priceeverywhere; drift rejects. - Idempotent mutations —
Idempotency-Keyreplay returns the stored result; timeouts can't double-charge (see Errors). - Free retries after registry failure — a pay-as-you-go charge whose registry action failed stays as wallet credit; the retry doesn't re-charge.
- Machine-branchable errors — stable
errorcodes with structureddetails. - Scoped tokens — a
readtoken cannot spend under any circumstances.
The in-dashboard assistant
The dashboard ships an assistant (sidebar → Assistant) for everything non-billable: DNS records, nameserver switches, security toggles (registrar lock, auto-renew, WHOIS privacy, DNSSEC), auth codes, availability and pricing questions, product Q&A, and relaying bug reports to the team. It deliberately cannot register, renew, transfer, or delete — spending stays in flows with explicit confirmation.
Raw docs for LLMs
Every page here is available as plain Markdown at /docs/raw/<slug> (e.g.
/docs/raw/errors) — curl-able and paste-able into a
context window. The OpenAPI spec at
/api/v1/openapi.json is
the machine-readable REST contract.