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"
]
}
}
}
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).
List all DNS services (hostnames and domains).
dns_get
Get a DNS service by ID.
Get a DNS service by ID.
dns_create
Create a new DNS service.
Create a new DNS service.
dns_update
Update a DNS service's IP address or TTL.
Update a DNS service's IP address or TTL.
dns_delete
Delete a DNS service.
Delete a DNS service.
dns_record_list
List all DNS records for a service.
List all DNS records for a service.
dns_record_get
Get a specific DNS record.
Get a specific DNS record.
dns_record_create
Add a DNS record (A, AAAA, MX, CNAME, TXT, NS, SRV, CAA, etc.) to a service.
Add a DNS record (A, AAAA, MX, CNAME, TXT, NS, SRV, CAA, etc.) to a service.
dns_record_update
Update an existing DNS record.
Update an existing DNS record.
dns_record_delete
Delete a DNS record.
Delete a DNS record.
dns_record_enable
Enable a DNS record.
Enable a DNS record.
dns_record_disable
Disable a DNS record.
Disable a DNS record.
dns_limit
Get global DNS limits for the account.
Get global DNS limits for the account.
dns_service_limit
Get DNS record limits for a specific service.
Get DNS record limits for a specific service.
dns_toplevel
List available top-level domains filtered by membership level.
List available top-level domains filtered by membership level.
dns_getroot
Resolve the root domain for a given hostname.
Resolve the root domain for a given hostname.
dns_record_query
Query a specific DNS record type for a hostname.
Query a specific DNS record type for a hostname.
dns_ipupdatehistory
Get IP update history for the account.
Get IP update history for the account.
dns_dnssec_get
Get DNSSEC status for a DNS service.
Get DNSSEC status for a DNS service.
dns_dnssec_enable
Enable DNSSEC for a DNS service.
Enable DNSSEC for a DNS service.
dns_dnssec_disable
Disable DNSSEC for a DNS service.
Disable DNSSEC for a DNS service.
dns_group_list
List DNS groups / access controls for a service.
List DNS groups / access controls for a service.
dns_group_create
Create a DNS group for a service.
Create a DNS group for a service.
dns_group_update
Update a DNS group name.
Update a DNS group name.
dns_group_delete
Delete a DNS group.
Delete a DNS group.
Web Redirect
webredirect_list
List web redirects for a DNS service.
List web redirects for a DNS service.
webredirect_get
Get a specific web redirect.
Get a specific web redirect.
webredirect_create
Create a web redirect (redirect, cloakedredirect, or iframe).
Create a web redirect (redirect, cloakedredirect, or iframe).
webredirect_update
Update a web redirect destination or type.
Update a web redirect destination or type.
webredirect_delete
Delete a web redirect.
Delete a web redirect.
Domain
domain_list
List all registered domains.
List all registered domains.
domain_get
Get a registered domain by ID.
Get a registered domain by ID.
domain_autorenewenable
Enable auto-renewal for a domain.
Enable auto-renewal for a domain.
domain_autorenewdisable
Disable auto-renewal for a domain.
Disable auto-renewal for a domain.
domain_lock
Lock a domain to prevent unauthorized transfers.
Lock a domain to prevent unauthorized transfers.
domain_unlock
Unlock a domain.
Unlock a domain.
domain_cancel
Cancel a domain service.
Cancel a domain service.
domain_nameserver_list
List nameservers for a domain.
List nameservers for a domain.
domain_nameserver_add
Add a nameserver to a domain.
Add a nameserver to a domain.
domain_nameserver_primary
Set the primary nameserver for a domain.
Set the primary nameserver for a domain.
domain_nameserver_delete
Remove a nameserver from a domain.
Remove a nameserver from a domain.
email_list
List all email services.
List all email services.
email_get
Get an email service by ID.
Get an email service by ID.
email_update
Update email service settings.
Update email service settings.
email_account_list
List email accounts for a service.
List email accounts for a service.
email_account_get
Get a specific email account.
Get a specific email account.
email_account_create
Create an email account.
Create an email account.
email_account_update
Update an email account's password or forwarding address.
Update an email account's password or forwarding address.
email_account_delete
Delete an email account.
Delete an email account.
email_alias_list
List email aliases for a service.
List email aliases for a service.
email_alias_get
Get a specific email alias.
Get a specific email alias.
email_alias_create
Create an email alias with a forward-to address.
Create an email alias with a forward-to address.
email_alias_update
Update an email alias.
Update an email alias.
email_alias_delete
Delete an email alias.
Delete an email alias.
email_distributionlist_list
List distribution lists for a service.
List distribution lists for a service.
email_distributionlist_get
Get a specific distribution list.
Get a specific distribution list.
email_distributionlist_create
Create a distribution list.
Create a distribution list.
email_distributionlist_update
Update a distribution list name.
Update a distribution list name.
email_distributionlist_delete
Delete a distribution list.
Delete a distribution list.
email_distributionlist_recipient_list
List recipients of a distribution list.
List recipients of a distribution list.
email_distributionlist_recipient_create
Add a recipient to a distribution list.
Add a recipient to a distribution list.
email_distributionlist_recipient_delete
Remove a recipient from a distribution list.
Remove a recipient from a distribution list.
email_blacklist_list
List blacklisted addresses for a service.
List blacklisted addresses for a service.
email_blacklist_get
Get a specific blacklist entry.
Get a specific blacklist entry.
email_blacklist_create
Add an address to the blacklist.
Add an address to the blacklist.
email_blacklist_update
Update a blacklist entry.
Update a blacklist entry.
email_blacklist_delete
Remove an address from the blacklist.
Remove an address from the blacklist.
email_whitelist_list
List whitelisted addresses for a service.
List whitelisted addresses for a service.
email_whitelist_get
Get a specific whitelist entry.
Get a specific whitelist entry.
email_whitelist_create
Add an address to the whitelist.
Add an address to the whitelist.
email_whitelist_update
Update a whitelist entry.
Update a whitelist entry.
email_whitelist_delete
Remove an address from the whitelist.
Remove an address from the whitelist.
email_dkim_get
Get DKIM configuration for a service.
Get DKIM configuration for a service.
email_dkim_update
Update DKIM configuration for a service.
Update DKIM configuration for a service.
email_autogeneratedkim_get
Get the auto-generated DKIM record for a service.
Get the auto-generated DKIM record for a service.
email_dailylimit_get
Get the daily send limit for a service.
Get the daily send limit for a service.
email_deliveryqueue_get
Get the delivery queue status for a service.
Get the delivery queue status for a service.
Monitor
monitor_list
List all uptime monitors.
List all uptime monitors.
monitor_get
Get a monitor by ID.
Get a monitor by ID.
monitor_create
Create a new monitor (DNS, HTTP, KEYWORD, PING, or PORT).
Create a new monitor (DNS, HTTP, KEYWORD, PING, or PORT).
monitor_delete
Delete a monitor.
Delete a monitor.
monitor_pause
Pause a monitor (stop checks).
Pause a monitor (stop checks).
monitor_unpause
Resume a paused monitor.
Resume a paused monitor.
monitor_limit
Get monitor limits for the account.
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.
| Parameter | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | DNS service ID. |
Creates a new DNS service (hostname).
| Parameter | Type | Required | Description |
|---|---|---|---|
hostname | string | Yes | Hostname to create (e.g. home.example.com). |
ipv4Address | string | No | IPv4 address to assign. |
ipv6Address | string | No | IPv6 address to assign. |
Updates a DNS service's IP address or TTL.
| Parameter | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | DNS service ID. |
ipv4Address | string | No | New IPv4 address. |
ipv6Address | string | No | New IPv6 address. |
ttl | integer | No | TTL in seconds. |
Permanently deletes a DNS service.
| Parameter | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | DNS service ID. |
Lists all DNS records for a service.
| Parameter | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | DNS service ID. |
Returns details of a specific DNS record.
| Parameter | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | DNS service ID. |
recordId | integer | Yes | DNS record ID. |
Adds a new DNS record to a service.
| Parameter | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | DNS service ID. |
recordType | string | Yes | Record type: A, AAAA, MX, CNAME, TXT, NS, SRV, CAA, etc. |
nodeName | string | No | Subdomain or @ for root. |
content | string | No | Record value — IP, hostname, or text depending on type. |
ttl | integer | No | TTL in seconds. |
priority | integer | No | Priority (MX/SRV records only). |
state | boolean | No | Enable the record (default: true). |
Updates an existing DNS record.
| Parameter | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | DNS service ID. |
recordId | integer | Yes | DNS record ID. |
nodeName | string | No | Subdomain or @ for root. |
content | string | No | New record value. |
ttl | integer | No | TTL in seconds. |
priority | integer | No | Priority (MX/SRV records only). |
state | boolean | No | Enable or disable the record. |
| Parameter | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | DNS service ID. |
recordId | integer | Yes | DNS record ID. |
Returns global DNS limits for the account.
No parameters.
dns_service_limit
Returns DNS record limits for a specific service.
| Parameter | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | DNS service ID. |
Lists available top-level domains filtered by the account's membership level.
No parameters.
dns_getroot
Resolves the root (apex) domain for any hostname.
| Parameter | Type | Required | Description |
|---|---|---|---|
hostname | string | Yes | Hostname to resolve (e.g. sub.example.com). |
Queries a specific DNS record type for a hostname.
| Parameter | Type | Required | Description |
|---|---|---|---|
hostname | string | Yes | Hostname to query. |
recordType | string | Yes | Record type: A, AAAA, MX, CNAME, TXT, etc. |
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).
| Parameter | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | DNS service ID. |
Lists DNS groups / access controls for a service.
| Parameter | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | DNS service ID. |
Creates a DNS group for a service.
| Parameter | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | DNS service ID. |
name | string | Yes | Group name. |
Updates a DNS group name.
| Parameter | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | DNS service ID. |
groupId | integer | Yes | Group ID. |
name | string | No | New group name. |
Deletes a DNS group.
| Parameter | Type | Required | Description |
|---|---|---|---|
groupId | integer | Yes | Group ID. |
Web Redirect
webredirect_list
Lists all web redirects for a DNS service.
| Parameter | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | DNS service ID. |
Returns details of a specific web redirect.
| Parameter | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | DNS service ID. |
webredirectId | integer | Yes | Web redirect ID. |
Creates a web redirect for a DNS service.
| Parameter | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | DNS service ID. |
url | string | Yes | Destination URL. |
redirectType | string | No | Redirect type: redirect, cloakedredirect, or iframe. |
Updates a web redirect.
| Parameter | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | DNS service ID. |
webredirectId | integer | Yes | Web redirect ID. |
url | string | No | New destination URL. |
redirectType | string | No | Redirect type: redirect, cloakedredirect, or iframe. |
Deletes a web redirect.
| Parameter | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | DNS service ID. |
webredirectId | integer | Yes | Web redirect ID. |
Domain
domain_list
Returns all registered domains for the account.
No parameters.
domain_get
Returns details of a specific registered domain.
| Parameter | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | Domain ID. |
Enable or disable automatic renewal for a domain.
| Parameter | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | Domain ID. |
Lock or unlock a domain to prevent or permit transfers.
| Parameter | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | Domain ID. |
Cancels a domain service.
| Parameter | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | Domain ID. |
Lists nameservers for a domain.
| Parameter | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | Domain ID. |
Adds a nameserver to a domain.
| Parameter | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | Domain ID. |
nameserver | string | Yes | Nameserver hostname to add. |
Sets the primary nameserver for a domain.
| Parameter | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | Domain ID. |
nameserver | string | Yes | Nameserver hostname to set as primary. |
Removes a nameserver from a domain.
| Parameter | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | Domain ID. |
nameserver | string | Yes | Nameserver hostname to remove. |
email_list
Returns all email services for the account.
No parameters.
email_get
Returns details of a specific email service.
| Parameter | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | Email service ID. |
Updates email service settings.
| Parameter | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | Email service ID. |
Lists all email accounts for a service.
| Parameter | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | Email service ID. |
Returns details of a specific email account.
| Parameter | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | Email service ID. |
accountId | integer | Yes | Account ID. |
Creates a new email account.
| Parameter | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | Email service ID. |
username | string | Yes | Account username. |
password | string | Yes | Account password. |
forwardTo | string | No | Forward-to address. |
Updates an email account's password or forwarding address.
| Parameter | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | Email service ID. |
accountId | integer | Yes | Account ID. |
password | string | No | New password. |
forwardTo | string | No | New forward-to address. |
Deletes an email account.
| Parameter | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | Email service ID. |
accountId | integer | Yes | Account ID. |
Lists all email aliases for a service.
| Parameter | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | Email service ID. |
Returns details of a specific email alias.
| Parameter | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | Email service ID. |
aliasId | integer | Yes | Alias ID. |
Creates an email alias.
| Parameter | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | Email service ID. |
alias | string | Yes | Alias address (e.g. info@example.com). |
forwardTo | string | Yes | Forward-to address. |
Updates an email alias.
| Parameter | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | Email service ID. |
aliasId | integer | Yes | Alias ID. |
alias | string | No | New alias address. |
forwardTo | string | No | New forward-to address. |
Deletes an email alias.
| Parameter | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | Email service ID. |
aliasId | integer | Yes | Alias ID. |
Lists all distribution lists for a service.
| Parameter | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | Email service ID. |
Returns details of a specific distribution list.
| Parameter | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | Email service ID. |
distributionlistId | integer | Yes | Distribution list ID. |
Creates a distribution list.
| Parameter | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | Email service ID. |
name | string | Yes | Distribution list name. |
address | string | Yes | List email address. |
Updates a distribution list.
| Parameter | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | Email service ID. |
distributionlistId | integer | Yes | Distribution list ID. |
name | string | No | New list name. |
Deletes a distribution list.
| Parameter | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | Email service ID. |
distributionlistId | integer | Yes | Distribution list ID. |
Lists recipients of a distribution list.
| Parameter | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | Email service ID. |
distributionlistId | integer | Yes | Distribution list ID. |
Adds a recipient to a distribution list.
| Parameter | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | Email service ID. |
distributionlistId | integer | Yes | Distribution list ID. |
address | string | Yes | Recipient email address. |
Removes a recipient from a distribution list.
| Parameter | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | Email service ID. |
distributionlistId | integer | Yes | Distribution list ID. |
recipientId | integer | Yes | Recipient ID. |
Lists blacklisted or whitelisted addresses for a service.
| Parameter | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | Email service ID. |
Returns a specific blacklist or whitelist entry.
| Parameter | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | Email service ID. |
blacklistId / whitelistId | integer | Yes | Entry ID. |
Adds an address to the blacklist or whitelist.
| Parameter | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | Email service ID. |
address | string | Yes | Email address to add. |
Updates a blacklist or whitelist entry.
| Parameter | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | Email service ID. |
blacklistId / whitelistId | integer | Yes | Entry ID. |
address | string | No | New address value. |
Removes an address from the blacklist or whitelist.
| Parameter | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | Email service ID. |
blacklistId / whitelistId | integer | Yes | Entry ID. |
Returns the DKIM configuration for a service.
| Parameter | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | Email service ID. |
Updates the DKIM configuration for a service.
| Parameter | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | Email service ID. |
Returns the auto-generated DKIM DNS record for a service.
| Parameter | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | Email service ID. |
Returns the daily send limit for a service.
| Parameter | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | Email service ID. |
Returns the delivery queue status for a service.
| Parameter | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | Email service ID. |
Monitor
monitor_list
Returns all uptime monitors for the account.
No parameters.
monitor_get
Returns details of a specific monitor.
| Parameter | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | Monitor ID. |
Creates a new uptime monitor.
| Parameter | Type | Required | Description |
|---|---|---|---|
monitorType | string | Yes | Monitor type: DNS, HTTP, KEYWORD, PING, or PORT. |
name | string | Yes | Monitor display name. |
checkInterval | integer | No | Check interval in seconds. |
host | string | No | Hostname or IP (DNS, PING, PORT monitor types). |
port | integer | No | Port number (PORT monitor type only). |
url | string | No | URL to monitor (HTTP, KEYWORD monitor types). |
keyword | string | No | Keyword to look for in the response (KEYWORD monitor type). |
keywordExists | boolean | No | True if keyword should exist; false if it should not. |
Permanently deletes a monitor.
| Parameter | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | Monitor ID. |
Pause or resume a monitor.
| Parameter | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | Monitor ID. |
Returns monitor limits for the account.
No parameters.
Troubleshooting
401 Unauthorized
- Verify your API key is correct and active in the API Credentials area.
- Make sure the key is passed in the
Authorizationheader (raw key or withBearerprefix). - OAuth bearer tokens expire after 8 hours. Re-authenticate to obtain a fresh token.
Corporate membership required
- Most tools require a corporate membership. The
initialize,ping, andnotifications/initializedprotocol methods work without one. - Upgrade your account at dynu.com/Membership.
OAuth authorization fails (ChatGPT)
- Ensure Developer Mode is enabled in your ChatGPT settings (Pro, Plus, Team, Business, Enterprise, or Edu plans).
- Sign in using your Dynu username or email address and your Dynu account password on the authorization page.
- If the authorization page shows an error, verify your credentials in the Dynu Control Panel.
Tools not showing in your AI client
- Restart the AI client after editing the MCP configuration.
- Verify the URL is exactly
https://api.dynu.com/mcp. - Test the endpoint with a cURL
initializecall (see Testing with cURL above) to confirm connectivity and that your API key is accepted.
Protocol or parse errors
- All requests must use
Content-Type: application/json. - The
jsonrpcfield must be exactly"2.0". - Tool arguments must match the expected types; passing a string where an integer is required will return a
-32602 Invalid paramserror.
Required parameter missing
- If a required parameter such as
idorrecordIdis absent, the server returns a-32602 Invalid paramserror with a message identifying the missing field. - Use
dns_list,domain_list,email_list, ormonitor_listto discover the IDs of your resources.
API Reference
The MCP server implements the MCP specification (2025-03-26) using Streamable HTTP transport over a singlePOST /mcp endpoint with JSON-RPC 2.0.Endpoint
POST
https://api.dynu.com/mcpAuthentication
Pass your API key directly in the
Authorization header, or use a Bearer token obtained via OAuth 2.1:API key
Authorization: YOUR_API_KEYOAuth token
Authorization: Bearer YOUR_BEARER_TOKENOAuth 2.1 Endpoints
Authorize
GET https://api.dynu.com/mcp/oauth/authorizeToken
POST https://api.dynu.com/mcp/oauth/tokenRegister
POST https://api.dynu.com/mcp/oauth/registerThe 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).