Connect AI assistants to your services!

Manage your services using natural conversation.

Model Context Protocol (MCP)

MCP is an open standard that allows AI assistants to interact with external tools and services. With Dynu's MCP server, you can ask your AI assistant to check service status, make changes, and more — all through natural conversation.



What platforms support MCP?

MCP is supported by most AI platforms including but not limited to Claude Desktop, Claude Code, ChatGPT, Cursor, Windsurf or any client implementing the MCP specification.

What do I need to use MCP?

To use MCP, you need a corporate membership, an API key (generated in the API Credentials area) or an OAuth2-capable client, and an MCP-compatible AI client.

Gain easy access

and use with AI agents






Setup

Claude Desktop


Claude Desktop uses stdio-based MCP servers. Use mcp-remote to bridge the remote HTTP endpoint. Open 'Settings' → 'Developer' → 'Edit Config' and add:

{
  "mcpServers": {
    "Dynu": {
      "command": "npx",
      "args": [
        "-y", "mcp-remote",
        "https://api.dynu.com/mcp",
        "--header", "Authorization: Bearer YOUR_API_KEY"
      ]
    }
  }
}
Replace YOUR_API_KEY with your actual API key. Restart Claude Desktop to apply.

Claude Code


Add the server to your project's .mcp.json file:

{
  "mcpServers": {
    "dynu": {
      "type": "streamableHttp",
      "url": "https://api.dynu.com/mcp",
      "headers": {
        "Authorization": "YOUR_API_KEY"
      }
    }
  }
}

Cursor


Open 'Settings' → 'MCP Servers' → 'Add Server' and configure:

Type streamableHttp
URL https://api.dynu.com/mcp
Headers Authorization: YOUR_API_KEY

ChatGPT


ChatGPT has native MCP support through Developer Mode. It uses OAuth to authenticate.

Step 1. Enable Developer Mode in ChatGPT: go to 'Enabled apps' → 'Advanced settings' → 'Developer mode' and toggle it on. This is available for ChatGPT Pro, Plus, Team, Business, Enterprise, and Edu users.

Step 2. Create a new app: go to 'Enabled apps' → 'Create app'.

Step 3. Fill in the app details:

Name Dynu MCP (or any name you prefer)
Description DNS management (optional)
MCP Server URL https://api.dynu.com/mcp
Authentication OAuth

Step 4. The OAuth endpoints will be auto-discovered from the server. You can verify them under 'Advanced settings':

Auth URL https://api.dynu.com/mcp/oauth/authorize
Token URL https://api.dynu.com/mcp/oauth/token
Registration URL https://api.dynu.com/mcp/oauth/register

Step 5. Check "I understand and want to continue" and click 'Create'.

Step 6. Complete the OAuth login flow. You will be redirected to a Dynu authorization page where you sign in with your Dynu username or email and password.

Available Tools

The MCP server exposes 84 tools organized into five categories.

DNS


dns_list
List all DNS services (hostnames and domains).
dns_get
Get a DNS service by ID.
dns_create
Create a new DNS service.
dns_update
Update a DNS service's IP address or TTL.
dns_delete
Delete a DNS service.
dns_record_list
List all DNS records for a service.
dns_record_get
Get a specific DNS record.
dns_record_create
Add a DNS record (A, AAAA, MX, CNAME, TXT, NS, SRV, CAA, etc.) to a service.
dns_record_update
Update an existing DNS record.
dns_record_delete
Delete a DNS record.
dns_record_enable
Enable a DNS record.
dns_record_disable
Disable a DNS record.
dns_limit
Get global DNS limits for the account.
dns_service_limit
Get DNS record limits for a specific service.
dns_toplevel
List available top-level domains filtered by membership level.
dns_getroot
Resolve the root domain for a given hostname.
dns_record_query
Query a specific DNS record type for a hostname.
dns_ipupdatehistory
Get IP update history for the account.
dns_dnssec_get
Get DNSSEC status for a DNS service.
dns_dnssec_enable
Enable DNSSEC for a DNS service.
dns_dnssec_disable
Disable DNSSEC for a DNS service.
dns_group_list
List DNS groups / access controls for a service.
dns_group_create
Create a DNS group for a service.
dns_group_update
Update a DNS group name.
dns_group_delete
Delete a DNS group.

