Menu

Tool reference

30 tools, scoped to the authenticated user. Badges: read never mutates, write creates or updates, delete permanently removes data.

Workspaces

A workspace holds projects, registrars and their domains, shared with the people its Owners invite. Most people have one, and tools cover every workspace you can see unless you pass workspaceId.

list_workspaces read

List the workspaces you belong to, with your role (Owner, Editor or Viewer), whether you see the whole workspace or selected projects and registrar accounts, and which one new things go into by default.

No parameters.

Domains

The core of the portfolio. Every domain belongs to a project and a registrar account.

list_domains read

List domains in your portfolio, with optional filters and pagination. Archived domains are left out unless you ask for them. Returns lean rows by default, each with displayStatus and archived; the response includes total and hasMore.

projectIduuidoptional· filter to one project
workspaceIduuidoptional· filter to one workspace (see list_workspaces)
registrarAccountIduuidoptional· filter to one registrar account
displayStatus"Active" | "Expiring soon" | "Expired" | "Unknown" | "Not at registrar" | "Archived"optional· status as the app shows it, worked out from the expiry date, registrar sync and archiving
archived"exclude" | "include" | "only"optionaldefault "exclude"· whether archived domains are left out, added, or the only ones returned
status"Active" | "Expired" | "Transferred" | "Unknown"optional· older filter, worked out from the expiry date; "Transferred" returns archived domains
searchstringoptional· case-insensitive substring match on the domain name (% and _ match literally)
expiringWithinDaysintegeroptional· 1 to 3650; expiring within N days, excludes already-expired unless includeExpired
includeExpiredbooleanoptionaldefault false· include past-due domains when filtering by expiringWithinDays
timezonestringoptional· IANA zone that decides 'today' for expiringWithinDays; defaults to your account time zone, else UTC; max 64 chars
fields"summary" | "full"optionaldefault "summary"· full adds notes, ids, dateLastChecked, archivedAt, archivedNote and timestamps
limitintegeroptionaldefault 25· 1 to 500
offsetintegeroptionaldefault 0· skip rows for pagination
get_domain read

Fetch one domain by id or by exact domain name, archived or not. Includes displayStatus, archived, archivedAt and archivedNote, plus publicRecords: the domain report looked up from public records (registrar, dates, statuses, locks, nameservers, DNS, email setup, HTTPS, website, issues) with checkedAt, refreshed weekly. If the name exists under several registrar accounts, returns an error listing the matching ids; retry with id.

iduuidoptional· pass id or domainName; if both are given, both must match
domainNamestringoptional· exact name, case-insensitive
add_domain write

Add a domain to a project under a registrar account. Its status follows the expiry date.

domainNamestringrequired· max 253 chars
projectIduuidrequired
registrarAccountIduuidrequired
autoRenewbooleanoptionaldefault false
expiryDatestringoptional· YYYY-MM-DD
notesstringoptional· max 2000 chars
archivedbooleanoptional· true adds it already archived
archivedNotestringoptional· max 500 chars
status"Active" | "Expired" | "Transferred" | "Unknown"optional· optional, worked out from expiryDate when left out; "Transferred" archives the domain
update_domain write

Update fields on a domain. Only provided fields change. Archive a domain you no longer track (for example one transferred to another company) with archived: true and an optional archivedNote; archived: false brings it back.

iduuidrequired
domainNamestringoptional· max 253 chars
autoRenewbooleanoptional
expiryDatestring | nulloptional· YYYY-MM-DD; null clears it
notesstringoptional· max 2000 chars; empty string clears it
projectIduuidoptional· move to another project
registrarAccountIduuidoptional
archivedbooleanoptional· true archives, false unarchives
archivedNotestring | nulloptional· max 500 chars; kept while archived
status"Active" | "Expired" | "Transferred" | "Unknown"optional· optional, follows expiryDate when that changes; "Transferred" archives the domain
delete_domain delete

Permanently delete a domain. Irreversible. Owners only; Editors archive instead.

iduuidrequired
bulk_add_domains write

Add up to 200 domains in one call. Returns { added, errors } as counts, plus results.added (the created rows) and results.errors ([{ index, domainName, error }]). A single bad entry never fails the batch.

