OnlyDNS MCP Server

io.github.Onlydns由 GitHub 帳號 Onlydns 發布v1.0.6更新於 Oct 31, 2026

Model Context Protocol server for OnlyDNS to manage DNS zones, records, DNSSEC, and TSIG keys.

概覽

AI 產生的概覽

OnlyDNS 官方 MCP 伺服器,讓助理在 OnlyDNS 帳戶中列出與建立 DNS 區域、管理解析記錄,並處理 DNSSEC 與 TSIG 金鑰。

可以做什麼
  • 列出帳戶中的網域並建立新的 DNS 區域
  • 依類型或主機名稱查詢、新增、更新與刪除 DNS 記錄
  • 一次批次取代某個區域內的全部記錄
  • 檢視 DNSSEC 狀態與金鑰,並啟用或關閉 DNSSEC 簽章
  • 列出、建立與檢視 TSIG 金鑰,並為網域附加或移除 TSIG 權限
適用情境
適合需要讓助理檢視或修改託管於 OnlyDNS 的網域解析時使用,例如新增或清理記錄、檢查 DNSSEC 狀態,或為區域傳送與動態更新設定 TSIG 金鑰,而不必開啟控制台。
執行需求
以 stdio 方式在本機執行,通常透過 npx 或全域 npm 安裝(需要 Node.js)。需要 OnlyDNS 帳戶,並以環境變數 ONLYDNS_API_TOKEN 提供 API Bearer 權杖;可用 ONLYDNS_API_BASE_URL 覆寫 API 位址。需要能連線至 OnlyDNS API 的網路。
安裝前請注意
此權杖可控制帳戶內的 DNS 區域,應視為機密。多個工具會變更線上 DNS:add_record、update_record、delete_record、create_domain、enable_dnssec、disable_dnssec、create_tsig_key、configure_domain_tsig 與 remove_domain_tsig。set_records 會取代區域內全部記錄,若漏掉原有記錄將造成破壞。移除 DNSSEC 或 TSIG 金鑰可能導致解析或區域傳送失敗。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 OnlyDNS MCP Server,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

OnlyDNS MCP Server (@onlydns/mcp)

Official Model Context Protocol (MCP) server for OnlyDNS enabling AI agents (Claude Desktop, Cursor, Devin, LangChain) to inspect and manage DNS zones, records, 1-click DNSSEC, and TSIG keys directly. Learn more on the AI Agent Infrastructure solution page.

bash
npm install -g @onlydns/mcp

Or run instantly: npx -y @onlydns/mcp

Authentication Environment Variable: ONLYDNS_API_TOKEN (see Configuration).


Features

  • 🌐 Domain Management: List all managed domains and create new DNS zones.
  • 📝 DNS Record Operations:
    • list_records: Query DNS records with optional filtering by type (A, AAAA, CNAME, MX, TXT, SRV, CAA, etc.) or hostname.
    • add_record: Create new records or append values to existing record sets with automatic domain normalization.
    • update_record: Modify existing DNS records and update TTLs.
    • delete_record: Delete specific record values or entire record sets.
    • set_records: Batch replace full zone record sets.
  • 🔐 DNSSEC Management: Inspect DNSSEC status, fetch DS/DNSKEY records, enable, and disable DNSSEC signing.
  • 🔑 TSIG Keys: Generate and manage TSIG keys for secondary DNS zone transfers (AXFR) and RFC 2136 dynamic updates.

Installation & Quick Start

1. One-Click Desktop Installation (MCPB Bundle)

Download onlydns-mcp.mcpb directly from the GitHub Releases page. Compatible desktop clients (such as Claude Desktop) allow one-click installation and configure your ONLYDNS_API_TOKEN through a secure settings dialog.

2. Using npx (No installation needed)

You can run the server directly using npx:

bash
export ONLYDNS_API_TOKEN="your_onlydns_api_token"npx -y @onlydns/mcp

3. Global Installation

bash
npm install -g @onlydns/mcp

Configuration

The server requires an OnlyDNS API Bearer Token.

Environment Variables

VariableDescriptionDefault
ONLYDNS_API_TOKENYour OnlyDNS API Bearer Token (Required)-
ONLYDNS_API_BASE_URLOnlyDNS REST API base URLhttps://api.onlydns.com/v1

Client Integration Examples

Claude Desktop

Add the following to your claude_desktop_config.json:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Linux: ~/.config/Claude/claude_desktop_config.json
json
{  "mcpServers": {    "onlydns": {      "command": "npx",      "args": ["-y", "@onlydns/mcp"],      "env": {        "ONLYDNS_API_TOKEN": "YOUR_ONLYDNS_BEARER_TOKEN"      }    }  }}

Cursor (or Windsurf / Claude Code)

Add to your MCP settings or .cursor/mcp.json:

json
{  "mcpServers": {    "onlydns": {      "command": "npx",      "args": ["-y", "@onlydns/mcp"],      "env": {        "ONLYDNS_API_TOKEN": "YOUR_ONLYDNS_BEARER_TOKEN"      }    }  }}

