# Nextdns — MCP server on mcp.ai > Connect your Nextdns account and use 68 tools for security and identity straight from your AI agent. Connect with your own API key. NextDNS is a DNS service that enhances internet security and privacy by blocking malicious websites, tracking scripts, and ads before they reach your device. By: mcp.ai · official Page: https://mcp.ai/nextdns ## Connect (MCP protocol) Remote MCP endpoint (HTTP, streamable): https://api.mcp.ai/p_nextdns?ms=1787296080000 Add it as a custom/remote MCP connector, then authenticate when prompted. ## REST API (no MCP client required) Every tool is also a REST endpoint, authed with a workspace API key. Discover: GET https://api.mcp.ai/api/nextdns/_endpoints # public; lists every endpoint Call: POST https://api.mcp.ai/api/nextdns/ Authorization: Bearer sk_live_… # create one at https://mcp.ai/settings/api-keys Content-Type: application/json Body: { …args } → { "ok": true, "tool": "", "result": { … } } ## Developer docs How to use (MCP or REST), markdown: https://mcp.ai/nextdns/skill.md Postman collection (v2.1): https://mcp.ai/nextdns/postman.json ## Tools - nextdns_add_allowlist_entry(active?: boolean, domain: string, profile: string) — Tool to add a domain to the allowlist of a NextDNS profile. Use when allowing specific domains under a profile after obtaining its ID. - nextdns_add_blocked_tld(tld: string, config: string) — Tool to add a top-level domain to the security blocklist for a NextDNS profile. Use after listing current security settings to ensure the TLD is not already blocked. - nextdns_add_denylist_domain(active?: boolean, config: string, domain: string) — Tool to add a domain to the denylist of a NextDNS profile. Use when blocking specific domains under a profile after obtaining its ID. - nextdns_add_parental_control_category(active?: boolean, profile: string, category_id: string) — Tool to add a content category to the parental control categories list. Use when you need to add a new category to block or allow specific content types like pornography, gambling, or social networks. - nextdns_add_parental_control_service(id: string, active?: boolean, profile: string) — Tool to add a service to the parental control services list of a NextDNS profile. Use when blocking specific services (like social media platforms) under a profile. - nextdns_add_privacy_blocklist(id: string, config: string) — Tool to add a blocklist to the privacy blocklists for a NextDNS profile. Use when enabling additional privacy blocklists for a profile. - nextdns_add_privacy_native(id: string, profile: string) — Tool to add a native tracking service to the blocked list for a NextDNS profile. Use when blocking native trackers from specific vendors. - nextdns_add_rewrite(name: string, content: string, profile: string) — Tool to add a DNS rewrite rule to a NextDNS profile. Use when you need to configure custom DNS resolution for specific domains. - nextdns_clear_logs(profile_id: string) — Tool to clear DNS logs for a NextDNS profile. Use when you want to remove all existing query logs for a given profile. Note: this operation cannot be undone. - nextdns_create_profile(name: string, privacy?: object, denylist?: object[], security?: object, settings?: object, allowlist?: object[], parentalControl?: object) — This tool allows users to create a new NextDNS profile. It uses the POST method at the endpoint https://api.nextdns.io/profiles. A profile is a distinct configuration set for DNS filtering and securit - nextdns_delete_allowlist_entry(domain: string, profile: string) — Tool to remove a domain from a NextDNS profile's allowlist. Use when you need to stop allowing a previously whitelisted domain. - nextdns_delete_config(profile: string) — Tool to delete a NextDNS configuration profile. Use when you need to remove an existing profile by its ID. Use after confirming the profile exists. - nextdns_delete_parental_control_category(profile: string, category_id: string) — Tool to remove a category from parental control blocked categories. Use when you need to unblock a content category that was previously blocked. Use 'Get Parental Control Categories' first to verify t - nextdns_delete_parental_control_service(profile: string, service_id: string) — Tool to remove a service from parental control blocked services. Use when you need to unblock a service (like TikTok, Instagram, or other apps) that was previously blocked. - nextdns_delete_privacy_blocklist(profile: string, blocklist_id: string) — Tool to remove a blocklist from the privacy blocklists for a NextDNS profile. Use when disabling or removing privacy blocklists from a profile. - nextdns_delete_privacy_native(profile: string, native_id: string) — Tool to remove a native tracking entry from a NextDNS profile's privacy settings. Use when you need to stop blocking a specific native app tracker (like Apple, Samsung, Huawei, etc.). - nextdns_delete_rewrite(profile: string, rewrite_id: string) — Tool to delete a DNS rewrite rule from a NextDNS profile. Use when you need to remove an existing DNS rewrite rule by its ID. - nextdns_download_logs(redirect?: boolean, profile_id: string) — Retrieves the download URL for exported DNS query logs from a NextDNS profile. Returns a time-limited URL pointing to a CSV file containing the profile's DNS logs. Use this to export log data for anal - nextdns_get_allowlist(profile: string) — Tool to retrieve the list of allowed domains for a NextDNS profile. Use when you need to view all domains currently whitelisted in a profile. - nextdns_get_analytics_destinations(type: string, limit?: integer, cursor?: string, device?: string, profile: string, to_date?: string, from_date?: string) — Tool to retrieve destination analytics for a profile showing query destinations by country or GAFAM company. Use when you need to understand geographic distribution or big tech company query patterns. - nextdns_get_analytics_devices2(limit?: integer, cursor?: string, device?: string, profile: string, to_date?: string, from_date?: string) — Tool to retrieve device analytics for a profile showing identified devices with names, models, and query counts. Use when you need per-device query metrics within a specific time frame. - nextdns_get_analytics_dnssec(limit?: integer, cursor?: string, device?: string, profile: string, to_date?: string, from_date?: string) — Tool to retrieve DNSSEC validation analytics for a profile showing validated vs non-validated query counts. Use after selecting a profile to analyze DNSSEC validation statistics. - nextdns_get_analytics_domains(root?: boolean, limit?: integer, cursor?: string, device?: string, status?: string, profile: string, to_date?: string, from_date?: string) — Tool to retrieve analytics data for domains within a specific profile. Use after confirming the profile ID to get per-domain query stats. - nextdns_get_analytics_encryption(to?: string, from?: string, limit?: integer, cursor?: string, device?: string, profile: string) — Tool to retrieve encryption analytics for a profile showing encrypted vs unencrypted query counts. Use when you need to understand the breakdown of DNS queries by encryption status (DoH/DoT vs plain D - nextdns_get_analytics_ip_versions(to?: string, from?: string, limit?: integer, cursor?: string, device?: string, profile: string) — Tool to retrieve analytics grouped by IP version within a specific profile. Use after you have a profile ID to see IPv4 vs IPv6 query counts. - nextdns_get_analytics_ips(to?: string, from?: string, limit?: integer, cursor?: string, device?: string, profile: string) — Tool to retrieve analytics aggregated by client IP addresses. Use when you need to analyze DNS query distribution per client IP for a given profile. - nextdns_get_analytics_protocols(limit?: integer, cursor?: string, device?: string, profile: string, to_date?: string, from_date?: string) — Tool to retrieve protocol analytics for a specific profile showing DNS protocol distribution (DNS-over-HTTPS, DNS-over-TLS, UDP). Use after confirming the profile ID to analyze protocol usage patterns - nextdns_get_analytics_query_types(limit?: integer, cursor?: string, device?: string, profile: string, to_date?: string, from_date?: string) — Tool to retrieve DNS query counts broken down by query type. Use after selecting a profile and specifying date filters to analyze distribution by type. - nextdns_get_analytics_reasons2(limit?: integer, cursor?: string, device?: string, profile: string, to_date?: string, from_date?: string) — Tool to retrieve blocking reasons analytics showing blocklists, native tracking protection, and other reasons for blocked queries. Use after selecting a profile to understand what categories are block - nextdns_get_analytics_status(to?: string, from?: string, limit?: integer, cursor?: string, device?: string, profile: string) — Tool to retrieve analytics status for a specific profile. Use when you need counts of DNS queries broken down by status categories. - nextdns_get_logs(to?: string, raw?: boolean, from?: string, sort?: string, limit?: integer, cursor?: string, device?: string, search?: string, status?: string, profile: string) — Tool to retrieve logs for a specific NextDNS profile with optional filters. Use after confirming the profile ID to fetch raw or filtered DNS logs. - nextdns_get_parental_control(profile: string) — Tool to get parental control settings for a profile. Returns services, categories, safe search, YouTube restricted mode, and bypass blocking status. - nextdns_get_parental_control_categories(profile: string) — Tool to get the list of blocked/allowed content categories for parental control. Use when you need to check which content categories are currently blocked or allowed for a specific profile. - nextdns_get_parental_control_services(profile: string) — Tool to get the list of blocked/allowed services for parental control. Use when you need to review which services (like TikTok, Facebook, Netflix) are currently blocked or allowed in a profile's paren - nextdns_get_performance_settings(profile: string) — Tool to get performance settings for a profile including ECS, cache boost, and CNAME flattening configuration. Use when you need to check current performance optimization settings before making change - nextdns_get_privacy_settings(profile: string) — Tool to get privacy settings for a profile including blocklists, native tracking settings, disguised trackers, and affiliate settings. Use when you need to check the current privacy configuration befo - nextdns_get_profile(profileId: string) — Retrieves the details of a specific NextDNS profile. It requires a 'profileId' as a path parameter and returns the profile details including name, security, privacy, parental control, denylist, allowl - nextdns_get_rewrites(profile: string) — Tool to retrieve the list of DNS rewrites for a NextDNS profile. Use when you need to view all custom DNS rewrite rules configured in a profile. - nextdns_get_security_tlds(profile: string) — Tool to get the list of blocked TLDs (top-level domains) for a profile's security settings. Use when you need to retrieve only the blocked TLDs without fetching all security settings. - nextdns_get_settings(profile: string) — Tool to get all settings for a NextDNS profile including logs, block page, performance, and web3 settings. Use when you need to retrieve the current configuration settings of a profile. - nextdns_get_settings_blockpage(profile: string) — Tool to retrieve the block page settings for a NextDNS profile. Use when you need to check if the block page is currently enabled or disabled for a specific profile. - nextdns_get_settings_logs(profile: string) — Tool to retrieve the logging settings for a NextDNS profile. Use when you need to check logging status, data retention period, storage location, or privacy options. - nextdns_list_denylist_domains(profile: string) — Tool to list domains in the denylist for a profile. Use after confirming the profile ID to review all blocked domains. Example: "List denylist domains for profile abc123." - nextdns_list_profiles() — List all NextDNS profiles for the authenticated user, returning profile IDs and configurations. Returns all profiles with their IDs, names, fingerprints, and user roles. Profile IDs returned by this a - nextdns_list_security_settings(config: string) — Tool to list current security options for a NextDNS configuration. Use after obtaining the configuration ID to review active security settings. - nextdns_log_client_ips(enable: boolean, config_id: string) — Tool to enable or disable logging of client IPs for a NextDNS configuration. Use when you need to toggle whether client IPs are recorded in DNS logs. - nextdns_log_domains(enabled: boolean, profile_id: string) — Tool to enable or disable logging of domains for a NextDNS profile. Use after retrieving profile settings when you need to adjust domain logging. Example: "Enable domain logging for profile abc123." - nextdns_remove_blocked_tld(tld: string, config: string) — Tool to remove a top-level domain from the security blocklist for a NextDNS profile. Use after listing current security settings to confirm the TLD is currently blocked. - nextdns_remove_denylist_domain(domain: string, profile: string) — Removes a domain from a NextDNS profile's denylist (blocklist). The domain will no longer be blocked by the DNS filter after removal. Use 'List Denylist Domains' first to verify the domain exists in t - nextdns_rename_config(name: string, config_id: string) — Tool to rename a NextDNS configuration (profile). Use when you need to update a profile's name after obtaining its ID. Example: RenameConfig(name="Home Profile", config_id="d46a5b") - nextdns_replace_allowlist(profile: string, allowlist: object[]) — Tool to replace the entire allowlist for a NextDNS profile. Use when you need to set a complete list of allowed domains, replacing all existing entries. - nextdns_replace_denylist(profile: string, denylist: object[]) — Tool to replace the entire denylist (blocked domains) for a NextDNS profile. This operation completely replaces all existing denylist entries with the provided list. Use when you need to bulk update t - nextdns_replace_parental_control_categories(profile: string, categories: object[]) — Tool to replace the entire list of blocked/allowed content categories for parental control. Use this to set which content categories should be blocked or allowed for a profile. - nextdns_replace_parental_control_services(profile: string, services: object[]) — Tool to replace the entire list of blocked/allowed services for parental control. Use when you need to set all service restrictions at once, replacing existing settings. - nextdns_replace_privacy_blocklists(profile: string, blocklists: object[]) — Tool to replace the entire list of privacy blocklists for a NextDNS profile. This operation completely replaces all existing blocklists with the provided list. Use when you need to bulk update privacy - nextdns_replace_privacy_natives(natives: object[], profile: string) — Tool to replace the entire list of blocked native tracking services for a NextDNS profile. This operation completely replaces all existing native tracking service blocks with the provided list. Use wh - nextdns_replace_security_tlds(tlds: object[], profile: string) — Tool to replace the entire list of blocked TLDs (top-level domains) for a NextDNS profile's security settings. This operation completely replaces all existing blocked TLDs with the provided list. Use - nextdns_update_allowlist_entry(active: boolean, domain: string, profile: string) — Tool to update a specific allowlist entry in a NextDNS profile. Use when toggling the active status of a domain in the allowlist. - nextdns_update_denylist_entry(active: boolean, domain: string, profile: string) — Updates a specific denylist entry in a NextDNS profile, typically to toggle its active status. Use when you need to temporarily enable or disable blocking for a domain without removing it from the den - nextdns_update_linked_ip(config_id: string) — Updates the linked IP address for a NextDNS profile to the current caller's public IP. This is used for dynamic DNS setups where the profile needs to recognize the user's current IP address for DNS fi - nextdns_update_parental_control(profile: string, safeSearch?: boolean, blockBypass?: boolean, youtubeRestrictedMode?: boolean) — Tool to update parental control settings for a NextDNS profile. Use when you need to change safe search, YouTube restricted mode, or bypass blocking settings. - nextdns_update_parental_control_category(active: boolean, profile: string, category_id: string) — Tool to update a specific category entry in parental control settings. Use when you need to enable or disable blocking for a specific content category like pornography, gambling, or social networks. - nextdns_update_parental_control_service(active: boolean, profile: string, service_id: string) — Tool to update a specific service entry in parental control settings. Use when toggling individual service blocks (e.g., blocking TikTok, Instagram, or other social media/gaming services). - nextdns_update_performance_settings(ecs: boolean, config: string, cacheBoost: boolean, cnameFlattening: boolean) — Tool to update performance settings of a NextDNS profile. Use when adjusting performance optimizations after reviewing current settings. - nextdns_update_privacy_settings(config: string, natives?: object[], blocklists?: object[], allowAffiliate?: boolean, disguisedTrackers?: boolean) — Tool to update privacy settings for a profile. Use when you need to change blocklists, native trackers, disguisedTrackers, or allowAffiliate in one call. - nextdns_update_security_settings(dga?: boolean, nrd?: boolean, csam?: boolean, ddns?: boolean, parking?: boolean, profile: string, dnsRebinding?: boolean, cryptojacking?: boolean, idnHomographs?: boolean, typosquatting?: boolean, aiThreatDetection?: boolean, googleSafeBrowsing?: boolean, threatIntelligenceFeeds?: boolean) — Tool to update security settings for a profile. Use when you need to change multiple security settings like threat intelligence, AI detection, safe browsing, and other protections in one call. - nextdns_update_settings(logs?: object, web3?: boolean, profile: string, blockPage?: object, performance?: object) — Tool to update settings for a NextDNS profile including logs, block page, performance, and web3 settings. Use when you need to modify multiple settings categories in one operation. Only provide the sp - nextdns_update_settings_blockpage(enabled: boolean, profile: string) — Tool to update block page settings for a NextDNS profile. Use when you need to enable or disable the branded block page that users see when accessing blocked domains. ## Example prompts - "What can I do in Nextdns?" - "Show me a summary of my Nextdns account" ## Links Docs: https://mcp.ai/docs/mcps/nextdns Website: https://mcp.ai/mcps/nextdns