# noglow-mcp

Drops a short text fragment straight into [noglow](https://devglow.app/noglow),
the titleless scratchpad.

Exposes a single tool, `drop(text)`, that places a plaintext fragment into the
slot you set as the drop target (settings → general; default slot 8). Newlines
and formatting survive intact, so you can read it, tweak it, and paste it
somewhere else. Dragging the same text out of a terminal mangles the wrapping.

**Requires the noglow desktop app.** The drop reaches the app running on the
same machine. [Download for macOS or Windows](https://devglow.app/noglow).

The channel is source-neutral: this server is the first caller, but any local
tool can drive the same mechanism (`noglow --drop-file <path>`).

## How it works

1. `drop(text)` validates the length (≤1500 chars), writes the text to a
   uniquely-named temp file, and spawns the noglow binary with
   `--drop-file <path>`.
2. The text travels as a file (path-only on argv), never as a literal argv
   string. That preserves newlines, quotes, `$`, and backticks losslessly, and
   keeps the text out of `ps`.
3. noglow receives the payload via `tauri-plugin-single-instance` (running app)
   or on cold boot (launched-with-the-flag), reads + deletes the temp file, and
   appends the text to the target slot through normal state. It then switches to
   that slot, focuses the window, and shows a `received` toast.

## Install

### Claude Code

```bash
claude mcp add -s user noglow -- npx -y --prefer-offline noglow-mcp@latest
```

### Cursor / other stdio MCP clients

Run the server with:

```bash
npx -y --prefer-offline noglow-mcp@latest
```

or add it to your client's MCP config:

```json
{
  "mcpServers": {
    "noglow": {
      "command": "npx",
      "args": ["-y", "--prefer-offline", "noglow-mcp@latest"]
    }
  }
}
```

### Env

- `NOGLOW_BIN` overrides the noglow binary path. It defaults to
  `/Applications/noglow.app/Contents/MacOS/noglow` on macOS, and to
  `%LOCALAPPDATA%\noglow\noglow.exe` on Windows (the per-user NSIS install
  location). Set it explicitly for a per-machine Windows install under Program
  Files, or to point at a dev build (`src-tauri/target/debug/noglow`).

## Usage discipline

`drop` fires only on an **explicit user request** ("send it to noglow", "drop it
in the inbox"). An agent may offer to drop when the moment is natural, but never
drops unprompted. It is for short take-it-elsewhere fragments, not code blocks,
command output, long analysis, or anything meant for permanent storage. The
1500-character cap enforces that.

## Links

- [noglow](https://devglow.app/noglow) (product page and download)
- [Changelog](https://devglow.app/noglow/changelog)

## License

MIT
