mcpField
L
lauther

lauther

Local
lauther.appSecurity0Updated 2w ago

About lauther

lauther is an MCP server that lets coding agents request phone-based confirmation before sensitive actions. It waits for approval, denial, or timeout, with optional biometric confirmation, and also supports phone requests for location, photos, and short answers.

Key features

  1. 01Phone-based approval requests
  2. 02Optional biometric confirmation
  3. 03Push notifications
  4. 04Location and photo requests
  5. 05Short text questions

Use cases

  1. 01Confirming deployments or data deletion
  2. 02Getting a person’s location or photo
  3. 03Requesting a verification code
  4. 04Notifying about a completed build

MCP support

Exposes approval, notification, location, photo, and text-request tools to MCP clients such as coding agents. Approval requests wait for a phone response and return explicit approved, denied, or no-answer outcomes.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"csanadymiklos-lauther": {
"command": "npx",
"args": [
"-y",
"lauther-mcp"
],
"env": {
"LAUTHER_TOKEN": "<LAUTHER_TOKEN>"
}
}
}
}
Run commandnpx -y lauther-mcp
Environment variables to set
LAUTHER_TOKENSecretYour Lauther token. Get one in the Lauther app under Apps -> + -> New token.

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npmlauther-mcp0.1.1

Tools

2

Saved tool list · updated 2w ago

ParameterTypeRequiredDescription
detailsstringNoContext that helps them decide — what changes, how much it costs, what breaks if it goes wrong.
questionstringYesThe question, as the person will read it on a lock screen. Be specific: 'Drop and recreate the users table on staging?' beats 'Proceed?'.
timeout_secondsintegerNoHow long to wait for an answer. Defaults to 120.
require_biometricbooleanNoDemand a fingerprint or face before the approval counts. Denying never requires one; refusing should always be cheap.

Details

From the project README

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.

Related

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

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.