Connect Pi-hole to Your AI Agent

Find out why a domain is blocked before deciding whether to allow it.

40 tools API key

Try a Pi-hole Task

Copy a prompt into your agent with the oo Skill installed. Add your page links and source notes before running it.

oo Skill Pi-hole

Investigate a Domain

Read DNS queries and search allow, block and gravity lists for a domain.

/oo Pi-hole: Check recent DNS queries for [domain] and its matching lists. Explain the blocking reason.

Review DNS Activity

Read overview and upstream metrics to summarize DNS activity.

/oo Pi-hole: Review Pi-hole DNS activity and upstream response times. Summarize anything that needs attention.

Set Timed Blocking

Change blocking mode for an explicit duration and check its status.

/oo Pi-hole: Pause DNS blocking for [duration], then check the resulting blocking status.

Start Working with Pi-hole

  1. Install OOMOL

    Set up oo CLI and the oo Skill in your agent.

    Install OOMOL →
  2. Connect Pi-hole

    Provide a Pi-hole application password and a publicly reachable instance URL.

    Connect Pi-hole →
  3. Give Your Agent a Task

    Use /oo with the pages to read, the changes to make, and where to save the result.

    Connection Guide →

Choose Your Agent

  • A public Pi-hole instance reachable by the hosted connector, with an application password.
  • Private or local network addresses are not reachable. Specify the domain or query period; timer-based blocking changes automatically revert to the opposite mode.

Pi-hole Tools

Review DNS queries, matching lists, and upstream activity on a publicly reachable Pi-hole instance. You can also request a timed blocking change and check the resulting state.

Investigate a Domain

Read DNS queries and search allow, block and gravity lists for a domain.

Review DNS Activity

Read overview and upstream metrics to summarize DNS activity.

Set Timed Blocking

Change blocking mode for an explicit duration and check its status.

40 tools

Get Overview

Fetch the Pi-hole activity overview: total and blocked queries, blocked query percentage, unique clients and domains, and the blocking and gravity list status.

pi_hole.get_overview

Get Dns Blocking Status

Fetch whether Pi-hole DNS blocking is currently enabled, disabled, failed, or unknown.

pi_hole.get_dns_blocking_status

Set Dns Blocking

Enable or disable Pi-hole DNS blocking, optionally for a limited time after which the opposite mode is restored automatically.

pi_hole.set_dns_blocking

Get Queries

Query the Pi-hole DNS log with optional filters. By default returns the most recent queries; each response exposes a cursor for the next chunk.

pi_hole.get_queries

Get Query Types

Fetch the number of queries of each DNS query type that Pi-hole has seen.

pi_hole.get_query_types

Get Top Domains

Fetch the domains Pi-hole has handled the most, optionally limited to blocked ones.

pi_hole.get_top_domains

Get Top Clients

Fetch the clients that have queried Pi-hole the most, optionally limited to blocked ones.

pi_hole.get_top_clients

Get Recent Blocked

Fetch the domains most recently blocked by Pi-hole.

pi_hole.get_recent_blocked

Get Upstreams

Fetch metrics about Pi-hole's DNS upstream destinations, including response times.

pi_hole.get_upstreams

Get History

Fetch the Pi-hole activity graph data: query totals over time with cached, blocked, and forwarded splits.

pi_hole.get_history

Search Domain

Search whether a domain appears in Pi-hole's allowlists, blocklists, or gravity lists, to understand why it is blocked or allowed.

pi_hole.search_domain

Get Config

Fetch the current Pi-hole configuration, such as DNS settings, privacy level, and API settings.

pi_hole.get_config

Update Config

Change part of the Pi-hole configuration, for example DNS upstreams, the privacy level, or API settings. The provided fields are merged into the current configuration.

pi_hole.update_config

Run Gravity

Run the Pi-hole gravity update to refresh the blocklists. The instance streams the gravity log; the action reports a best-effort status from the log plus the tail of the stream.

pi_hole.run_gravity

Restart Dns

Restart Pi-hole's DNS server and reload its DNS configuration.

pi_hole.restart_dns

Flush Dns Logs

Flush the Pi-hole DNS query log.

pi_hole.flush_dns_logs

List Groups

List all Pi-hole groups and their memberships.

pi_hole.list_groups

Create Group

Create one or more Pi-hole groups, optionally with a comment and enabled state.

pi_hole.create_group

Update Group

Update one Pi-hole group: rename it, or change its comment or enabled state.

pi_hole.update_group

Delete Group

Delete one Pi-hole group by name.

pi_hole.delete_group

List Lists

List the Pi-hole allowlists and blocklists (subscription lists).

pi_hole.list_lists

Add List

Add one or more allowlist or blocklist entries (addresses) to Pi-hole.

pi_hole.add_list

Update List

Update one Pi-hole list: change its comment, enabled state, or group memberships.

pi_hole.update_list

Delete List

Delete one Pi-hole allowlist or blocklist entry by address.

pi_hole.delete_list

List Domains

List the individual Pi-hole domain entries, optionally restricted to one type or kind.

pi_hole.list_domains

Add Domain

Add one or more allow or deny domain entries to Pi-hole, either exact or as regular expressions.

pi_hole.add_domain

Update Domain

Update one Pi-hole domain entry: change its comment, enabled state, or group memberships.

pi_hole.update_domain

Delete Domain

Delete one Pi-hole allow or deny domain entry.

pi_hole.delete_domain

List Clients

List all Pi-hole clients and their group memberships.

pi_hole.list_clients

Create Client

Register one or more Pi-hole clients identified by IP address, MAC address, hostname, or interface.

pi_hole.create_client

Update Client

Update one Pi-hole client's comment or group memberships.

pi_hole.update_client

Delete Client

Delete one Pi-hole client entry by identifier.

pi_hole.delete_client

Batch Delete Groups

Delete multiple Pi-hole groups by name in one request. Reports deleted=false when none of the groups exist.

pi_hole.batch_delete_groups

Batch Delete Lists

Delete multiple Pi-hole allowlist or blocklist entries in one request. Reports deleted=false when none of the entries exist.

pi_hole.batch_delete_lists

Batch Delete Domains

Delete multiple Pi-hole domain entries in one request. Reports deleted=false when none of the entries exist.

pi_hole.batch_delete_domains

Batch Delete Clients

Delete multiple Pi-hole client entries in one request. Reports deleted=false when none of the clients exist.

pi_hole.batch_delete_clients

Get Dhcp Leases

Fetch the currently active DHCP leases assigned by the Pi-hole DHCP server.

pi_hole.get_dhcp_leases

Get Network Devices

Fetch the devices seen on the local network by Pi-hole.

pi_hole.get_network_devices

Export Backup

Create a complete Pi-hole teleporter backup archive (teleporter.zip) with all settings, lists, and clients.

pi_hole.export_backup

Import Backup

Restore a Pi-hole teleporter backup archive (a previously exported teleporter.zip) to this instance.

pi_hole.import_backup

Frequently Asked Questions

Can I connect a local-only instance?

No. This connection needs a publicly reachable Pi-hole instance.

Will a temporary pause end automatically?

Yes. When the timer ends, Pi-hole switches to the opposite blocking mode.

Connect Pi-hole

About Pi-hole ↗