Web Redirect


webredirect_list
List web redirects for a DNS service.
webredirect_get
Get a specific web redirect.
webredirect_create
Create a web redirect (redirect, cloakedredirect, or iframe).
webredirect_update
Update a web redirect destination or type.
webredirect_delete
Delete a web redirect.

Domain


domain_list
List all registered domains.
domain_get
Get a registered domain by ID.
domain_autorenewenable
Enable auto-renewal for a domain.
domain_autorenewdisable
Disable auto-renewal for a domain.
domain_lock
Lock a domain to prevent unauthorized transfers.
domain_unlock
Unlock a domain.
domain_cancel
Cancel a domain service.
domain_nameserver_list
List nameservers for a domain.
domain_nameserver_add
Add a nameserver to a domain.
domain_nameserver_primary
Set the primary nameserver for a domain.
domain_nameserver_delete
Remove a nameserver from a domain.

Email


email_list
List all email services.
email_get
Get an email service by ID.
email_update
Update email service settings.
email_account_list
List email accounts for a service.
email_account_get
Get a specific email account.
email_account_create
Create an email account.
email_account_update
Update an email account's password or forwarding address.
email_account_delete
Delete an email account.
email_alias_list
List email aliases for a service.
email_alias_get
Get a specific email alias.
email_alias_create
Create an email alias with a forward-to address.
email_alias_update
Update an email alias.
email_alias_delete
Delete an email alias.
email_distributionlist_list
List distribution lists for a service.
email_distributionlist_get
Get a specific distribution list.
email_distributionlist_create
Create a distribution list.
email_distributionlist_update
Update a distribution list name.
email_distributionlist_delete
Delete a distribution list.
email_distributionlist_recipient_list
List recipients of a distribution list.
email_distributionlist_recipient_create
Add a recipient to a distribution list.
email_distributionlist_recipient_delete
Remove a recipient from a distribution list.
email_blacklist_list
List blacklisted addresses for a service.
email_blacklist_get
Get a specific blacklist entry.
email_blacklist_create
Add an address to the blacklist.
email_blacklist_update
Update a blacklist entry.
email_blacklist_delete
Remove an address from the blacklist.
email_whitelist_list
List whitelisted addresses for a service.
email_whitelist_get
Get a specific whitelist entry.
email_whitelist_create
Add an address to the whitelist.
email_whitelist_update
Update a whitelist entry.
email_whitelist_delete
Remove an address from the whitelist.
email_dkim_get
Get DKIM configuration for a service.
email_dkim_update
Update DKIM configuration for a service.
email_autogeneratedkim_get
Get the auto-generated DKIM record for a service.
email_dailylimit_get
Get the daily send limit for a service.
email_deliveryqueue_get
Get the delivery queue status for a service.

Monitor


monitor_list
List all uptime monitors.
monitor_get
Get a monitor by ID.
monitor_create
Create a new monitor (DNS, HTTP, KEYWORD, PING, or PORT).
monitor_delete
Delete a monitor.
monitor_pause
Pause a monitor (stop checks).
monitor_unpause
Resume a paused monitor.
monitor_limit
Get monitor limits for the account.

Usage Examples

Once configured, you can interact with Dynu through natural language. Here are some things you can ask your AI assistant:

Check on DNS status


"Show me all my DNS services and their current status."

"How many of my domains have TXT records?"

"Do any of my domains have wildcard aliases?"

"What is the TTL on the MX record for example.dynu.com?"Prompts

Manage DNS records


"Add a TXT record with value 'v=spf1 include:example.com ~all' to my domain example.dynu.com."

"Update the A record for home.example.com to point to 203.0.113.10."

"Delete the CNAME record for old.example.com."

