MCP scopes

Per-tool scope requirements — what your token needs to call what.

Every tool checks scope as the first thing it does. Missing scope is HTTP 403 with Missing scope: <name> — the tool body never runs.

Scope matrix

ToolScopeNotes
check_domain_availabilityavailability:read
get_tld_infoavailability:read
whoamiorgs:read
list_my_orgsorgs:read
get_orgorgs:read
list_org_membersorgs:read
list_org_domainsdomains:read
get_domaindomains:readauth_code redacted unless caller also has domains:write
update_domain_settingsdomains:write
register_domainsdomains:writeSpends money
renew_domaindomains:writeSpends money
list_dns_recordsdns:read
create_dns_record, update_dns_record, delete_dns_recorddns:write
list_dns_presets, get_active_dns_presetsdns:read
apply_dns_preset, remove_dns_presetdns:writeAlways confirms
list_contacts, get_domain_contactscontacts:read
create_contact, update_contact, delete_contactcontacts:writeOwner/admin only
set_domain_contact, unset_domain_contactcontacts:writeOwner/admin only
get_balanceorgs:read
list_my_confirmationsorgs:read

Defaults

OAuth sessions are minted with: availability:read, orgs:read, orgs:write, domains:read, domains:write, dns:read, dns:write, contacts:read, contacts:write. That’s enough to do everything except billing.

API keys ship with whatever you tick at mint time. Use the tightest scope set that gets the job done.

Org role gates

A few tools also check the caller’s role within the org, on top of scope:

  • Contact write tools (create, update, delete, set, unset) require owner or admin.
  • Org settings, member management require owner or admin.

A member with contacts:write will still be rejected with “Admin or owner role required for this organization”.

Last updated Edit this page
↑↓ navigate open esc close