Available MCP Tools

🌐 Domains

  • list_domains(limit?, offset?): Lists all domains in the account.
  • create_domain(domainName): Creates a new DNS zone for a domain.

📝 DNS Records

  • list_records(domainName, type?, name?): Lists DNS records for a domain, with optional filtering.
  • add_record(domainName, name, type, value, ttl?): Adds/appends a DNS record (e.g. A, CNAME, MX, TXT, URL, PROXY).
  • update_record(domainName, name, type, value, ttl?): Replaces values and/or TTL for a record type.
  • delete_record(domainName, name, type, value?): Deletes a record or specific value.
  • set_records(domainName, records): Batch replaces all records for a zone.

🔐 DNSSEC

  • get_dnssec(domainName): Fetches DNSSEC status and keys (DS, DNSKEY).
  • enable_dnssec(domainName): Enables DNSSEC signing for a zone.
  • disable_dnssec(domainName): Disables DNSSEC signing.

🔑 TSIG Keys

  • list_tsig_keys(): Lists all account TSIG keys.
  • get_tsig_key(keyName): Retrieves TSIG key details.
  • create_tsig_key(algorithm?): Generates a new TSIG key (hmac-sha256, hmac-sha512, etc.).
  • get_domain_tsig(domainName): Retrieves TSIG keys and permissions configured on a domain.
  • configure_domain_tsig(domainName, keyName, allowAxfr, allowDnsUpdate, subdomains?): Configures AXFR, DDNS, and optional subdomain restriction permissions for a domain.
  • remove_domain_tsig(domainName): Removes all TSIG keys from a domain.

Development & Testing

bash
# Clone and install dependenciesgit clone https://github.com/Onlydns/onlydns-mcp.gitcd onlydns-mcpnpm install
# Run unit testsnpm test
# Build TypeScriptnpm run build
# Run locally in developmentnpm run dev

License

MIT © 2026 OnlyDNS

來源:README.md,提交 fad03e6

工具

16

list_domains

List all DNS domains managed in the OnlyDNS account.

輸入參數limitoffset

create_domain

Create/add a new DNS zone/domain under the OnlyDNS account.

輸入參數domainName必填

list_records

List all DNS records for a domain, with optional filtering by record type (A, AAAA, CNAME, MX, TXT, etc.) or hostname.

輸入參數nametypedomainName必填

add_record

Add a DNS record to a domain. Accepts relative hostnames (e.g. "testing"), domain-qualified names (e.g. "testing.example.com"), or canonical FQDNs (e.g. "testing.example.com."). If a record with the same name and type already exists, the new value is appended to the record set.

輸入參數ttlname必填type必填value必填domainName必填

update_record

Update an existing DNS record set for a given name and type, completely replacing its values and/or TTL. Accepts relative names (e.g. "testing"), domain-qualified names (e.g. "testing.example.com"), or canonical FQDNs (e.g. "testing.example.com.").

輸入參數ttlname必填type必填value必填domainName必填

delete_record

Delete a DNS record or specific value from a domain. Accepts relative names (e.g. "testing"), domain-qualified names (e.g. "testing.example.com"), or canonical FQDNs (e.g. "testing.example.com.").

輸入參數name必填type必填valuedomainName必填

set_records

Completely replace ALL DNS records in a zone with a new list of records. Warning: destructive if omitted records are intended to be preserved.

輸入參數records必填domainName必填

get_dnssec

Get DNSSEC configuration status, NSEC3 parameters, and DS / DNSKEY keys for a domain.

輸入參數domainName必填

enable_dnssec

Enable DNSSEC signing for a domain in OnlyDNS.

輸入參數domainName必填

disable_dnssec

Disable DNSSEC signing and remove DNSSEC keys for a domain in OnlyDNS.

輸入參數domainName必填

list_tsig_keys

List all TSIG keys configured for the OnlyDNS account.

無需輸入參數。

get_tsig_key

Get details for a specific TSIG key by name.

輸入參數keyName必填

create_tsig_key

Generate a new TSIG key for secondary DNS transfers (AXFR) or dynamic DNS updates.

輸入參數algorithm

get_domain_tsig

Get TSIG keys and permissions (AXFR transfers, dynamic DNS updates, subdomain restrictions) configured for a domain.

輸入參數domainName必填

configure_domain_tsig

Attach and configure TSIG permissions (AXFR transfer / dynamic DNS updates / subdomain restrictions) for a domain.

輸入參數keyName必填allowAxfr必填domainName必填subdomainsallowDnsUpdate必填

remove_domain_tsig

Remove all TSIG keys associated with a domain.

輸入參數domainName必填

版本歷史

2
  1. v1.0.6最新Oct 30, 2026
  2. v1.0.5Oct 29, 2026

評分

已滿足適用檢查項的 90%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分
  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分