mcpField
B
BIND 9 AIops

BIND 9 AIops

本地服务
github.com/AIops-tools云与基础设施03 天前更新

关于 BIND 9 AIops

BIND 9 AIops 是面向 BIND 9 DNS 运维人员的受治理 MCP 服务和命令行工具。它通过固定参数调用 BIND 工具进行检查和受控操作,并审计调用、明确报告不确定结果。

主要功能

  1. 01服务与区域状态检查
  2. 02配置和已加载区域验证
  3. 03DNSSEC 与签名状态检查
  4. 04DNS 查询及主从 SOA 比对
  5. 05受控区域操作与结果标记
  6. 06调用审计与预算控制

适用场景

  1. 01验证 BIND 配置和区域加载情况
  2. 02排查 DNSSEC、查询及传输问题
  3. 03比较主从 DNS 区域序列号
  4. 04在确认保护下执行区域操作

MCP 相关

它提供 23 个用于 BIND 9 DNS 运维的 MCP 工具及对应命令行操作。每次调用都会审计;写操作支持预演和双重确认,结果不确定时会明确标记。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"aiops-tools-bind9-aiops": {
"command": "uvx",
"args": [
"bind9-aiops"
]
}
}
}
启动命令uvx bind9-aiops

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypibind9-aiops0.2.1

工具

23

收录的工具列表 · 更新于 2 天前

参数类型必填说明
targetany否

详细介绍

BIND 9 AIops

通过 23 个 MCP 工具及对应的 CLI 命令,以受治理的方式执行 BIND 9 DNS 运维。它会将 rndc、named-checkconf 和 dig 作为固定参数列表执行,不会调用 shell。每次调用都会由随附的治理工具框架进行审计并计入预算。

检查内容

  • 通过 rndc 检查 named 服务和区域状态。
  • 使用 named-checkconf -z 验证配置和已加载区域。
  • DNSSEC 验证模式。
  • 区域 DNSSEC 签名、托管密钥和过期服务状态;启用时还会检查运行中的区域配置。
  • 递归查询获取限制命中次数、DNSSEC 信任锚、DNS TCP 超时及各区域的签名进度。
  • DNS 查询及其实际 DNS 响应代码。
  • 针对所选辅助服务器的查询。
  • 受保护的辅助服务器重新传送和单区域 NOTIFY 重发。
  • 主服务器和辅助服务器的 SOA 序列号比较。查询失败或无法解析时返回 null,绝不伪造零值或匹配结果。
  • bind_diagnose_zone 会保留并显示各项探测的失败情况。

从源代码安装

需要 Python 3.11+、uv,以及操作员主机上的 BIND 9 命令行工具。运行 uv sync --dev、uv run bind9-aiops init,然后运行 uv run bind9-aiops doctor。手动创建的 ~/.bind9-aiops/config.yaml 可指定路径和 DNS 服务器:

targets:
  - name: local
    server: 127.0.0.1
    dns_port: 53
    rndc_config: /etc/bind/rndc.conf
    named_config: /etc/bind/named.conf
    timeout: 10

使用 uv run bind9-aiops diagnose example.org 或 uv run bind9-aiops compare-soa example.org 192.0.2.2。MCP 入口点为 uv run bind9-aiops-mcp。进程账户需要有权访问其 rndc 密钥文件和 BIND 配置,但不会向 Agent 提供提升权限的 shell。

范围与验证

reload-zone、refresh-zone、flush-name、retransfer-zone 和 notify-zone 支持试运行和两次 CLI 确认。RNDC 命令被接受,并不能证明排队的区域重新加载或传送已经完成,因此这些写入操作会报告 outcomeUnknown;命令响应丢失时也会如此。缓存刷新、重新传送、NOTIFY 发送或外部编辑的区域文件均无法安全撤销。区域文件编辑、DNSSEC 密钥更改和全局服务重启仍不在此版本范围内。请参阅验证。欢迎通过 issue 或 PR 提交缺失功能建议和真实环境反馈。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。