io.github.csanadymiklos/lauther

Official registry AI and agents

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

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

NPM package lauther-mcp
Claude Code
claude mcp add lauther -e 'LAUTHER_TOKEN=<your lauther_token>' -- npx -y lauther-mcp@0.1.1
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "lauther": {
            "command": "npx",
            "args": [
                "-y",
                "lauther-mcp@0.1.1"
            ],
            "env": {
                "LAUTHER_TOKEN": "<your lauther_token>"
            }
        }
    }
}

Environment variables

  • LAUTHER_TOKEN required secret Your Lauther token. Get one in the Lauther app under Apps -> + -> New token.

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. lauther-js
  2. Why this exists
  3. Development
  4. Links

lauther-js

JavaScript packages for Lauther — push notifications to your phone from any web app or script, and questions that wait for a yes before something irreversible happens.

PackageWhat it is
lauther-clientThe Node client. Zero dependencies, two methods, TypeScript types bundled.
lauther-mcpAn MCP server, so a coding agent can ask its owner for approval on their phone.
npm install lauther-client
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.

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.

MIT

Frequently asked questions

What is io.github.csanadymiklos/lauther?

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

How do I install io.github.csanadymiklos/lauther?

It runs on your machine. In Claude Code: claude mcp add lauther -e 'LAUTHER_TOKEN=<your lauther_token>' -- npx -y lauther-mcp@0.1.1. For other clients, paste the JSON configuration from this page into their MCP settings.

Does io.github.csanadymiklos/lauther need an API key?

Yes. It expects LAUTHER_TOKEN, which you set in its configuration.

Is io.github.csanadymiklos/lauther open source?

Yes. Its code is on GitHub under the MIT license.

Who maintains io.github.csanadymiklos/lauther?

It is published by csanadymiklos. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.