domainsobject[]required· 1 to 200 entries, each shaped like add_domain
lookup_domains read

Look domains up in the public registry: registrar, expiry date, days left, and whether each is already in your account. Returns results[] with domain, registered, registrarSlug, registrarName, expiryDate, daysToExpiry, alreadyTracked.

domainsstring[]required· 1 to 25 domain names
quick_add_domains write

Add domains by registrar, with no setup first. Each registrar gets your existing account for it, or a new one called Main. Domains already in your account are updated. Returns { created, updated, errors, projectId, accounts }.

domainsobject[]required· 1 to 1000 entries of { domainName, registrar, expiryDate? }; registrar is a slug from lookup_domains (e.g. namecheap) or a name
projectIduuidoptional· defaults to your first project, created if you have none
workspaceIduuidoptional· workspace to create it in; defaults to the first one you own
domains_expiring_soon read

Domains expiring within N days, soonest first, leaving out archived ones. Excludes already-expired domains unless includeExpired is set.

withinDaysintegeroptionaldefault 30· 1 to 3650
includeExpiredbooleanoptionaldefault false· also include overdue (past-due) domains
timezonestringoptional· IANA zone that decides 'today', e.g. Australia/Sydney; defaults to your account time zone, else UTC; max 64 chars
limitintegeroptionaldefault 100· 1 to 500
workspaceIduuidoptional· filter to one workspace (see list_workspaces)

Projects

Groups of domains inside a workspace, like one business or one client. Members can be given access to selected projects.

list_projects read

List the projects you can see, with your role, the workspace each is in, and a domain count (archived domains not counted).

workspaceIduuidoptional· filter to one workspace (see list_workspaces)
add_project write

Create a project in a workspace. Owners, and Editors with the whole workspace.

namestringrequired· max 100 chars
descriptionstringoptional· max 500 chars
workspaceIduuidoptional· workspace to create it in; defaults to the first one you own
update_project write

Rename or re-describe a project. Owners, and Editors with the whole workspace.

iduuidrequired
namestringoptional· max 100 chars
descriptionstringoptional· max 500 chars
delete_project delete

Delete a project and ALL of its domains. Owner only. Irreversible. Requires confirm: true.

iduuidrequired
confirmbooleanoptionaldefault false· must be true to delete; otherwise returns the domain count that would be removed

Registrars

The registrar platforms you use (Namecheap, Porkbun, Cloudflare, …).

list_registrars read

List your registrar platforms with account counts.

workspaceIduuidoptional· filter to one workspace (see list_workspaces)
add_registrar write

Add a registrar platform.

namestringrequired· max 100 chars
urlstringoptional· e.g. namecheap.com; max 500 chars
workspaceIduuidoptional· workspace to create it in; defaults to the first one you own
update_registrar write

Update a registrar's name or URL.

iduuidrequired
namestringoptional· max 100 chars
urlstringoptional· max 500 chars
delete_registrar delete

Delete a registrar. Cascades to its accounts and their domains. Irreversible. Requires confirm: true.

iduuidrequired
confirmbooleanoptionaldefault false· must be true to delete; otherwise returns the account + domain counts that would be removed

Registrar accounts

Individual logins at a registrar. One account can hold domains across many projects. API credentials cannot be set through MCP.

list_registrar_accounts read

List your registrar accounts, optionally filtered.

registrarIduuidoptional· filter by registrar
workspaceIduuidoptional· filter to one workspace (see list_workspaces)
add_registrar_account write

Add an account under one of your registrars.

registrarIduuidrequired
displayNamestringrequired· max 200 chars
accountUsernamestringrequired· max 100 chars
contactEmailstringoptional· valid email, max 254 chars
domainListUrlstringoptional· max 1000 chars
update_registrar_account write

Update fields on a registrar account.

iduuidrequired
displayNamestringoptional· max 200 chars
accountUsernamestringoptional· max 100 chars
contactEmailstring | nulloptional· valid email, max 254 chars; empty string or null clears it
domainListUrlstringoptional· max 1000 chars
isActivebooleanoptional
delete_registrar_account delete

Delete a registrar account. Cascades to its domains. Irreversible. Requires confirm: true.

