{"name":"io.github.Samik081/mcp-adguard-home","slug":"samik081-mcp-adguard-home","title":"AdGuard Home MCP Server","description":"Manage AdGuard Home through AI assistants","url":"https://mcp.market/server/samik081-mcp-adguard-home","rating":null,"grade":"B","score":83,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":36,"stars":9,"forks":1,"downloads_week":181,"last_push_at":"2026-09-15T07:46:12.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"mixed","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/Samik081/mcp-adguard-home","website":null,"version":"0.9.2","remotes":[],"packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"@samik081/mcp-adguard-home","version":"0.9.2","runtimeHint":"node","transport":{"type":"stdio"},"environmentVariables":[{"description":"URL of the AdGuard Home instance (e.g. http://192.168.1.1:3000)","isRequired":true,"name":"ADGUARD_URL"},{"description":"AdGuard Home username","isRequired":true,"isSecret":true,"name":"ADGUARD_USERNAME"},{"description":"AdGuard Home password","isRequired":true,"isSecret":true,"name":"ADGUARD_PASSWORD"}]},{"registryType":"oci","identifier":"ghcr.io/samik081/mcp-adguard-home:0.9.2","transport":{"type":"stdio"},"environmentVariables":[{"description":"URL of the AdGuard Home instance (e.g. http://192.168.1.1:3000)","isRequired":true,"name":"ADGUARD_URL"},{"description":"AdGuard Home username","isRequired":true,"isSecret":true,"name":"ADGUARD_USERNAME"},{"description":"AdGuard Home password","isRequired":true,"isSecret":true,"name":"ADGUARD_PASSWORD"}]}],"tools":[{"name":"access_get_list","description":"Retrieve access control lists: allowed clients, disallowed clients, and blocked hosts","write_action":false,"price_micros":0,"input_schema":null},{"name":"access_set_list","description":"Set access control lists for allowed clients, disallowed clients, and blocked hosts","write_action":false,"price_micros":0,"input_schema":null},{"name":"blocked_services_get","description":"Retrieve currently blocked services list and schedule","write_action":false,"price_micros":0,"input_schema":null},{"name":"blocked_services_get_all","description":"List all available services that can be blocked, organized by group","write_action":false,"price_micros":0,"input_schema":null},{"name":"blocked_services_update","description":"Update the list of blocked services and optional schedule","write_action":true,"price_micros":0,"input_schema":null},{"name":"clients_add","description":"Add a new persistent client with per-client settings","write_action":false,"price_micros":0,"input_schema":null},{"name":"clients_delete","description":"Delete a persistent client by name","write_action":true,"price_micros":0,"input_schema":null},{"name":"clients_get","description":"Retrieve all configured and auto-detected clients with their settings","write_action":false,"price_micros":0,"input_schema":null},{"name":"clients_search","description":"Search for specific clients by their IDs (IP, MAC, CIDR, or client ID)","write_action":false,"price_micros":0,"input_schema":null},{"name":"clients_update","description":"Update an existing persistent client by name","write_action":true,"price_micros":0,"input_schema":null},{"name":"dhcp_add_static_lease","description":"Add a static DHCP lease mapping a MAC address to an IP","write_action":false,"price_micros":0,"input_schema":null},{"name":"dhcp_find_active","description":"Scan for competing DHCP servers on a network interface (may take several seconds)","write_action":false,"price_micros":0,"input_schema":null},{"name":"dhcp_get_interfaces","description":"Retrieve available network interfaces for DHCP server binding","write_action":false,"price_micros":0,"input_schema":null},{"name":"dhcp_get_status","description":"Retrieve DHCP server configuration, static leases, and active leases","write_action":false,"price_micros":0,"input_schema":null},{"name":"dhcp_remove_static_lease","description":"Remove a static DHCP lease (all three fields must match the existing lease)","write_action":true,"price_micros":0,"input_schema":null},{"name":"dhcp_reset","description":"Reset DHCP configuration to defaults. This is a destructive operation that cannot be undone.","write_action":false,"price_micros":0,"input_schema":null},{"name":"dhcp_reset_leases","description":"Clear all DHCP leases. This is a destructive operation that cannot be undone.","write_action":false,"price_micros":0,"input_schema":null},{"name":"dhcp_set_config","description":"Update DHCP server configuration (enabled state, interface, IPv4/IPv6 settings)","write_action":true,"price_micros":0,"input_schema":null},{"name":"dhcp_update_static_lease","description":"Update a static DHCP lease (removes existing lease and adds a new one)","write_action":true,"price_micros":0,"input_schema":null},{"name":"dns_clear_cache","description":"Clear the DNS resolver cache","write_action":false,"price_micros":0,"input_schema":null},{"name":"dns_get_info","description":"Retrieve full DNS server configuration including upstreams, bootstrap servers, cache settings, blocking mode, and DNSSEC status","write_action":false,"price_micros":0,"input_schema":null},{"name":"dns_set_config","description":"Update DNS server configuration. All fields are optional -- only provided fields are changed.","write_action":true,"price_micros":0,"input_schema":null},{"name":"dns_test_upstream","description":"Test upstream DNS server configuration to verify servers are reachable and responding","write_action":false,"price_micros":0,"input_schema":null},{"name":"filtering_add_url","description":"Add a new filter URL (blocklist or allowlist)","write_action":false,"price_micros":0,"input_schema":null},{"name":"filtering_check_host","description":"Test whether a hostname would be blocked by current filtering rules","write_action":false,"price_micros":0,"input_schema":null},{"name":"filtering_get_status","description":"Retrieve filtering configuration including blocklists, allowlists, user rules, and global enabled state","write_action":false,"price_micros":0,"input_schema":null},{"name":"filtering_refresh","description":"Force refresh of filter lists to fetch latest updates","write_action":false,"price_micros":0,"input_schema":null},{"name":"filtering_remove_url","description":"Remove a filter URL from blocklist or allowlist","write_action":true,"price_micros":0,"input_schema":null},{"name":"filtering_set_config","description":"Update global filtering configuration (enabled state and update interval). Both fields are required -- this is a full replacement.","write_action":true,"price_micros":0,"input_schema":null},{"name":"filtering_set_rules","description":"Set custom filtering rules (replaces all existing custom rules)","write_action":false,"price_micros":0,"input_schema":null},{"name":"filtering_set_url","description":"Update an existing filter URL (rename, change URL, or enable/disable)","write_action":true,"price_micros":0,"input_schema":null},{"name":"global_begin_update","description":"Initiate an AdGuard Home software update. The server may restart after this operation.","write_action":true,"price_micros":0,"input_schema":null},{"name":"global_check_version","description":"Check for AdGuard Home updates and compare with current version","write_action":false,"price_micros":0,"input_schema":null},{"name":"global_get_profile","description":"Retrieve user profile (name, language, theme)","write_action":false,"price_micros":0,"input_schema":null},{"name":"global_get_status","description":"Retrieve AdGuard Home server status including version, DNS addresses, protection state, and ports","write_action":false,"price_micros":0,"input_schema":null},{"name":"global_set_protection","description":"Enable or disable DNS protection globally, with optional duration for temporary disable","write_action":false,"price_micros":0,"input_schema":null},{"name":"global_update_profile","description":"Update user profile settings (name, language, theme). All fields are optional -- only provided fields are updated.","write_action":true,"price_micros":0,"input_schema":null},{"name":"install_apply_config","description":"Apply initial setup configuration (web/DNS binding and admin credentials)","write_action":false,"price_micros":0,"input_schema":null},{"name":"install_check_config","description":"Validate install configuration without applying (checks web/DNS binding, credentials)","write_action":false,"price_micros":0,"input_schema":null},{"name":"install_get_addresses","description":"Retrieve network interface details and ports for initial setup","write_action":false,"price_micros":0,"input_schema":null},{"name":"mobile_config_get_doh","description":"Generate Apple .mobileconfig profile for DNS-over-HTTPS. Returns raw XML plist.","write_action":false,"price_micros":0,"input_schema":null},{"name":"mobile_config_get_dot","description":"Generate Apple .mobileconfig profile for DNS-over-TLS. Returns raw XML plist.","write_action":false,"price_micros":0,"input_schema":null},{"name":"parental_get_status","description":"Retrieve parental filtering status","write_action":false,"price_micros":0,"input_schema":null},{"name":"parental_set","description":"Enable or disable parental filtering (content restrictions)","write_action":false,"price_micros":0,"input_schema":null},{"name":"querylog_clear","description":"Clear the entire DNS query log. This is a destructive operation that cannot be undone.","write_action":false,"price_micros":0,"input_schema":null},{"name":"querylog_get","description":"Search DNS query log with optional filtering by reason or response status, search term, and pagination","write_action":false,"price_micros":0,"input_schema":null},{"name":"querylog_get_config","description":"Retrieve query log configuration settings","write_action":false,"price_micros":0,"input_schema":null},{"name":"querylog_set_config","description":"Update query log configuration. All fields are optional -- only provided fields are changed.","write_action":true,"price_micros":0,"input_schema":null},{"name":"rewrites_add","description":"Add a new DNS rewrite rule","write_action":false,"price_micros":0,"input_schema":null},{"name":"rewrites_delete","description":"Delete a DNS rewrite rule (both domain and answer must match)","write_action":true,"price_micros":0,"input_schema":null},{"name":"rewrites_get_settings","description":"Retrieve DNS rewrite module enabled/disabled state","write_action":false,"price_micros":0,"input_schema":null},{"name":"rewrites_list","description":"Retrieve all configured DNS rewrite rules","write_action":false,"price_micros":0,"input_schema":null},{"name":"rewrites_set_settings","description":"Enable or disable the DNS rewrite module","write_action":false,"price_micros":0,"input_schema":null},{"name":"rewrites_update","description":"Update a DNS rewrite rule (removes existing rule and adds updated one)","write_action":true,"price_micros":0,"input_schema":null},{"name":"safebrowsing_get_status","description":"Retrieve safe browsing (malware/phishing protection) status","write_action":false,"price_micros":0,"input_schema":null},{"name":"safebrowsing_set","description":"Enable or disable safe browsing (malware/phishing protection)","write_action":false,"price_micros":0,"input_schema":null},{"name":"safesearch_get_status","description":"Retrieve safe search settings showing per-engine enforcement status","write_action":false,"price_micros":0,"input_schema":null},{"name":"safesearch_set_settings","description":"Update safe search settings. Set global enabled state and optionally configure per-engine enforcement.","write_action":true,"price_micros":0,"input_schema":null},{"name":"stats_get","description":"Retrieve DNS statistics including top domains, blocked counts, and client activity. Optional recent param is milliseconds (must be hourly multiple of 3600000).","write_action":false,"price_micros":0,"input_schema":null},{"name":"stats_get_config","description":"Retrieve statistics configuration settings","write_action":false,"price_micros":0,"input_schema":null},{"name":"stats_reset","description":"Reset all DNS statistics. This is a destructive operation that cannot be undone.","write_action":false,"price_micros":0,"input_schema":null},{"name":"stats_set_config","description":"Update statistics configuration. All fields are optional -- only provided fields are changed.","write_action":true,"price_micros":0,"input_schema":null},{"name":"tls_get_status","description":"Retrieve TLS configuration and certificate validation status","write_action":false,"price_micros":0,"input_schema":null},{"name":"tls_set_config","description":"Update TLS configuration including certificates and HTTPS/DoH/DoT settings","write_action":true,"price_micros":0,"input_schema":null},{"name":"tls_validate","description":"Validate TLS configuration without applying changes. Tests certificate and key validity.","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":83,"grade":"B","scanned_at":"2026-09-19T19:50:02.769Z","report":{"scannerVersion":"0.1.5","scannedAt":"2026-09-19T19:50:02.736Z","components":{"code":{"score":25,"max":25,"notes":["53 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":6,"max":15,"notes":["static API keys via environment variables"]},"maintenance":{"score":15,"max":15,"notes":["last push 5 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"packages":[{"registryType":"npm","identifier":"@samik081/mcp-adguard-home","version":"0.9.2","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":2,"publishedAt":"2026-09-15T07:47:49.843Z","repositoryUrl":"git+https://github.com/Samik081/mcp-adguard-home.git","weeklyDownloads":181}],"repo":{"found":true,"owner":"Samik081","repo":"mcp-adguard-home","archived":false,"pushedAt":"2026-09-15T07:46:12Z","stars":9,"forks":1,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/13415865?v=4","ownerCreatedAt":"2015-07-20T10:07:51Z","license":"MIT"},"icon":{"url":"https://avatars.githubusercontent.com/u/13415865?v=4&s=128","source":"registry"},"presence":{"stars":9,"forks":1,"downloadsWeek":181,"license":"MIT","lastPushAt":"2026-09-15T07:46:12.000Z","score":36}}}},"grade_history":[],"reviews":[]}