nextdns-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| NEXTDNS_API_KEY | No | Your NextDNS API key | |
| NEXTDNS_READ_ONLY | No | Set to 'true' to enable read-only mode | |
| NEXTDNS_API_KEY_FILE | No | Path to a file containing the API key | |
| NEXTDNS_TEST_PROFILE | No | Profile ID for write operation tests | |
| NEXTDNS_DEFAULT_PROFILE | No | Optional default profile ID | |
| NEXTDNS_READABLE_PROFILES | No | Comma-separated list of readable profiles | |
| NEXTDNS_WRITABLE_PROFILES | No | Comma-separated list of writable profiles |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| dohLookupA | Perform a DNS-over-HTTPS lookup using a NextDNS profile. This tool performs a DNS query through NextDNS's DoH endpoint, allowing you to test how a specific profile would resolve a domain name. This is useful for:
|
| listProfilesA | Retrieves a list of all NextDNS profiles accessible with the provided API key. |
| createProfileB | Creates a new NextDNS profile with the specified configuration. |
| getProfileA | Retrieves detailed information about a specific profile. |
| deleteProfileA | DANGER: Permanently deletes a NextDNS profile and all its configuration. This action is irreversible. The profile and all its settings, lists, and analytics data will be permanently removed. Safety Warning: Only delete profiles that you own and are certain you want to remove. |
| updateProfileC | Updates profile properties such as name and configuration. |
| getSettingsB | Retrieves the configuration settings for a profile. |
| updateSettingsC | Updates configuration settings for a profile. Only provided fields will be updated. Safety Note: Only use with designated test profiles. |
| getLogsSettingsA | Retrieves log retention and configuration settings. |
| updateLogsSettingsC | Updates log retention period and configuration. |
| getBlockPageSettingsB | Retrieves block page configuration. |
| updateBlockPageSettingsC | Enables or disables the block page for blocked domains. |
| getPerformanceSettingsB | Retrieves performance optimization settings. |
| updatePerformanceSettingsC | Updates performance optimization configuration. |
| getAnalyticsStatusB | Retrieves analytics data about DNS query response status codes. |
| getAnalyticsStatusSeriesA | Retrieves time-series analytics data about DNS query response status codes for charting. |
| getAnalyticsDomainsC | Retrieves statistics about the most queried domains. |
| getAnalyticsQueryTypesB | Retrieves statistics about DNS query types (A, AAAA, CNAME, etc). |
| getAnalyticsQueryTypesSeriesB | Retrieves time-series statistics about DNS query types for charting. |
| getAnalyticsReasonsC | Retrieves statistics about why queries were blocked. |
| getAnalyticsReasonsSeriesA | Retrieves time-series statistics about why queries were blocked for charting. |
| getAnalyticsIPsC | Retrieves statistics about client IP addresses. |
| getAnalyticsIPsSeriesB | Retrieves time-series statistics about client IP addresses for charting. |
| getAnalyticsDNSSECC | Retrieves statistics about DNSSEC validation. |
| getAnalyticsDNSSECSeriesA | Retrieves time-series statistics about DNSSEC validation for charting. |
| getAnalyticsEncryptionB | Retrieves statistics about encrypted vs unencrypted queries. |
| getAnalyticsEncryptionSeriesA | Retrieves time-series statistics about encrypted vs unencrypted queries for charting. |
| getAnalyticsIPVersionsB | Retrieves statistics about IPv4 vs IPv6 usage. |
| getAnalyticsIPVersionsSeriesB | Retrieves time-series statistics about IPv4 vs IPv6 usage for charting. |
| getAnalyticsProtocolsB | Retrieves statistics about DNS protocol usage (DoH, DoT, DoQ, UDP, TCP). |
| getAnalyticsProtocolsSeriesA | Retrieves time-series statistics about DNS protocol usage for charting. |
| getAnalyticsDestinationsC | Retrieves the most queried destination domains. |
| getAnalyticsDestinationsSeriesA | Retrieves time-series statistics for the most queried destination domains for charting. |
| getAnalyticsDevicesC | Retrieves query statistics by device. |
| getAnalyticsDevicesSeriesB | Retrieves time-series query statistics by device for charting. |
| getDenylistB | Retrieves all domains in the profile's denylist. |
| replaceDenylistA | Replaces the entire denylist with the provided list of domains. Warning: This operation removes all existing entries and replaces them. Safety Note: Only use with designated test profiles. |
| addToDenylistA | Adds a domain to the profile's denylist (blocks the domain). Safety Note: Only use with designated test profiles. |
| removeFromDenylistA | Removes a domain from the profile's denylist. Safety Note: Only use with designated test profiles. |
| updateDenylistEntryA | Updates properties of a denylist entry (e.g., enable/disable). Safety Note: Only use with designated test profiles. |
| getAllowlistA | Retrieves all domains in the profile's allowlist. |
| replaceAllowlistA | Replaces the entire allowlist with the provided list of domains. Warning: This operation removes all existing entries and replaces them. Safety Note: Only use with designated test profiles. |
| addToAllowlistA | Adds a domain to the profile's allowlist (bypasses all blocking for the domain). Safety Note: Only use with designated test profiles. |
| removeFromAllowlistB | Removes a domain from the profile's allowlist. Safety Note: Only use with designated test profiles. |
| updateAllowlistEntryA | Updates properties of an allowlist entry (e.g., enable/disable). Safety Note: Only use with designated test profiles. |
| getParentalControlServicesB | Retrieves blocked services (e.g., TikTok, Facebook, etc.). |
| replaceParentalControlServicesA | Replaces the entire list of blocked services. |
| addToParentalControlServicesA | Adds a service to the parental control blocklist. Safety Note: Only use with designated test profiles. |
| removeFromParentalControlServicesC | Removes a service from the parental control blocklist. Safety Note: Only use with designated test profiles. |
| updateParentalControlServiceEntryA | Updates properties of a parental control service entry (e.g., enable/disable). Safety Note: Only use with designated test profiles. |
| getParentalControlCategoriesB | Retrieves blocked content categories (e.g., gambling, adult content, etc.). |
| replaceParentalControlCategoriesC | Replaces the entire list of blocked categories. |
| addToParentalControlCategoriesA | Adds a category to the parental control blocklist. Safety Note: Only use with designated test profiles. |
| removeFromParentalControlCategoriesB | Removes a category from the parental control blocklist. Safety Note: Only use with designated test profiles. |
| updateParentalControlCategoryEntryC | Updates properties of a parental control category entry (e.g., enable/disable). Safety Note: Only use with designated test profiles. |
| getSecuritySettingsA | Retrieves security configuration including threat blocking and DNSSEC. |
| updateSecuritySettingsC | Updates security configuration options. |
| getPrivacySettingsC | Retrieves privacy protection configuration. |
| updatePrivacySettingsC | Updates privacy protection options. |
| getParentalControlSettingsC | Retrieves parental control configuration. |
| updateParentalControlSettingsC | Updates parental control configuration options. |
| getSecurityTLDsA | Retrieves the list of top-level domains blocked for security reasons. |
| replaceSecurityTLDsA | Replaces the entire security TLD blocklist with the provided list. Warning: This operation removes all existing entries and replaces them. Safety Note: Only use with designated test profiles. |
| addSecurityTLDB | Adds a top-level domain to the security blocklist. Safety Note: Only use with designated test profiles. |
| removeSecurityTLDA | Removes a top-level domain from the security blocklist. Safety Note: Only use with designated test profiles. |
| getPrivacyBlocklistsA | Retrieves the list of privacy protection blocklists enabled for the profile. |
| replacePrivacyBlocklistsA | Replaces the entire privacy blocklists collection with the provided list. Warning: This operation removes all existing entries and replaces them. Safety Note: Only use with designated test profiles. |
| addPrivacyBlocklistB | Adds a privacy protection blocklist to the profile. Safety Note: Only use with designated test profiles. |
| removePrivacyBlocklistA | Removes a privacy protection blocklist from the profile. Safety Note: Only use with designated test profiles. |
| getPrivacyNativesB | Retrieves the list of native tracking protection blockers enabled for the profile. |
| replacePrivacyNativesA | Replaces the entire native tracking protection collection with the provided list. Warning: This operation removes all existing entries and replaces them. Safety Note: Only use with designated test profiles. |
| addPrivacyNativeA | Adds a native tracking protection blocker to the profile (e.g., Alexa, Roku, Samsung, etc.). Safety Note: Only use with designated test profiles. |
| removePrivacyNativeC | Removes a native tracking protection blocker from the profile. Safety Note: Only use with designated test profiles. |
| getLogsA | Retrieves DNS query logs for a profile with filtering and pagination support. Supports filtering by date range, device, status, and text search. |
| clearLogsA | WARNING: Permanently deletes all query logs for this profile. This action cannot be undone. Use with caution. Safety Note: Only use with designated test profiles. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/dmeiser/nextdns-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server