Connect DomainCare to your AI tools
You're in your editor and want to know whether a certificate is about to expire or which domain is failing. DomainCare's hosted MCP server lets Claude, Cursor and Codex answer from your account. They can also add domains, run a recheck and manage status pages, without you opening the dashboard. The MCP server needs a paid plan; the 30-day trial (1 domain, no card) covers the dashboard and email alerts.
Endpoint
https://domaincare.io/api/mcpThe server uses Streamable HTTP transport (MCP spec 2025-03-26). Connect with OAuth: point your client at the URL and sign in with your DomainCare account, with no API key to paste. An X-Api-Key header still works for headless setups.
Connect with OAuth
Pick your AI tool, point it at the endpoint and sign in. There is no API key to paste. The browser consent screen asks for the mcp:read, mcp:write and mcp:full scopes. You approve or deny them together; for read-only access, use an API key with the Read only scope instead.
1. Open Claude Desktop Settings → Connectors → Add custom connector
2. Name: DomainCare
3. Remote MCP server URL: https://domaincare.io/api/mcp
4. Click Connect → sign in → approve access → done# Add without a key (omit --header) so it uses OAuth:
claude mcp add --transport http domaincare https://domaincare.io/api/mcp
# Then in a session: run /mcp, choose domaincare and sign in in the browser{
"mcpServers": {
"domaincare": {
"url": "https://domaincare.io/api/mcp"
}
}
}Then open Settings → MCP and click Needs login to sign in.
# ~/.codex/config.toml
[mcp_servers.domaincare]
url = "https://domaincare.io/api/mcp"
# Then run the browser sign-in:
codex mcp login domaincareNo browser? Use an API key (headless / CI)
For CI or a client that can't sign in, authenticate with a key from Settings → API Keys via the X-Api-Key header. Replace dc_your_key_here.
claude mcp add --transport http domaincare https://domaincare.io/api/mcp \
--header "X-Api-Key: dc_your_key_here"{
"mcpServers": {
"domaincare": {
"url": "https://domaincare.io/api/mcp",
"headers": { "X-Api-Key": "dc_your_key_here" }
}
}
}Or let your AI set it up
Don't want to touch a config file? Paste this prompt into Claude Code, Cursor, Codex or another agentic coding tool. It sets up the connection itself, tries OAuth first and only asks you for an API key if it can't sign in through the browser.
Set up the DomainCare MCP server in this tool so you can manage my domains.
It's a hosted Streamable HTTP MCP server at: https://domaincare.io/api/mcp
It supports OAuth: prefer signing in over an API key whenever the client can.
- If you are Claude Code, run this (no key; it triggers OAuth):
claude mcp add --transport http domaincare https://domaincare.io/api/mcp
then tell me to run /mcp, choose domaincare and sign in in the browser.
- If you are Cursor, add to its MCP config (URL only, no headers) and tell me to
click "Needs login" in Settings → MCP:
{ "mcpServers": { "domaincare": { "url": "https://domaincare.io/api/mcp" } } }
- If you are Codex, add to ~/.codex/config.toml then run "codex mcp login domaincare":
[mcp_servers.domaincare]
url = "https://domaincare.io/api/mcp"
If the client genuinely can't do a browser sign-in, ask me for an API key (from
domaincare.io → Settings → API Keys; needs an active paid plan) and send it as the
"X-Api-Key" header.
Then confirm it works by calling list_domains and showing me my domains.What your AI can do
23 tools covering domains, checks, per-check overrides and status pages, the same ground as the REST API. Each tool needs read, write or full access, and full access is required for anything that deletes.
| Tool | Access | Description |
|---|---|---|
list_domainsList the domains in your account, page by page. Active ones by default, paused ones on request. | read | List the domains in your account, page by page. Active ones by default, paused ones on request. |
get_domainGet one domain by ID: name, status, detected CMS and e-commerce platform, creation date. | read | Get one domain by ID: name, status, detected CMS and e-commerce platform, creation date. |
get_checksGet the latest result of each check (SSL, DNS, uptime and more) for a domain. | read | Get the latest result of each check (SSL, DNS, uptime and more) for a domain. |
list_eventsQuery the event log: status changes, alerts and recoveries. | read | Query the event log: status changes, alerts and recoveries. |
add_domainAdd a new domain to your account and start checks immediately. | write | Add a new domain to your account and start checks immediately. |
trigger_recheckForce an immediate recheck on a domain without waiting for the schedule. | write | Force an immediate recheck on a domain without waiting for the schedule. |
pause_domainPause all checks on a domain (alerts are suppressed while paused). | write | Pause all checks on a domain (alerts are suppressed while paused). |
resume_domainResume checks on a paused domain. | write | Resume checks on a paused domain. |
delete_domainDelete a domain and its check history. The data is purged after 30 days. | full | Delete a domain and its check history. The data is purged after 30 days. |
update_domainEnable or disable specific check types on a domain. | write | Enable or disable specific check types on a domain. |
get_check_overridesRead per-check settings: mute, interval, event toggles, severity. | read | Read per-check settings: mute, interval, event toggles, severity. |
update_check_overridesTune a check's mute, interval, per-event toggles and severity overrides. | write | Tune a check's mute, interval, per-event toggles and severity overrides. |
reset_check_overridesReset a check's overrides back to defaults. | full | Reset a check's overrides back to defaults. |
list_status_pagesList the status pages in your account. | read | List the status pages in your account. |
get_status_pageGet a status page's domains, layout and publish state. | read | Get a status page's domains, layout and publish state. |
create_status_pageCreate a status page for one or more domains. | write | Create a status page for one or more domains. |
update_status_pageUpdate a status page's title, slug, domains or layout. | write | Update a status page's title, slug, domains or layout. |
publish_status_pagePublish a status page. | write | Publish a status page. |
set_status_page_custom_domainAttach or verify a custom domain for a status page. | write | Attach or verify a custom domain for a status page. |
unpublish_status_pageTake a published status page offline without deleting it. | write | Take a published status page offline without deleting it. |
delete_status_pageDelete a status page. | full | Delete a status page. |
get_status_page_custom_domainCheck a status page's custom-domain attachment and verification state. | read | Check a status page's custom-domain attachment and verification state. |
delete_status_page_custom_domainDetach a custom domain from a status page. | full | Detach a custom domain from a status page. |
Manage your domains from your AI environment
Try the checks on 1 domain with the 30-day trial, no card needed. Once you subscribe, connecting Claude or Cursor is one sign-in.