Back to the catalog

io.github.csanadymiklos/lauther

Puts Approve/Deny on your phone before an agent acts, and waits for your fingerprint.

Open source Open in the app JSON README (API)

About

Puts Approve/Deny on your phone before an agent acts, and waits for your fingerprint.

Details

Kind
MCP servers
Topic
No topic detected
Publisher
csanadymiklos
Origin
official
Category
ferramentas
Transport
local
Version
0.1.1
Last push
2026-09-04T19:41:34Z
Repository state
ativo
Language
JavaScript
Added
2026-09-04 20:00:53
Updated
2026-09-04 20:00:53
Origin id
io.github.csanadymiklos/lauther

README

# lauther-js

JavaScript packages for [Lauther](https://lauther.app) — push notifications to
your phone from any web app or script, and questions that **wait for a yes**
before something irreversible happens.

| Package | What it is |
| --- | --- |
| [`lauther-client`](packages/lauther-client) | The Node client. Zero dependencies, two methods, TypeScript types bundled. |
| [`lauther-mcp`](packages/lauther-mcp) | An MCP server, so a coding agent can ask its owner for approval on their phone. |

```bash
npm install lauther-client
```

```js
import { Lauther } from "lauther-client";

const lauther = new Lauther(process.env.LAUTHER_TOKEN);

await lauther.push({ title: "Backup finished" });

if (await lauther.ask("Deploy v2.4 to production?")) {
  await deploy();
}
```

**Only an explicit Approve returns `true`.** A denial and a timeout are both
`false` — an unanswered question must never read as a yes.

## Why this exists

A browser tab can't reach someone who closed it, and building a native app per
project to fix that was never going to happen. Lauther is one app your projects
share over an HTTP call.

## Development

Node 18+. npm workspaces, no build step, no bundler.

```bash
npm install
npm test          # both packages
```

`lauther-client` has no runtime dependencies and is tested with a stubbed `fetch`.
`lauther-mcp` is tested by spawning the real server over stdio and driving it
with a real MCP client against a fake Lauther API — so a broken tool schema or
broken stdio wiring fails the suite rather than a user's agent.

## Links

- [lauther.app](https://lauther.app) · [Docs](https://lauther.app/docs.html)
- [Recipes](https://github.com/csanadymiklos/lauther-examples) for curl,
  Python, Home Assistant, Uptime Kuma and GitHub Actions
- The app: [App Store](https://apps.apple.com/app/id6802635695) ·
  [Google Play](https://play.google.com/store/apps/details?id=id.lauther)
- **hello@lauther.id** reaches a human.

MIT

More