Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
제작자가 쓴 설명(영어 원문)
Wake LAN machines with Wake-on-LAN magic packets from host profiles, then confirm they came up.
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
WOL_HOSTS_FILE, WOL_HOSTS, MCP_LOG_LEVEL비밀로 표시된 값은 내 계정의 열쇠예요. 절대 다른 사람과 공유하거나 채팅에 붙여 넣지 마세요.
필요한 것
어떤 앱을 쓰세요?
위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.
Claude Desktop → Settings → Developer → Edit Config를 열고 claude_desktop_config.json에 이 내용을 붙여 넣으세요
{
"mcpServers": {
"wakeonlan": {
"command": "npx",
"args": [
"-y",
"@cyanheads/wakeonlan-mcp-server"
],
"env": {
"WOL_HOSTS_FILE": "your-value",
"WOL_HOSTS": "your-value",
"MCP_LOG_LEVEL": "your-value"
}
}
}
}터미널에서 이 명령어를 실행하세요
claude mcp add wakeonlan --env WOL_HOSTS_FILE=your-value --env WOL_HOSTS=your-value --env MCP_LOG_LEVEL=your-value -- npx -y @cyanheads/wakeonlan-mcp-server실행하기 전에 빈 값을 채워 주세요.
프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요
{
"mcpServers": {
"wakeonlan": {
"command": "npx",
"args": [
"-y",
"@cyanheads/wakeonlan-mcp-server"
],
"env": {
"WOL_HOSTS_FILE": "your-value",
"WOL_HOSTS": "your-value",
"MCP_LOG_LEVEL": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"servers": {
"wakeonlan": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@cyanheads/wakeonlan-mcp-server"
],
"env": {
"WOL_HOSTS_FILE": "your-value",
"WOL_HOSTS": "your-value",
"MCP_LOG_LEVEL": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
이 서버는 내 컴퓨터에서 실행되는데, ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요. 다른 앱을 고르세요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
WOL_HOSTS_FILE envMCP_LOG_LEVEL env이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 7일 점검
레지스트리 이름이 GitHub 계정 cyanheads 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요
내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요
내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 1개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
입력해야 할 값: WOL_HOSTS
내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(0.2.0)은 9일 전 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 Node.js도 있어야 해요.
같은 카테고리에는: Spec Driven Development, Remote Desktop Commander, First Sale Scout
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Playbooks and a 14-day checklist for founders winning their first paying customers.
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
@cyanheads/wakeonlan-mcp-server Wake LAN machines with Wake-on-LAN magic packets from host profiles, then confirm they came up via MCP. STDIO or Streamable HTTP. 4 Tools
Wake-on-LAN by name for the machines on your network. Wake a sleeping desktop, GPU box, NAS, or lab machine, wait until it answers on a port like SSH, check whether a host is up without waking it, and troubleshoot a wake that didn't take. Runs on any machine on the same LAN as its hosts.
| Tool | Description |
|---|---|
wol_wake_host | Send magic packets to a configured host, then wait for its TCP check port to answer |
wol_check_host | Probe a configured host's check port once, without sending a magic packet |
wol_list_hosts | List the host profiles and whether this machine is attached to each host's subnet |
wol_list_reference | Wake-on-LAN reference by topic: packet format, target setup, power states, troubleshooting, profile format, sender traps |
| Skill | Description |
|---|---|
wakeonlan-guide | When a wake is warranted versus a status check, how to read refused, no_answer, and not_reachable before calling a machine off or a wake failed, which wake-failure checks need a person at the target, and how to add a host |
Served over MCP as skill://wakeonlan-guide/SKILL.md and shipped in the npm package under skills/.
wol_wake_host toolalias (from wol_list_hosts, case-insensitive) plus optional wait_for_s, 0–55 seconds, default 30; 0 sends and returns without checking. Sends 3 packets 500 ms apart, probing the check port once before sending and every 2 s after the first packetstate is already_awake, awake (with time_to_answer_ms, an upper bound at the 2 s poll interval), not_reachable, or unverified (unverified_reason: wait_disabled or no_address); the last two carry a guidance next stepunknown_host, off_segment (nothing sent: this machine has no interface on the host's subnet), retryable wake_in_progress (nothing sent: another call is already waking that host, and one wake per host runs at a time), or retryable socket_error, whose data carries the failed stage and packets_sentwol_check_host toolalias only: one TCP connect to the profile's address and check_port (22 unless the profile sets another), 1.5 s timeout, no magic packet. The port is not an input, so the tool can't scan arbitrary portsoutcome is open, refused (the machine answered, nothing listens on that port), or no_answer; reachable is true only for open, and latency_ms is present for open and refusedunknown_host, or no_address when the profile has no address to probewol_list_hosts toolalias, description, mac, address, check_port, wol_port, broadcast with broadcast_source (configured, derived, or unresolved), and secureon_set (never the password)on_segment, with the sending interface and local_address when true, is resolved against this machine's interfaces on every call; nothing is sent or probed, so it says nothing about whether a host is upconfig_source (file, inline, or none) and config_path name where the profiles came fromwol_list_reference tooltopic: packet-format, prerequisites, sleep-states, troubleshooting, host-profiles, or sender-environmenttopics for navigationBuilt on @cyanheads/mcp-ts-core: stdio and Streamable HTTP transports, pluggable auth (none / jwt / oauth), swappable storage (in-memory, filesystem, Supabase, Cloudflare KV/R2/D1), structured logging with optional OpenTelemetry tracing.
Wake-on-LAN-specific:
check_port (SSH by default; RDP or SMB for Windows), not ICMPnode:dgram, node:net, and node:os, with no third-party networking dependencyAgent-friendly output:
state plus a guidance next step naming the tool or reference topic to callunknown_host lists up to 20 configured aliases, off_segment names the local subnets it compared, and on macOS socket_error points at the Local Network permissionrefused vs no_answer: a machine that is on but not listening on its check port reads differently from one that never answered. A wake still ends not_reachable either way; probe.last_outcome and guidance say which, so a wrong check_port can be told apart from a failed wakeAdd the following to your MCP client configuration file, pointing WOL_HOSTS_FILE at your hosts file.
{
"mcpServers": { "wakeonlan-mcp-server": { "type": "stdio", "command": "bunx", "args": ["@cyanheads/wakeonlan-mcp-server@latest"], "env": { "MCP_TRANSPORT_TYPE": "stdio", "MCP_LOG_LEVEL": "info", "WOL_HOSTS_FILE": "~/.config/wakeonlan/hosts.json" } } } }
Or with npx (no Bun required):
{
"mcpServers": { "wakeonlan-mcp-server": { "type": "stdio", "command": "npx", "args": ["-y", "@cyanheads/wakeonlan-mcp-server@latest"], "env": { "MCP_TRANSPORT_TYPE": "stdio", "MCP_LOG_LEVEL": "info", "WOL_HOSTS_FILE": "~/.config/wakeonlan/hosts.json" } } } }
The Claude Desktop .mcpb bundle (the install badge above) asks for a hosts file or inline hosts JSON when you install it.
For Streamable HTTP, set the transport and start the server:
MCP_TRANSPORT_TYPE=http MCP_HTTP_PORT=3010 WOL_HOSTS_FILE=~/.config/wakeonlan/hosts.json bun run start:http
wol_list_reference with topic prerequisites has the Windows, Linux, and macOS settings.On macOS 15 and later, sending a UDP broadcast or connecting to a LAN address needs Local Network access, and macOS grants it to the app that launched the server rather than to node:
| Launched from | Who holds the permission |
|---|---|
Claude Desktop (the .mcpb bundle or a JSON config) | Claude Desktop. macOS asks once, and the grant covers every server it launches. |
| Apple's Terminal, or an SSH session | Allowed automatically, with no prompt. |
| A third-party terminal or editor (iTerm2, Ghostty, VS Code, Cursor, …) | That app, which gets the prompt. |
A launchd daemon, or a process running as root | Allowed automatically. |
A launchd agent | Blocked until granted. Run an always-on server as a daemon instead. |
Grant or check it under System Settings > Privacy & Security > Local Network. The first send can fail while the alert is pending, so wol_wake_host may return socket_error; retry after allowing. If that list shows a node entry rather than your client app, enable the node entry. A denied permission also makes wol_check_host read no_answer. Windows and Linux have no per-app gate. wol_list_reference with topic sender-environment covers the rest, including the macOS 15.5+ subnet exemption.
git clone https://github.com/cyanheads/wakeonlan-mcp-server.git
cd wakeonlan-mcp-server
bun install
cp .env.example .env
| Variable | Description | Default |
|---|---|---|
WOL_HOSTS_FILE | Absolute path to the JSON hosts file; a leading ~/ expands to the home directory. Mutually exclusive with WOL_HOSTS. | none |
WOL_HOSTS | The same JSON array inline, for single-host setups or clients where a file is awkward. Mutually exclusive with WOL_HOSTS_FILE. | none |
MCP_TRANSPORT_TYPE | Transport: stdio or http. | stdio |
MCP_HTTP_HOST | HTTP bind address. Anything but loopback requires MCP_AUTH_MODE jwt or oauth. | 127.0.0.1 |
MCP_HTTP_PORT | HTTP server port. | 3010 |
MCP_AUTH_MODE | Authentication: none, jwt, or oauth. | none |
MCP_ALLOWED_ORIGINS | Comma-separated browser origins allowed on the HTTP endpoint. * is refused without jwt or oauth. | loopback origins |
MCP_SESSION_MODE | HTTP session mode: stateless, stateful, or auto. | stateless |
MCP_LOG_LEVEL | Log level (debug, info, warning, error, etc.). | info |
LOGS_DIR | Directory for log files (Node.js only). | /logs |
OTEL_ENABLED | Enable OpenTelemetry. | false |
See .env.example for the full list of optional overrides.
Profiles are a JSON array, read once at startup from WOL_HOSTS_FILE or WOL_HOSTS. Set on
앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요