io.github.AIops-tools/bind9-aiops
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
Governed BIND 9 DNS and zone diagnosis using rndc, named-checkconf and dig. Every tool is audited and budgeted.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| bind_fetch_limitsB | [READ] Show servers and domains currently limited by recursive fetch caps. |
| bind_security_rootsB | [READ] Show trust anchors through rndc's response channel, without a dump file. |
| bind_tcp_timeoutsC | [READ] Show current DNS TCP timeouts without changing them. |
| bind_signing_statusC | [READ] List a zone's ongoing and completed DNSSEC signing state. |
| bind_dnssec_zone_statusC | [READ] Show DNSSEC signing status for one zone. |
| bind_managed_keys_statusC | [READ] Show BIND managed DNSSEC trust-key status. |
| bind_serve_stale_statusC | [READ] Show whether stale DNS answers are currently served. |
| bind_show_zoneC | [READ] Show a running dynamic zone's configuration when enabled. |
| bind_query_serverC | [READ] Query a specified DNS server for a supported record type. |
| bind_reload_zoneB | [WRITE] Check config and queue a zone reload; completion remains unknown. |
| bind_refresh_zoneB | [WRITE] Ask a secondary zone to refresh; transfer completion remains unknown. |
| bind_flush_nameB | [WRITE] Flush one DNS name from cache; cache state cannot be restored. |
| bind_retransfer_zoneB | [WRITE] Request a secondary zone retransfer; completion remains unknown. |
| bind_notify_zoneC | [WRITE] Resend NOTIFY for one zone; downstream refresh remains unknown. |
| bind_statusA | [READ] Get named service status from rndc. |
| bind_config_checkB | [READ] Validate BIND config and loaded zone files with named-checkconf -z. |
| bind_zone_statusC | [READ] Get BIND's live zonestatus for one zone. |
| bind_dnssec_validationB | [READ] Check current DNSSEC validation setting using rndc. |
| bind_queryB | [READ] Query the configured DNS server and expose its actual response code. |
| bind_compare_soaB | [READ] Compare primary and secondary SOA serials; unknown stays null. |
| bind_diagnose_zoneC | [READ] Correlate named, config, zone, SOA and DNSSEC probes; report failures. |
| undo_listA | [READ] List recorded, not-yet-applied undo tokens (most recent first). Each entry names the original tool, the inverse tool that One extra row is read so Each entry carries Args: limit: Max rows to return (default 50, capped at 500). target: Unused (undo state is host-local); accepted for CLI uniformity. |
| undo_applyA | [WRITE][risk=medium] Apply a recorded undo by dispatching its inverse tool. The inverse runs through its own governed tool, so it is audited under its own risk tier. Pass dry_run=True to preview the inverse call without executing it. A token can only be applied once. Args:
undo_id: The undoId from undo_list (or an |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 23 tools
Most tools target distinct BIND operations, but several boundaries are fuzzy: bind_signing_status and bind_dnssec_zone_status sound nearly identical, and bind_refresh_zone/retransfer_zone/reload_zone plus bind_query/query_server require careful reading to distinguish. Descriptions help, but the overlap is more than just one or two ambiguous pairs.
The set is consistently snake_case and most tools share a bind_ prefix, which makes the domain obvious. However, the internal pattern is not a strict verb_noun convention: it mixes verb-led names like bind_show_zone and bind_compare_soa with noun/status forms like bind_zone_status and bind_config_check.
With 23 tools, the surface is heavy for a single BIND server. Many narrow status probes are individually useful, but the overall set feels closer to a large diagnostic toolbox than a tightly scoped 3-15 tool interface.
The set covers many operational diagnostics and safe writes: status, zone checks, DNSSEC probes, cache flush, refresh/retransfer/notify, and undo. But notable lifecycle operations are missing, such as listing zones, creating/deleting zones, editing configuration, and starting/stopping/restarting the named service.