"Disable the MX record for mail.example.dynu.com temporarily."

"Enable DNSSEC for my domain example.com."Prompts

Manage web redirects


"List all web redirects for DNS service 12345."

"Create a redirect on service 12345 that sends visitors to https://www.mysite.com."

"Change the redirect on service 12345 to use a cloaked redirect instead."Prompts

Manage registered domains


"List all my registered domains and show which ones expire soon."

"Enable auto-renewal for domain ID 67890."

"Lock domain 67890 to prevent unauthorized transfers."

"Add ns2.example.com as a nameserver to domain 67890."Prompts

Manage email services


"List all my email services."

"Create an email account 'john' with a password on email service 11111."

"Add an alias that forwards info@example.com to john@example.com."

"Show me the delivery queue for email service 11111."

"Add nospam@badactor.com to the blacklist for service 11111."Prompts

Monitor uptime


"List all my uptime monitors."

"Create an HTTP monitor for https://www.example.com that checks every 60 seconds."

"Pause monitor 99 while I do maintenance."

"Resume monitor 99."

"How many monitors do I have and what is my limit?"Prompts

Testing with cURL

You can test the MCP endpoint directly with cURL to verify your API key works.

Initialize


curl -X POST https://api.dynu.com/mcp   -H "Authorization: YOUR_API_KEY"   -H "Content-Type: application/json"   -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "initialize",
    "params": {
      "protocolVersion": "2025-03-26",
      "capabilities": {},
      "clientInfo": {"name": "curl", "version": "1.0"}
    }
  }'

List tools


curl -X POST https://api.dynu.com/mcp   -H "Authorization: YOUR_API_KEY"   -H "Content-Type: application/json"   -d '{"jsonrpc":"2.0","id":2,"method":"tools/list"}'

Call a tool


curl -X POST https://api.dynu.com/mcp   -H "Authorization: YOUR_API_KEY"   -H "Content-Type: application/json"   -d '{
    "jsonrpc": "2.0",
    "id": 3,
    "method": "tools/call",
    "params": {
      "name": "dns_list",
      "arguments": {}
    }
  }'

Tool Reference

DNS


dns_list
Returns all DNS services for the account.
No parameters.

dns_get
Returns full details for a single DNS service.
ParameterTypeRequiredDescription
idintegerYesDNS service ID.
dns_create
Creates a new DNS service (hostname).
ParameterTypeRequiredDescription
hostnamestringYesHostname to create (e.g. home.example.com).
ipv4AddressstringNoIPv4 address to assign.
ipv6AddressstringNoIPv6 address to assign.
dns_update
Updates a DNS service's IP address or TTL.
ParameterTypeRequiredDescription
idintegerYesDNS service ID.
ipv4AddressstringNoNew IPv4 address.
ipv6AddressstringNoNew IPv6 address.
ttlintegerNoTTL in seconds.
dns_delete
Permanently deletes a DNS service.
ParameterTypeRequiredDescription
idintegerYesDNS service ID.
dns_record_list
Lists all DNS records for a service.
ParameterTypeRequiredDescription
idintegerYesDNS service ID.
dns_record_get
Returns details of a specific DNS record.
ParameterTypeRequiredDescription
idintegerYesDNS service ID.
recordIdintegerYesDNS record ID.
dns_record_create
Adds a new DNS record to a service.
ParameterTypeRequiredDescription
idintegerYesDNS service ID.
recordTypestringYesRecord type: A, AAAA, MX, CNAME, TXT, NS, SRV, CAA, etc.
nodeNamestringNoSubdomain or @ for root.
contentstringNoRecord value — IP, hostname, or text depending on type.
ttlintegerNoTTL in seconds.
priorityintegerNoPriority (MX/SRV records only).
statebooleanNoEnable the record (default: true).
dns_record_update
Updates an existing DNS record.
ParameterTypeRequiredDescription
idintegerYesDNS service ID.
recordIdintegerYesDNS record ID.
nodeNamestringNoSubdomain or @ for root.
contentstringNoNew record value.
ttlintegerNoTTL in seconds.
priorityintegerNoPriority (MX/SRV records only).
statebooleanNoEnable or disable the record.
dns_record_delete / dns_record_enable / dns_record_disable
ParameterTypeRequiredDescription
idintegerYesDNS service ID.
recordIdintegerYesDNS record ID.
dns_limit
Returns global DNS limits for the account.
No parameters.

