npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@itapi-core/mcp-powerdns

v1.1.0

Published

KR: PowerDNS 완전 제어 MCP 서버 — Zone·Record·DNSSEC·TSIG·Metadata·Autoprimary 등 36개 도구, stdio 및 HTTP(SSE) 지원. EN: Full-featured MCP server for PowerDNS — 36 tools covering Zone, Record, DNSSEC, TSIG, Metadata, Autoprimary, Cache, Statistics. Supports stdio and

Readme

@itapi-core/mcp-powerdns

PowerDNS Authoritative Server API를 완전히 제어하는 Model Context Protocol (MCP) 서버입니다.
Zone · Record · DNSSEC · TSIG · Metadata · Autoprimary 등 36개 도구를 제공하며, stdio 및 HTTP(SSE) 두 가지 전송 방식을 지원합니다.

기능 (Tools)

서버 관리 (6)

| 도구 | 설명 | |------|------| | powerdns_get_servers | 서버 목록 조회 | | powerdns_get_server | 서버 상세 정보 조회 | | powerdns_get_statistics | 운영 통계 조회 (쿼리 수, 캐시 히트율, 응답 시간 등) | | powerdns_get_config | 서버 설정 전체 조회 | | powerdns_get_config_item | 특정 설정 항목 조회 | | powerdns_flush_cache | 도메인(또는 전체) DNS 캐시 즉시 무효화 |

Zone 관리 (11)

| 도구 | 설명 | |------|------| | powerdns_list_zones | Zone 전체 목록 조회 | | powerdns_get_zone | Zone 상세 정보 및 레코드 전체 조회 | | powerdns_get_zone_records | 특정 타입/이름으로 필터링한 레코드 조회 | | powerdns_create_zone | Zone 생성 (Native·Primary·Secondary·Producer·Consumer 지원) | | powerdns_update_zone | Zone 메타데이터 수정 | | powerdns_delete_zone | Zone 삭제 | | powerdns_export_zone | Zone을 BIND zone file 형식으로 내보내기 | | powerdns_notify_zone | Secondary 서버에 NOTIFY 패킷 즉시 전송 | | powerdns_axfr_retrieve | Secondary에서 Primary로부터 즉시 AXFR pull | | powerdns_rectify_zone | DNSSEC Zone의 NSEC/NSEC3 정합성 재계산 | | powerdns_search_data | 모든 Zone에 걸쳐 레코드·Zone명·코멘트 검색 (와일드카드 지원) |

레코드 관리 (3)

| 도구 | 설명 | |------|------| | powerdns_add_record | 레코드 추가 (append 모드로 기존 레코드 유지 가능) | | powerdns_delete_record | 레코드 세트(rrset) 삭제 | | powerdns_update_record_bulk | 여러 rrset을 한 번에 REPLACE/DELETE |

DNSSEC (5)

| 도구 | 설명 | |------|------| | powerdns_list_cryptokeys | Zone의 DNSSEC 키 목록 조회 | | powerdns_get_cryptokey | 특정 키 상세 정보 (DS·DNSKEY 레코드 포함) | | powerdns_create_cryptokey | 새 DNSSEC 키 생성 (KSK·ZSK·CSK, 알고리즘 선택) | | powerdns_activate_cryptokey | 키 활성화/비활성화 | | powerdns_delete_cryptokey | 키 삭제 |

Zone Metadata (3)

| 도구 | 설명 | |------|------| | powerdns_get_zone_metadata | Zone 메타데이터 조회 (ALLOW-AXFR-FROM·ALSO-NOTIFY 등) | | powerdns_set_zone_metadata | Zone 메타데이터 설정 | | powerdns_delete_zone_metadata | Zone 메타데이터 삭제 |

TSIG 키 (4)

| 도구 | 설명 | |------|------| | powerdns_list_tsig_keys | TSIG 키 목록 조회 | | powerdns_get_tsig_key | 특정 TSIG 키 상세 조회 | | powerdns_create_tsig_key | TSIG 키 생성 (자동 생성 또는 직접 입력) | | powerdns_delete_tsig_key | TSIG 키 삭제 |

Autoprimary (3)

| 도구 | 설명 | |------|------| | powerdns_list_autoprimaries | Autoprimary 서버 목록 조회 | | powerdns_create_autoprimary | Autoprimary 서버 등록 | | powerdns_delete_autoprimary | Autoprimary 서버 삭제 |

범용 (1)

| 도구 | 설명 | |------|------| | powerdns_api_request | 위 도구로 지원되지 않는 PowerDNS REST API 직접 호출 |

사전 요구 사항

  • Node.js 18 이상
  • PowerDNS Authoritative Server (webserver=yes, api=yes 설정)
  • PowerDNS API Key

설치 및 설정

stdio 방식 (Claude Desktop 등)

{
  "mcpServers": {
    "powerdns": {
      "command": "npx",
      "args": ["-y", "@itapi-core/mcp-powerdns"],
      "env": {
        "POWERDNS_URL": "http://192.168.1.100:8081",
        "POWERDNS_API_KEY": "your_api_key_here"
      }
    }
  }
}

HTTP (SSE) 모드

export POWERDNS_URL="http://192.168.1.100:8081"
export POWERDNS_API_KEY="your_api_key_here"
export PORT=3000                        # 선택 (기본 3000)
export POWERDNS_TIMEOUT=10000           # 선택 (ms, 기본 10000)
export POWERDNS_HTTP_TOKEN="secret"     # 선택: Bearer 토큰 인증 활성화
export RATE_LIMIT_MAX=60                # 선택 (기본 60 req/min)
export RATE_LIMIT_WINDOW_MS=60000       # 선택 (ms, 기본 60000)

npm run start:http

SSE 엔드포인트: http://localhost:3000/sse
헬스체크: http://localhost:3000/health

환경변수 전체 목록

| 변수 | 필수 | 기본값 | 설명 | |------|------|--------|------| | POWERDNS_URL | ✅ | — | PowerDNS API 베이스 URL | | POWERDNS_API_KEY | ✅ | — | PowerDNS API 키 | | POWERDNS_TIMEOUT | | 10000 | HTTP 요청 타임아웃 (ms) | | PORT | | 3000 | HTTP 모드 포트 | | POWERDNS_HTTP_TOKEN | | — | HTTP 모드 Bearer 토큰 인증 (미설정 시 인증 없음) | | RATE_LIMIT_MAX | | 60 | HTTP 모드 분당 최대 요청 수 | | RATE_LIMIT_WINDOW_MS | | 60000 | Rate limit 윈도우 (ms) |

개발

npm install
npm run build
npm run dev      # ts-node로 직접 실행

라이선스

ISC License