Lauther MCP

Communauté Outils de développement

Let an agent ask its owner first, on their phone, before doing something irreversible. askapproval blocks until a person answers and distinguishes DENIED from NO ANSWER, so a timeout is never read as consent; a fingerprint can be required, and the answer records that a human gave it. sendnotification covers one-way alerts with priorities and quiet hours. Works with Claude Code, Cursor, Windsurf or anything else that speaks MCP — npx -y lauther-mcp.

Installation

Les étapes d'installation sont dans la documentation ci-dessous. Documentation

Documentation

Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.

Sommaire
  1. lauther-mcp
  2. Setup
  3. The tools
  4. Telling your agent when to use it
  5. Suggesting it as a habit
  6. Related
  7. Worth knowing

lauther-mcp

Let your coding agent ask you first, on your phone, before it does something you can't undo.

Agent:  About to drop and recreate `users` on staging. Approving?
Phone:  [ Approve ]  [ Deny ]        ← optionally behind your fingerprint
Agent:  APPROVED after 34s. Confirmed by biometric.

Works with Claude Code, Cursor, Windsurf, or anything else that speaks MCP.

Setup

Get a token in the Lauther app: Apps → + → New token. Then add the server to your MCP config:

{
  "mcpServers": {
    "lauther": {
      "command": "npx",
      "args": ["-y", "lauther-mcp"],
      "env": { "LAUTHER_TOKEN": "lpt_your_token" }
    }
  }
}

Nothing to install — npx fetches it. Node 18+.

The tools

ask_approval

Blocks until you answer, then tells the agent one of three things:

ResultWhat the agent is told
APPROVEDproceed with exactly what was asked, and nothing further
DENIEDstop; do not retry, do not find another way
NO ANSWERstop — silence is not consent

That last row is the one that matters. A timeout is not a yes, and the tool says so in words the model has to read.

Options: details for context, require_biometric to demand a fingerprint, timeout_seconds for how long you're willing to wait (default 120).

On waiting. Lauther's API long-polls for at most 25 seconds. Past that this server keeps asking about the same notification rather than sending another, so a ten-minute wait still puts one question on your phone — not one every half minute.

send_notification

One-way: "the migration finished", "the build broke". Takes title, message, priority and url. Only urgent crosses your quiet hours.

It reports what actually happened, including the case worth knowing about: if no device is registered on your account, you're told that rather than given a cheerful success for a notification nobody received.

get_location

Asks you to share where you are, once. You get a prompt on your phone with Share location and Decline; the agent receives one position, as it was when you tapped.

ResultWhat the agent is told
SHAREDlatitude, longitude, accuracy in metres, and when it was read
DECLINEDdo not retry and do not find the location another way
NO ANSWERsilence is not consent; nothing was shared
EXPIREDthe request lapsed on your phone; nothing was shared

Options: question (what you see on the prompt), details, require_biometric, timeout_seconds (default 120).

request_photo

Asks you for one picture, taken on the spot or picked from your library. The agent gets the link and the image itself, so it can look at it. The link works for 7 days, after which the photo is deleted. If the image cannot be fetched the agent still gets the text and the link.

Same options and the same four outcomes as get_location.

ask_text

Asks you a short question and waits for you to type the answer on your phone: a verification code, a choice, a name, a fact only you know. The prompt shows the question and a field, with Reply and Decline. Answers run to 500 characters, so it is for short things.

ResultWhat the agent is told
ANSWEREDexactly what you typed, in quotes
DECLINEDdo not retry and do not get the answer another way
NO ANSWERsilence is not consent; nothing was sent
EXPIREDthe request lapsed on your phone; nothing was sent

Options: question (default "Answer a question?"), details, placeholder (a hint in the field, such as "6-digit code"), require_biometric, timeout_seconds (default 120).

Telling your agent when to use it

Most models won't reach for an approval tool unless asked. Something like this in your project rules works well:

Before anything irreversible — deploying, deleting data, spending money,
force-pushing, emailing real people, touching production — call
ask_approval and wait. Proceed only on APPROVED.

Suggesting it as a habit

The approval is signed and, when you ask for it, biometric — the answer records that a person confirmed it, not merely that something clicked. That is the difference between an audit trail and a log line.

  • lauther-client — the plain Node client, if you want push and approvals in your own code rather than in an agent.
  • Docs · Recipes
  • Something wrong? hello@lauther.id reaches a human.

Worth knowing

  • Hosted only. The relay holds the APNs connection and the identity layer.
  • Not end-to-end encrypted. Don't put secrets in the question text.
  • The app is free on the App Store and Google Play.

MIT

Questions fréquentes

Qu'est-ce que Lauther MCP ?

Let an agent ask its owner first, on their phone, before doing something irreversible. askapproval blocks until a person answers and distinguishes DENIED from NO ANSWER, so a timeout is never read as consent; a fingerprint can be required, and the answer records that a human gave it. sendnotification covers one-way alerts with priorities and quiet hours. Works with Claude Code, Cursor, Windsurf or anything else that speaks MCP — npx -y lauther-mcp.

Comment installer Lauther MCP ?

Suivez les étapes d'installation de sa documentation, affichée sur cette page et dans son dépôt.

Lauther MCP est-il open source ?

Oui. Son code est sur GitHub sous licence MIT.

Qui maintient Lauther MCP ?

Il est publié par csanadymiklos. AI.tn le référence sans le maintenir ni le recommander.

Issu des listes communautaires awesome-mcp-servers et du dépôt GitHub du projet. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.