Hwip
Overview
Description from the maker (original English)
Notify your phone, ask questions and get answers back from AI coding agents via Hwip.
What you can do with it
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
- Connection: Runs on your computer
- Transport: stdio
- Category: Developer tools
- You need to fill in: HWIP_API_KEY
Install
Pick the AI app you use, then copy the settings.
Passed 2/2 checks · Runs on your computer
First: which AI do you use?
Pick your app and the steps appear below.
Works with Claude, with some setup first
You need a Hwip key (sign up on the maker’s site, may cost money) · Install Node.js on your computer first (one time) · Only the Claude desktop app (Windows or Mac), not the web or phone
Install Node.js
One time only; it works for every server that needs Node.js
Sign up and create a Hwip key
Open the maker’s site, sign up and create an API key for the next step. It may cost money.
How to get a key is in the maker’s README below
Open the Claude desktop app’s settings file
SettingsDeveloperEdit Config
Paste these settings and save the file
{ "mcpServers": { "hwipit": { "command": "npx", "args": [ "-y", "@hwip/mcp-server" ], "env": { "HWIP_API_KEY": "your-value" } } } }Paste the key only into the app’s field, never into a chat or to anyone
Quit Claude and open it again
Try it
Use Hwip and tell me what you can do for me, then show me one thing✓ If Claude says it is using Hwip or shows a Hwip tool in the answer, you are connected
Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version
ChatGPT cannot connect Hwip yet
Hwip runs on your computer, but ChatGPT can only connect servers that run on the web
What you can do instead
A · Use an app that can connect Hwip
- You need a Hwip key (sign up on the maker’s site, may cost money) · Install Node.js on your computer first (one time) · Only the Claude desktop app (Windows or Mac), not the web or phone
- You need a Hwip key (sign up on the maker’s site, may cost money) · Install Node.js on your computer first (one time)
- You need a Hwip key (sign up on the maker’s site, may cost money) · Install Node.js on your computer first (one time)
- You need a Hwip key (sign up on the maker’s site, may cost money) · Install Node.js on your computer first (one time)
B · Others in Developer tools that work with ChatGPT
Picked from the most used in the same category, only ones that connect by address with no key
- Sentry✓ ChatGPT
- Front-End Checklist✓ ChatGPT
- Compiler Explorer✓ ChatGPT
Works with Claude Code, with some setup first
You need a Hwip key (sign up on the maker’s site, may cost money) · Install Node.js on your computer first (one time)
Install Node.js
One time only; it works for every server that needs Node.js
Sign up and create a Hwip key
Open the maker’s site, sign up and create an API key for the next step. It may cost money.
How to get a key is in the maker’s README below
Open Terminal
Mac: press Command+Space and type Terminal · Windows: open PowerShell
Paste this command and press Enter
claude mcp add hwipit --env HWIP_API_KEY=your-value -- npx -y @hwip/mcp-serverReplace “your-value” with your key before pressing Enter
Paste the key only into the app’s field, never into a chat or to anyone
Type /mcp in Claude Code
You should see Hwip listed as connected
Try it
Use Hwip and tell me what you can do for me, then show me one thing✓ If Claude Code says it is using Hwip or shows a Hwip tool in the answer, you are connected
Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Works with Cursor, with some setup first
You need a Hwip key (sign up on the maker’s site, may cost money) · Install Node.js on your computer first (one time)
Install Node.js
One time only; it works for every server that needs Node.js
Sign up and create a Hwip key
Open the maker’s site, sign up and create an API key for the next step. It may cost money.
How to get a key is in the maker’s README below
Fill in your key
In the Hwip settings, HWIP_API_KEY is empty; add your key and save
Paste the key only into the app’s field, never into a chat or to anyone
Open the AI chat in Cursor in Agent mode
Try it
Use Hwip and tell me what you can do for me, then show me one thing✓ If Cursor says it is using Hwip or shows a Hwip tool in the answer, you are connected
Menu names checked against Cursor’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Works with VS Code, with some setup first
You need a Hwip key (sign up on the maker’s site, may cost money) · Install Node.js on your computer first (one time)
Install Node.js
One time only; it works for every server that needs Node.js
Sign up and create a Hwip key
Open the maker’s site, sign up and create an API key for the next step. It may cost money.
How to get a key is in the maker’s README below
Fill in your key
In the Hwip settings, HWIP_API_KEY is empty; add your key and save
Paste the key only into the app’s field, never into a chat or to anyone
Open the AI chat in VS Code in Agent mode
Try it
Use Hwip and tell me what you can do for me, then show me one thing✓ If VS Code says it is using Hwip or shows a Hwip tool in the answer, you are connected
Menu names checked against VS Code’s help page on Nov 11, 2026 · your screen may differ slightly by app version
For developers: Terminal commands and JSON settings
Installed on your computer
Claude Code
claude mcp add hwipit --env HWIP_API_KEY=your-value -- npx -y @hwip/mcp-serverClaude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"hwipit": {
"command": "npx",
"args": [
"-y",
"@hwip/mcp-server"
],
"env": {
"HWIP_API_KEY": "your-value"
}
}
}
}Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"hwipit": {
"command": "npx",
"args": [
"-y",
"@hwip/mcp-server"
],
"env": {
"HWIP_API_KEY": "your-value"
}
}
}
}VS Code (mcp.json)
{
"servers": {
"hwipit": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@hwip/mcp-server"
],
"env": {
"HWIP_API_KEY": "your-value"
}
}
}
}Values you fill in
HWIP_API_KEYsecret envYour Hwip API key. Optional when ~/.hwip/config.json (from `hwip login`) holds one.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
At a glance
Which apps can use it
Based on how this server connects and on each app’s own docs, checked Nov 10, 2026.
Run on your computer in
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
Related guides
What it can do
Runs on your computer; the tool list appears in your AI app after you install it.
Basic checksi
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 11, 2026
- ✓ Pass
Maker matches the repo
The registry name was verified with the GitHub account hwipit, which owns the repo
- ✓ Pass
Still maintained
Code last changed 6 days ago
- … Not checked yet
Has a licence
We have not read this repo from GitHub yet
- – Not applicable
Endpoint responds
This one runs on your computer; there is no internet endpoint
- – Not applicable
Sign-in with OAuth
Runs on your computer and uses local settings instead
- … Not checked yet
No hidden instructions in tool descriptions
Runs on your computer; we can only read tool lists from internet endpoints
Discussion
Ask, share a tip or report that it does not work. Sorted by what people marked helpful.
No posts yet. Be the first to ask or share.
Posts here are written by users, not the PopNx team.
User reviews
No reviews yet
Compared with others in Developer toolsi
- More stars than 0% of the other 5751 servers in this category
- Published to the registry more recently than 75% of the other 5751 servers in this category
- Basic checks equal to or better than 100% of the other 5751 servers in this category
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
Common questions
Is Hwip safe?
It passed 2 of 2 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
What keys or codes does it need?
You need to fill in: HWIP_API_KEY
Does it run on my computer or in the cloud?
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
Is it still maintained?
The GitHub repo last changed 6 days ago, and the latest version (0.1.7) reached the registry 6 days ago.
Which apps can use it?
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.
What can I use instead?
In the same category: REA, Netdata, Front-End Checklist
Alternatives
Servers in the same category from other makers, sorted by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Netdata
Real-time infrastructure monitoring with metrics, logs, alerts, and ML-based anomaly detection.
Front-End Checklist
Review frontend code and live pages against 386 quality-gated web development rules.
README from the maker
Open the README
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
@hwip/mcp-server
Your agent calls `hwip_ask`; the question lands on your phone as buttons + a text field; your reply comes back into the same tool call and the agent keeps going.
Hwip's MCP server is the agent side of that round trip — plus one-way notifications, clipboard, files, and channel broadcasts, all over the Model Context Protocol. Works with Claude Code, Cursor, Windsurf, Gemini CLI, and any MCP client.
Your agent calls hwip_ask → the question hits your phone → you tap Deploy → the call returns and the agent ships.
Part of the Hwip toolchain: @hwip/cli (installer, push CLI, tmux remote control) · hwipit/plugin (Claude Code plugin bundling this server) · the Hwip app on your phone.
New here? docs.hwip.app walks the whole setup — one command on your machine, the app on your phone, and a restart. The reference below assumes that is already done.
Setup
The easiest way to set up for all agents at once:
npm install -g @hwip/cli
hwip install
Needs Node 18.17 or later. On Node 22 or later hwip_ask hears the answer over a WebSocket the moment it is given; on older Node it polls, and the server says so on stderr at start.
This saves credentials to ~/.hwip/config.json and configures your agents automatically. The MCP server reads from this file — no env vars needed. Install globally so hwip cc (phone-driven sessions) works and hooks skip an npx cold-start; npx @hwip/cli install is a notifications-only alternative.
Claude Code (manual)
Install the server once, so each session starts the hwip-mcp binary directly instead of resolving the package through npx first:
npm install -g @hwip/mcp-server
Add to ~/.claude/settings.json:
{
"mcpServers": { "hwip": { "command": "hwip-mcp" } } }
Without a global install, "command": "npx", "args": ["-y", "@hwip/mcp-server"] works too; it only starts slower, because every session resolves the package first.
No env block needed: credentials come from ~/.hwip/config.json (written by hwip install). Add env vars only to override the file — e.g. a second account:
"env": { "HWIP_API_KEY": "ak_other_account" }
Cursor / Other MCP Clients
{
"command": "hwip-mcp" }
(after npm install -g @hwip/mcp-server, or "command": "npx", "args": ["-y", "@hwip/mcp-server"] without it.)
Environment Variables
| Variable | Required | Description |
|---|---|---|
HWIP_API_KEY | Yes* | API key from Settings > API Keys. One that cannot be sent as a header — a line break or another control character inside it, a character no key has — stops the server at start, with a message that says where the key is set and nothing of the key. So does an apiKey in ~/.hwip/config.json that is not text |
HWIP_HOOK_ID | No | Hook ID (optional — only needed for hwip_ask) |
HWIP_DEVICE_ID | No | Default target device for hwip_notify, hwip_clipboard and hwip_file (each call's targetDeviceId wins). Omit to send to all devices. hwip_ask does not use it |
HWIP_BASE_URL | No | API base URL (default: https://api.hwip.app/v1). A base URL that answers with a redirect is refused (REDIRECT_REFUSED): requests that carry your API key never follow one |
HWIP_WS_URL | No | Deprecated. WebSocket endpoint for the hook-response fast path. wsUrl in ~/.hwip/config.json wins over it and is where the value belongs; this is read only when the file has none, so a machine that predates the config field keeps working. It will stop being read |
HWIP_DISABLE_SESSION_CACHE | No | Set to 1/true to skip writing the session-id handoff file under ~/.cache/hwip/. Useful for read-only filesystems, ephemeral CI runners, or sandboxed envs that audit filesystem writes. The plugin's stop hook still works without it (transcript-path UUID extraction is the primary path; the cache is a fallback for older Claude Code versions). |
HWIP_AUTONAME | No | Set to 1/true to offer hwip_session_title, so the agent names its own session. hwip install sets it for agents with no session title of their own |
HWIP_SESSION_ID | No | Override the session id attached to pushes (grouping in the app). Auto-detected from the newest Claude Code transcript when unset |
\* If env vars are not set, the server reads from ~/.hwip/config.json (created by hwip install or hwip login). Unresolved ${...} interpolations are also treated as unset.
~/.hwip/config.json
| Key | Same as | Notes |
|---|---|---|
apiKey | HWIP_API_KEY | The environment variable wins |
baseUrl | HWIP_BASE_URL | The environment variable wins |
wsUrl | HWIP_WS_URL (deprecated) | The file wins. With neither, the prod API (https://api.hwip.app/v1) gets wss://ws.hwip.app, the cli listener's rule; another API base gets no socket, and hwip_ask polls |
hookId | HWIP_HOOK_ID | The environment variable wins |
deviceId | HWIP_DEVICE_ID | The environment variable wins |
A file that is not used because it is not valid JSON or UTF-8 text, or cannot be read, is named on stderr ("…so it is being ignored") even when HWIP_API_KEY is set: its hookId and deviceId are dropped with it.
Without an API key the server stops at start and says why: the file does not exist, it is not valid JSON, it is not valid UTF-8 text (such a file is not used at all, as in the cli), it has no apiKey, or it was ignored (below).
The file holds the key and says where the key is sent, so the server checks it before reading, by the same rule as the cli:
- Another user owns it, or anyone can write it (mode
002): the file is ignored —HWIP_API_KEYstill works — and a line on stderr says so. Runchmod 600 ~/.hwip/config.json. - The group can read or write it, or others can read it: used, with a warning. The server only reads the file;
hwip loginis what narrows it to0600. - A symlinked file (a dotfiles checkout) is judged by what it points at.
- A file that is not valid JSON, or cannot be read, may hold the
baseUrlyour key belongs to (staging, self-hosted), so a key fromHWIP_API_KEYis not sent to the default API in its place: the server stops at start, names the file, and goes ahead onceHWIP_BASE_URLsays where the key goes. (A file ignored for its mode is not trusted for a base URL either, and the default stands.) - A key from the file does not follow an address from the environment. The key in
~/.hwip/config.jsonbelongs to the addresses the file says (baseUrl, else the default API). IfHWIP_BASE_URLnames another origin, the server stops at start, naming both origins and no more, and goes ahead onceHWIP_API_KEYis set too (a key you gave with the address) or the variable is unset or on the same origin. The deprecatedHWIP_WS_URLis held to the same rule — with the file's key it is used only for the default socket's origin, otherwise it is skipped with a line on stderr (hwip_askpolls) — and puttingwsUrlin the file is the way to name another socket. wsUrlhas to be aws://orwss://URL without a space or#fragment; one that is not is ignored with a warning (the default socket, or polling).ws://andhttp://to a host other than this machine work, with a warning that the key travels in the clear.
Limits on what the server reads
A reply from the API is read only up to 8 MiB (an error body, 64 KiB), counted on the bytes that arrive rather than on Content-Length; a file download, up to 1 GiB. Past that the call fails with RESPONSE_TOO_LARGE or FILE_TOO_LARGE. The message the API words for an error reaches the agent as one line of at most 300 characters, control characters turned into spaces, and an error code that is not made of letters, digits and _.:- becomes UNKNOWN_ERROR.
Tools
Push titles are automatically prefixed with the project directory name — myapp · Build complete — so the phone feed stays scannable when several sessions push at once.
hwip_notify
Send a one-way push notification. An optional url opens on the device; the push stays a notification (a long body goes as a response.md file push instead).
title: "Build complete"
body: "All 42 tests passed" url: "https://github.com/org/repo/actions/runs/123" (optional) priority: "low" | "normal" | "high" | "urgent" targetDeviceId: "dev_..." (optional, overrides HWIP_DEVICE_ID)
hwip_clipboard
Copy text to the user's device clipboard. At most 96 KiB, measured as the server does (the text as JSON, UTF-8); longer text is refused with BODY_TOO_LONG before it is sent — use hwip_file with content. Not end-to-end encrypted (see Encryption): do not use it for secrets (keys, tokens, passwords); use hwip_notify or hwip_file for those.
text: "npm install @hwip/mcp-server"
targetDeviceId: "dev_..." (optional)
hwip_list
List recent push notifications.
limit: 5 (1-20, default: 5)
type: "note" (optional filter: note, link, file, clipboard, hook)
Returns: { pushes: [...], total: 5, hasMore: true }. A body is cut to 100 characters. An end-to-end encrypted push shows encrypted: true and no title or body — only the user's devices can open it.
hwip_dismiss
Mark a specific push as read.
pushId: "push_01HX..."
hwip_dismiss_all
Clear all notifications at once. No parameters.
Returns: { dismissed: 12, badge: 0 }
hwip_devices · hwip_channels
Read-only lookups for the ids other tools take: hwip_devices returns { devices } (a deviceId is hwip_notify's targetDeviceId), hwip_channels returns { channels } (a channelId for hwip_broadcast). The same lists are the hwip://devices and hwip://channels resources, for clients that read resources.
hwip_broadcast
Send a notification to all subscribers of a channel.
channelId: "ch_..."
title: "Deploy complete" body: "v2.1.0 is live" url: "https://..." (optional) priority: "normal"
hwip_file
Send files to the user's device. One of filePath (a file already on disk), filePaths (several files on disk) or content (text you generated) is required.
filePath: "/abs/path/screenshot.png" (images, PDFs, logs — anything on disk)
filePaths: ["/abs/a.png", "/abs/b.png"] (up to 20, sent together; not with filePath or content) content: "{\"status\": \"ok\"}" (text only; requires fileName) fileName: "report.json" (required with content; defaults to basename of filePath) title: "Build Report" (optional, defaults to fileName, or "N files") targetDeviceId: "dev_..." (optional)
Images are delivered with their real mime type and render inline on the device. Never base64 a binary file into content — pass filePath and the server reads the bytes off disk.
Several files asked for at once (screenshots of one change, a set of logs) go in one call with filePaths: they arrive as one message, five to a push (the server's li