iduuidrequired
confirmbooleanoptionaldefault false· must be true to delete; otherwise returns the domain count that would be removed

Monitoring

Watch any domain, yours or not. Lemon Domains checks the public records of every monitored domain each day and records what changed. Domains in the portfolio are monitored automatically; each workspace can watch up to 1,000 more.

list_monitored read

Every monitored domain in the workspace, yours and watched, with registrar, expiry, when it was last checked, the latest change and how many changes you haven't opened.

workspaceIduuidoptional· defaults to the first workspace you own
monitor_domains write

Start watching domains you don't own. Returns which were added, already in the portfolio, already watched, invalid, or over the 1,000-domain limit.

domainsstring[]required· domains such as example.com, max 1000 per call, each max 253 characters
workspaceIduuidoptional· defaults to the first workspace you own
stop_monitoring delete

Stop watching a domain you don't own. Its recorded changes are kept.

domainstringrequired· a watched domain, max 253 characters
workspaceIduuidoptional· defaults to the first workspace you own
list_changes read

Changes on monitored domains, newest first, each with kind, old and new value and when it was found: registrar, transfer lock, nameservers, expiry, expired or pending delete, became available, status codes, DNSSEC, hosting, email provider, SSL, website up or down, parked or for sale.

domainstringoptional· only this domain, max 253 characters
kindstringoptional· only this kind, e.g. registrar, nameservers, transfer_lock, expiry
sincestringoptional· ISO date or time, max 40 characters
limitintegeroptionaldefault 100· 1 to 500
workspaceIduuidoptional· defaults to the first workspace you own

Domain intelligence

Look up any domain on the internet, yours or not: registration, locks, DNS, website, certificate, email setup, history and transfer readiness. Each account gets 200 reports, 2,000 availability checks and 200 transfer checks a day.

domain_report read

Everything about one domain: registrar (with IANA id, abuse contact and how Lemon Domains syncs it), created, updated, expiry and last-transfer dates, EPP status codes in plain English, transfer/delete/update locks, lifecycle (redemption, hold, pending delete), DNSSEC, nameservers and DNS provider, every common DNS record, website status, redirects, host, title and security headers, the network the site's IP belongs to, parked or for-sale detection, HTTPS certificate, email provider with SPF/DMARC/DKIM/MTA-STS/TLS-RPT/BIMI, subdomains from certificate transparency logs, Tranco popularity rank, indicative TLD prices and value, history (changes Lemon Domains has seen and Internet Archive captures by year), the same name under other extensions, transfer readiness, a ranked list of issues and a 0-100 health score. Falls back to WHOIS for TLDs without RDAP. If the domain is in your account, adds its Lemon Domains history.

domainstringrequired· a registered domain such as example.com, max 253 characters; internationalised names are accepted
freshbooleanoptionaldefault false· skip the 10-minute cache and look everything up again
check_availability read

Whether domain names are free to register, up to 50 per call: full domains, or words combined with extensions, prefixes and suffixes. Each row is available, taken (with registrar and expiry), dropping (redemption or pending delete) or unknown, plus totals for each status.

domainsstring[]optional· full domains such as example.com, max 100
wordsstring[]optional· names without an extension, combined with every entry in tlds; max 50
tldsstring[]optionaldefault ["com"]· extensions for words, without the dot
prefixesstring[]optional· also try each word after these, e.g. ["get", "try"]
suffixesstring[]optional· also try each word before these, e.g. ["hq", "app"]
pluralbooleanoptional· also try the plural of each word
hacksbooleanoptional· also try domain hacks, e.g. quillba.se for quillbase
transfer_readiness read

Whether a domain can move to another registrar today: verdict (ready, unlock first, wait, blocked), the checks behind it (locks, 60-day windows after registration and transfer, expiry, redemption or hold, DNSSEC), the date it becomes transferable, step-by-step instructions for its registrar, and the indicative transfer price.

domainstringrequired· a registered domain such as example.com, max 253 characters

Sync (read-only)

Inspect recent registrar sync runs and how they went.

recent_sync_logs read

Most recent sync logs across your registrar accounts.

limitintegeroptionaldefault 20· 1 to 100
registrarAccountIduuidoptional