dns_service_limit
Returns DNS record limits for a specific service.
ParameterTypeRequiredDescription
idintegerYesDNS service ID.
dns_toplevel
Lists available top-level domains filtered by the account's membership level.
No parameters.

dns_getroot
Resolves the root (apex) domain for any hostname.
ParameterTypeRequiredDescription
hostnamestringYesHostname to resolve (e.g. sub.example.com).
dns_record_query
Queries a specific DNS record type for a hostname.
ParameterTypeRequiredDescription
hostnamestringYesHostname to query.
recordTypestringYesRecord type: A, AAAA, MX, CNAME, TXT, etc.
dns_ipupdatehistory
Returns the IP update history for the account (requires membership).
No parameters.

dns_dnssec_get / dns_dnssec_enable / dns_dnssec_disable
Get, enable, or disable DNSSEC for a DNS service (premium domains only).
ParameterTypeRequiredDescription
idintegerYesDNS service ID.
dns_group_list
Lists DNS groups / access controls for a service.
ParameterTypeRequiredDescription
idintegerYesDNS service ID.
dns_group_create
Creates a DNS group for a service.
ParameterTypeRequiredDescription
idintegerYesDNS service ID.
namestringYesGroup name.
dns_group_update
Updates a DNS group name.
ParameterTypeRequiredDescription
idintegerYesDNS service ID.
groupIdintegerYesGroup ID.
namestringNoNew group name.
dns_group_delete
Deletes a DNS group.
ParameterTypeRequiredDescription
groupIdintegerYesGroup ID.

Web Redirect


webredirect_list
Lists all web redirects for a DNS service.
ParameterTypeRequiredDescription
idintegerYesDNS service ID.
webredirect_get
Returns details of a specific web redirect.
ParameterTypeRequiredDescription
idintegerYesDNS service ID.
webredirectIdintegerYesWeb redirect ID.
webredirect_create
Creates a web redirect for a DNS service.
ParameterTypeRequiredDescription
idintegerYesDNS service ID.
urlstringYesDestination URL.
redirectTypestringNoRedirect type: redirect, cloakedredirect, or iframe.
webredirect_update
Updates a web redirect.
ParameterTypeRequiredDescription
idintegerYesDNS service ID.
webredirectIdintegerYesWeb redirect ID.
urlstringNoNew destination URL.
redirectTypestringNoRedirect type: redirect, cloakedredirect, or iframe.
webredirect_delete
Deletes a web redirect.
ParameterTypeRequiredDescription
idintegerYesDNS service ID.
webredirectIdintegerYesWeb redirect ID.

Domain


domain_list
Returns all registered domains for the account.
No parameters.

domain_get
Returns details of a specific registered domain.
ParameterTypeRequiredDescription
idintegerYesDomain ID.
domain_autorenewenable / domain_autorenewdisable
Enable or disable automatic renewal for a domain.
ParameterTypeRequiredDescription
idintegerYesDomain ID.
domain_lock / domain_unlock
Lock or unlock a domain to prevent or permit transfers.
ParameterTypeRequiredDescription
idintegerYesDomain ID.
domain_cancel
Cancels a domain service.
ParameterTypeRequiredDescription
idintegerYesDomain ID.
domain_nameserver_list
Lists nameservers for a domain.
ParameterTypeRequiredDescription
idintegerYesDomain ID.
domain_nameserver_add
Adds a nameserver to a domain.
ParameterTypeRequiredDescription
idintegerYesDomain ID.
nameserverstringYesNameserver hostname to add.
domain_nameserver_primary
Sets the primary nameserver for a domain.
ParameterTypeRequiredDescription
idintegerYesDomain ID.
nameserverstringYesNameserver hostname to set as primary.
domain_nameserver_delete
Removes a nameserver from a domain.
ParameterTypeRequiredDescription
idintegerYesDomain ID.
nameserverstringYesNameserver hostname to remove.

