Token导航 LogoToken导航TokenDH.com
Technitium MCP Secure logo
运维云端未说明官方级别未说明来源级核验

Technitium MCP Secure

MCP Server

一个安全加固的DNS管理服务器,用于通过HTTP API管理Technitium DNS服务器。

工具数

39

提示词数

0

GitHub Stars

4

资源数

0
安全TypeScriptClaudeClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

rosschurchill

提供方

rosschurchill

最后核验

2026/5/17 20:23

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

mcp技术安全

加强安保 模型上下文协议 用于管理的(MCP)服务器 Technitium DNS服务器 通过其HTTP API。

专为配合使用而设计 克劳德代码 以及其他MCP兼容客户端。

特性

  • 39工具 涵盖DNS区域、记录、阻止、缓存、设置、应用程序、DNSSEC、日志和诊断
  • 输入验证 所有参数(RFC 1035域检查、IP验证、枚举分配表)
  • HTTPS强制 对本地网络进行明确的HTTP选择加入
  • 只读模式 仅公开安全的查询工具
  • 需要确认 用于破坏性操作(删除区域、删除记录、刷新缓存/允许/阻止、卸载应用程序)
  • 速率限制 对破坏性操作有更严格的限制
  • 审核日志记录 结构化JSONL到stderr
  • 响应消毒 删除令牌、密码、堆栈跟踪和敏感路径
  • 错误清理 防止错误消息中的凭据/路径泄漏
  • 令牌文件支持 用于安全的凭证存储
  • 认证互斥体 防止并发身份验证竞争
  • POST-only API调用 用于所有突变操作;区域导出使用具有短时间会话令牌的GET(Technitium API要求)

快速开始

# Clone and build
git clone https://github.com/rosschurchill/technitium-mcp-secure.git
cd technitium-mcp-secure
npm install
npm run build

# Register with Claude Code (see "Generating an API Token" below first)
claude mcp add technitium-dns \
  --env TECHNITIUM_URL=https://your-server-ip:5380 \
  --env TECHNITIUM_TOKEN=your-api-token \
  -- node /path/to/technitium-mcp-secure/dist/index.js

配置

所有配置都是通过环境变量进行的:

变量必填描述
TECHNITIUM_URL服务器URL(例如。 https://192.168.1.100:5380)
TECHNITIUM_TOKEN令牌/密码之一API令牌(首选)
TECHNITIUM_TOKEN_FILE令牌/密码之一包含令牌的文件的路径(必须是模式0600)
TECHNITIUM_PASSWORD令牌/密码管理员密码(首选令牌)之一
TECHNITIUM_USER用户名(默认值: admin)
TECHNITIUM_READONLY设置 true 隐藏所有写入工具
TECHNITIUM_ALLOW_HTTP设置 true 允许不安全的HTTP连接

身份验证优先级: TECHNITIUM_TOKEN > TECHNITIUM_TOKEN_FILE > TECHNITIUM_PASSWORD

从中清除敏感环境变量 process.env 在阅读之后。

工具

只读(18个工具)

工具说明
dns_health_check服务器版本、正常运行时间、转发器配置、故障率
dns_get_stats查询顶级客户端/域/已阻止的统计信息
dns_check_update检查是否有更新的服务器版本可用
dns_resolve通过服务器测试DNS解析
dns_list_zones列出所有已配置的区域
dns_zone_options区域DNSSEC、传输和通知设置
dns_export_zone以BIND格式导出区域文件
dns_list_records列出区域中的记录
dns_list_blocked列出被阻止的域(分层,支持深入查看)
dns_list_allowed列出允许的域(分层,支持深入查看)
dns_list_cache列出缓存区域(分层,支持深入查看)
dns_get_settings完整服务器设置
dns_query_logs使用筛选器查询DNS日志
dns_list_apps列出已安装的DNS应用程序
dns_list_app_store列出Technitium应用商店中的可用应用程序
dns_get_app_config获取已安装应用程序的配置
dns_dnssec_info区域的DNSSEC属性
dns_get_dsDNSSEC签名区域的DS记录

书写(21个工具)

工具说明
dns_create_zone创建新的DNS区域
dns_delete_zone删除区域(需要 confirm: true)
dns_enable_zone启用禁用区域
dns_disable_zone禁用区域(保留记录)
dns_set_zone_options更新区域配置(通知、传输ACL)
dns_add_record添加DNS记录
dns_update_record更新现有记录
dns_delete_record删除记录(需要 confirm: true)
dns_block_domain阻止域
dns_remove_blocked从阻止列表中删除域
dns_flush_blocked刷新整个自定义阻止列表(需要 confirm: true)
dns_allow_domain允许域(绕过阻止列表)
dns_remove_allowed从允许列表中删除域
dns_flush_allowed刷新整个允许列表(需要 confirm: true)
dns_flush_cache刷新DNS缓存(需要 confirm: true)
dns_delete_cached从缓存中删除特定域
dns_set_settings更新服务器设置(转发器、阻止等)
dns_update_blocklists强制立即更新阻止列表
dns_temp_disable_blocking暂时禁用阻止(自动重新启用)
dns_install_app从应用商店安装DNS应用
dns_uninstall_app卸载应用程序(需要 confirm: true)

安全

生成API令牌

建议使用API令牌进行身份验证。令牌避免在每次请求时发送您的管理员密码,并且可以独立撤销。

选项A:Web管理UI

  1. 打开Technitium网站管理(例如。 http://your-server-ip:5380)
  2. 使用您的管理员凭据登录
  3. 首选 行政 (齿轮图标,右上角)
  4. 向下滚动至 会话
  5. 在...之下 创建API令牌,输入名称(例如。 mcp-server)
  6. 点击 创建
  7. 复制显示的令牌值-这是唯一一次显示它

选项B:API(卷曲)

# Login first to get a session token
curl -s -X POST 'http://your-server-ip:5380/api/user/login' \
  -d 'user=admin&pass=yourpassword' | jq -r '.response.token'

# Then create a non-expiring API token using the session token
curl -s -X POST 'http://your-server-ip:5380/api/user/createToken' \
  -d 'user=admin&pass=yourpassword&tokenName=mcp-server' | jq -r '.response.token'

安全地存储令牌:

# Option 1: Pass directly as env var (simplest)
claude mcp add technitium-dns \
  --env TECHNITIUM_TOKEN=your-token-here ...

# Option 2: Use a token file (more secure - keeps token out of shell history)
echo "your-token-here" > ~/.technitium-token
chmod 600 ~/.technitium-token

claude mcp add technitium-dns \
  --env TECHNITIUM_TOKEN_FILE=~/.technitium-token ...

本地网络(HTTP)

如果您的Technitium服务器没有配置TLS(仅适用于局域网设置),您需要明确允许HTTP:

claude mcp add technitium-dns \
  --env TECHNITIUM_URL=http://your-server-ip:5380 \
  --env TECHNITIUM_TOKEN=your-token \
  --env TECHNITIUM_ALLOW_HTTP=true \
  -- node /path/to/technitium-mcp-secure/dist/index.js

stderr将记录一条警告,提醒您凭据以明文形式发送。

只读模式

对于仅监视用例,隐藏所有写入工具:

claude mcp add technitium-dns-readonly \
  --env TECHNITIUM_URL=http://your-server-ip:5380 \
  --env TECHNITIUM_TOKEN=your-token \
  --env TECHNITIUM_READONLY=true \
  --env TECHNITIUM_ALLOW_HTTP=true \
  -- node /path/to/dist/index.js

速率限制

  • 全局:100个请求/分钟
  • 创建/修改操作:10/分钟
  • 删除/刷新操作:5/分钟

审计日志

所有工具调用都以JSONL形式记录到stderr中,并带有时间戳、工具名称、经过净化的参数、结果状态和持续时间。敏感值(令牌、密码)在记录之前会被编辑。

尚未实施

Technitium API具有约173个终点。此MCP服务器涵盖了最有用的36。API中提供了以下类别,但尚未公开:

  • DHCP管理 --范围、租赁、保留(~12个端点)
  • 用户和组管理 --创建/删除用户、管理组、权限(约15个端点)
  • 集群管理 --多服务器群集、运行状况、故障转移(约15个端点)
  • 区域导入/克隆/转换 --从文件导入、从其他服务器克隆、转换区域类型
  • DNSSEC签名和密钥管理 --签名/取消签名区域、旋转键、算法配置
  • 允许/阻止区域导入/导出 --从文件批量导入/导出
  • 设置备份/还原 --完整服务器配置备份和还原
  • 日志管理 --日志文件删除,日志设置更改

如果你需要其中任何一个,欢迎投稿或开题。

兼容性

经过测试 Technitium DNS服务器v14.3 在Alpine Linux上。所有36个API端点均通过实时的v14 API验证。

注: Technitium的API路径在不同版本之间发生了变化。如果您看到404错误,请检查您的服务器版本是否为v14+。早期版本使用了不同的路径(例如。 /api/allowedZones/list 而不是 /api/allowed/list).

需求

  • Node.js>=18
  • Technitium DNS服务器v14+

更新日志

v1.2.0版本

  • 添加19个新工具(共39个):删除/刷新允许和阻止、删除缓存、启用/禁用/配置/导出区域、服务器设置管理、临时阻止禁用、阻止列表更新、应用商店/安装/卸载/配置、DNSSEC信息、更新检查
  • 所有36个API终点均通过验证,返回200个Technitium v14.3
  • 添加“尚未实施”部分,记录可用的API类别

v1.1.1

  • 修复 dns_resolve 缺少必需的 server 参数(现在默认为 this-server)
  • 修复 dns_query_logs 缺失 nameclassPath 查询日志(Sqlite)应用程序的参数
  • 修复 dns_list_allowed, dns_allow_domain 使用错误的API路径(/api/allowedZones/* -> /api/allowed/*)
  • 修复 dns_list_blocked, dns_block_domain 使用错误的API路径(/api/blockedZones/* -> /api/blocked/*)
  • 修复 dns_list_cache 使用错误的API路径(/api/cache/zones/list -> /api/cache/list)
  • 修复 dns_allow_domain, dns_block_domain 使用错误的参数名称(zone -> domain)
  • 所有17个API端点均通过验证返回200个Technitium v14.3

v1.1.0版本

  • 安全强化:输入验证、审计日志、速率限制、响应净化
  • HTTPS强制,带有HTTP选择加入、只读模式、破坏性操作确认
  • 令牌文件支持,auth互斥,POST-only API调用,env-var清除

v1.0.0

  • 初始版本包含20个DNS管理工具

许可证

麻省理工学院

目录标签

目录标签

安全TypeScriptClaudeDNS管理本地部署网络安全API管理服务器管理安全加固

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

token

部署方式(deploymentType,部署类型)

remote-capable

工具数量(toolCount,工具数)

39

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明tokenremote-capable

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP