
rosschurchill/technitium-mcp-secure
Developer toolsこのページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。 原文を見る
テクニチウムMCP
概要
HTTP API 経由で Technitium DNS Server を管理するためのセキュリティ強化モデルコンテキストプロトコル(MCP)サーバー。 Claudeコードや他のMCP互換クライアントとの使用のために構築されています。 - DNS ゾーン、レコード、ブロック、キャッシュ、設定、アプリ、DNSSEC、ログ、および診断 - すべてのパラメータ(RFC 1035 ドメインチェック、IP 検証、enum allowlists) - ローカルネットワーク用の明示的な HTTP オプトイン - 安全なクエリ ツールだけを明示するために - 破壊的な操作(削除ゾーン、削除レコード、フラッシュキャッシュ/allow/block、アンインストールアプリ) - ディスクのエラーを追跡するために、JSON のエラーを防止するために、Tracker の動作を追跡する - エラーを防止するために、JSON を追跡する - トークンを追跡する - エラーを防止する - すべての構成は環境変数によってあります: 認証優先:...
概要(AI 翻訳)
HTTP API 経由で Technitium DNS Server を管理するためのセキュリティ強化モデルコンテキストプロトコル(MCP)サーバー。
Claudeコードや他のMCP互換クライアントとの使用のために構築されています。
##特徴
-39ツール DNSゾーン、レコード、ブロック、キャッシュ、設定、アプリ、DNSSEC、ログ、および診断をカバー -すべてのパラメータ(RFC 1035ドメインチェック、IP検証、enum allowlists)の入力検証
- *HTTPSの執行**ローカルネットワークのための明示的なHTTPオプトイン
- 読み取り専用モード 安全なクエリツールのみを公開 -** 破壊的な操作(削除ゾーン、削除レコード、フラッシュキャッシュ/allow/block、アンインストールアプリ)の確認が必要** -破壊的な操作の厳密な限界と限度をあげて下さい -Audit logging を stderr に構造化された JSONL として
- トークン、パスワード、スタックトレース、および機密パスを除去する応答サニタイズ -エラーサニタイゼーションエラーメッセージのクレデンシャル/パスの漏洩を防ぐため
- トークンファイルサポート安全な認証ストレージ
- 同時認証レースを防止するため、Auth mutex* -すべてのミュート操作のPOST専用APIコール。ゾーンエクスポートは、短時間セッショントークンでGET(Technitium APIによって必須)を使用します。
クイックスタート
このページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。
README
以下は原文 README の抜粋です。原文を見る。
technitium-mcp-secure
A security-hardened Model Context Protocol (MCP) server for managing Technitium DNS Server via its HTTP API.
Built for use with Claude Code and other MCP-compatible clients.
Features
- 39 tools covering DNS zones, records, blocking, cache, settings, apps, DNSSEC, logs, and diagnostics
- Input validation on all parameters (RFC 1035 domain checks, IP validation, enum allowlists)
- HTTPS enforcement with explicit HTTP opt-in for local networks
- Read-only mode to expose only safe query tools
- Confirmation required for destructive operations (delete zone, delete record, flush cache/allow/block, uninstall app)
- Rate limiting with stricter limits on destructive operations
- Audit logging as structured JSONL to stderr
- Response sanitization to strip tokens, passwords, stack traces, and sensitive paths
- Error sanitization to prevent credential/path leakage in error messages
- Token file support for secure credential storage
- Auth mutex to prevent concurrent authentication races
- POST-only API calls for all mutating operations; zone export uses GET (required by Technitium API) with short-lived session tokens
Quick Start
# 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
Configuration
All configuration is via environment variables:
| Variable | Required | Description |
|---|---|---|
TECHNITIUM_URL |
Yes | Server URL (e.g. https://192.168.1.100:5380) |
TECHNITIUM_TOKEN |
One of token/password | API token (preferred) |
TECHNITIUM_TOKEN_FILE |
One of token/password | Path to file containing token (must be mode 0600) |
TECHNITIUM_PASSWORD |
One of token/password | Admin password (token is preferred) |
TECHNITIUM_USER |
No | Username (default: admin) |
TECHNITIUM_READONLY |
No | Set true to hide all write tools |
TECHNITIUM_ALLOW_HTTP |
No | Set true to allow insecure HTTP connections |
Authentication priority: TECHNITIUM_TOKEN > TECHNITIUM_TOKEN_FILE > TECHNITIUM_PASSWORD
Sensitive environment variables are cleared from process.env after being read.
Tools
Read-only (18 tools)
| Tool | Description |
|---|---|
dns_health_check |
Server version, uptime, forwarder config, failure rate |
dns_get_stats |
Query statistics with top clients/domains/blocked |
dns_check_update |
Check if a newer server version is available |
dns_resolve |
Test DNS resolution via the server |
インストール
This server does not publish a one-line install command.
Open the repository installation guide MCP 初心者?mcpskill.org のガイドから始めましょう →