Email


email_list
Returns all email services for the account.
No parameters.

email_get
Returns details of a specific email service.
ParameterTypeRequiredDescription
idintegerYesEmail service ID.
email_update
Updates email service settings.
ParameterTypeRequiredDescription
idintegerYesEmail service ID.
email_account_list
Lists all email accounts for a service.
ParameterTypeRequiredDescription
idintegerYesEmail service ID.
email_account_get
Returns details of a specific email account.
ParameterTypeRequiredDescription
idintegerYesEmail service ID.
accountIdintegerYesAccount ID.
email_account_create
Creates a new email account.
ParameterTypeRequiredDescription
idintegerYesEmail service ID.
usernamestringYesAccount username.
passwordstringYesAccount password.
forwardTostringNoForward-to address.
email_account_update
Updates an email account's password or forwarding address.
ParameterTypeRequiredDescription
idintegerYesEmail service ID.
accountIdintegerYesAccount ID.
passwordstringNoNew password.
forwardTostringNoNew forward-to address.
email_account_delete
Deletes an email account.
ParameterTypeRequiredDescription
idintegerYesEmail service ID.
accountIdintegerYesAccount ID.
email_alias_list
Lists all email aliases for a service.
ParameterTypeRequiredDescription
idintegerYesEmail service ID.
email_alias_get
Returns details of a specific email alias.
ParameterTypeRequiredDescription
idintegerYesEmail service ID.
aliasIdintegerYesAlias ID.
email_alias_create
Creates an email alias.
ParameterTypeRequiredDescription
idintegerYesEmail service ID.
aliasstringYesAlias address (e.g. info@example.com).
forwardTostringYesForward-to address.
email_alias_update
Updates an email alias.
ParameterTypeRequiredDescription
idintegerYesEmail service ID.
aliasIdintegerYesAlias ID.
aliasstringNoNew alias address.
forwardTostringNoNew forward-to address.
email_alias_delete
Deletes an email alias.
ParameterTypeRequiredDescription
idintegerYesEmail service ID.
aliasIdintegerYesAlias ID.
email_distributionlist_list
Lists all distribution lists for a service.
ParameterTypeRequiredDescription
idintegerYesEmail service ID.
email_distributionlist_get
Returns details of a specific distribution list.
ParameterTypeRequiredDescription
idintegerYesEmail service ID.
distributionlistIdintegerYesDistribution list ID.
email_distributionlist_create
Creates a distribution list.
ParameterTypeRequiredDescription
idintegerYesEmail service ID.
namestringYesDistribution list name.
addressstringYesList email address.
email_distributionlist_update
Updates a distribution list.
ParameterTypeRequiredDescription
idintegerYesEmail service ID.
distributionlistIdintegerYesDistribution list ID.
namestringNoNew list name.
email_distributionlist_delete
Deletes a distribution list.
ParameterTypeRequiredDescription
idintegerYesEmail service ID.
distributionlistIdintegerYesDistribution list ID.
email_distributionlist_recipient_list
Lists recipients of a distribution list.
ParameterTypeRequiredDescription
idintegerYesEmail service ID.
distributionlistIdintegerYesDistribution list ID.
email_distributionlist_recipient_create
Adds a recipient to a distribution list.
ParameterTypeRequiredDescription
idintegerYesEmail service ID.
distributionlistIdintegerYesDistribution list ID.
addressstringYesRecipient email address.
email_distributionlist_recipient_delete
Removes a recipient from a distribution list.
ParameterTypeRequiredDescription
idintegerYesEmail service ID.
distributionlistIdintegerYesDistribution list ID.
recipientIdintegerYesRecipient ID.
email_blacklist_list / email_whitelist_list
Lists blacklisted or whitelisted addresses for a service.
ParameterTypeRequiredDescription
idintegerYesEmail service ID.
email_blacklist_get / email_whitelist_get
Returns a specific blacklist or whitelist entry.
ParameterTypeRequiredDescription
idintegerYesEmail service ID.
blacklistId / whitelistIdintegerYesEntry ID.
email_blacklist_create / email_whitelist_create
Adds an address to the blacklist or whitelist.
ParameterTypeRequiredDescription
idintegerYesEmail service ID.
addressstringYesEmail address to add.
email_blacklist_update / email_whitelist_update
Updates a blacklist or whitelist entry.
ParameterTypeRequiredDescription
idintegerYesEmail service ID.
blacklistId / whitelistIdintegerYesEntry ID.
addressstringNoNew address value.
email_blacklist_delete / email_whitelist_delete
Removes an address from the blacklist or whitelist.
ParameterTypeRequiredDescription
idintegerYesEmail service ID.
blacklistId / whitelistIdintegerYesEntry ID.
email_dkim_get
Returns the DKIM configuration for a service.
ParameterTypeRequiredDescription
idintegerYesEmail service ID.
email_dkim_update
Updates the DKIM configuration for a service.
ParameterTypeRequiredDescription
idintegerYesEmail service ID.
email_autogeneratedkim_get
Returns the auto-generated DKIM DNS record for a service.
ParameterTypeRequiredDescription
idintegerYesEmail service ID.
email_dailylimit_get
Returns the daily send limit for a service.
ParameterTypeRequiredDescription
idintegerYesEmail service ID.
email_deliveryqueue_get
Returns the delivery queue status for a service.
ParameterTypeRequiredDescription
idintegerYesEmail service ID.

Monitor


monitor_list
Returns all uptime monitors for the account.
No parameters.

monitor_get
Returns details of a specific monitor.
ParameterTypeRequiredDescription
idintegerYesMonitor ID.
monitor_create
Creates a new uptime monitor.
ParameterTypeRequiredDescription
monitorTypestringYesMonitor type: DNS, HTTP, KEYWORD, PING, or PORT.
namestringYesMonitor display name.
checkIntervalintegerNoCheck interval in seconds.
hoststringNoHostname or IP (DNS, PING, PORT monitor types).
portintegerNoPort number (PORT monitor type only).
urlstringNoURL to monitor (HTTP, KEYWORD monitor types).
keywordstringNoKeyword to look for in the response (KEYWORD monitor type).
keywordExistsbooleanNoTrue if keyword should exist; false if it should not.
monitor_delete
Permanently deletes a monitor.
ParameterTypeRequiredDescription
idintegerYesMonitor ID.
monitor_pause / monitor_unpause
Pause or resume a monitor.
ParameterTypeRequiredDescription
idintegerYesMonitor ID.
monitor_limit
Returns monitor limits for the account.
No parameters.

Troubleshooting

401 Unauthorized

Corporate membership required

OAuth authorization fails (ChatGPT)

Tools not showing in your AI client

Protocol or parse errors

Required parameter missing

API Reference

The MCP server implements the MCP specification (2025-03-26) using Streamable HTTP transport over a single POST /mcp endpoint with JSON-RPC 2.0.

Endpoint
POST https://api.dynu.com/mcp

Authentication
Pass your API key directly in the Authorization header, or use a Bearer token obtained via OAuth 2.1:

API key Authorization: YOUR_API_KEY
OAuth token Authorization: Bearer YOUR_BEARER_TOKEN

OAuth 2.1 Endpoints
Authorize GET https://api.dynu.com/mcp/oauth/authorize
Token POST https://api.dynu.com/mcp/oauth/token
Register POST https://api.dynu.com/mcp/oauth/register

The authorization code flow requires PKCE (S256 or plain). Client credentials flow uses HTTP Basic authentication with your clientId and secret from the API Credentials area. Bearer tokens expire after 8 hours (expires_in: 28800).

Loading...