For AI agents

Connect your AI agent
to Lutin.

Lutin speaks MCP — the Model Context Protocol. A compatible assistant can help you read your homes, lights, and presses, then control the lights once you approve access. No passwords. No API keys to paste.

Start by telling your agent

If you already chat with an MCP-capable assistant, just ask it to connect and point it at this page. It reads the guide, opens a pairing request for your email, and asks you to approve.

Say this

"Connect to Lutin. Read https://lutin.one/SKILL.md and connect over MCP. I registered with you@example.com."

Your email is only a routing hint for the approval — your agent should never ask for your password, one-time login code, or any token.

Connection details

Point your agent at the MCP endpoint and the agent-readable guide. The guide is plain Markdown, meant for machines as much as people.

MCP endpointhttps://app.lutin.one/mcp
Agent-readable guidehttps://lutin.one/SKILL.md Open

Configuration snippets

If your runtime supports remote MCP servers, add Lutin as a streamable HTTP server. Reload the runtime afterward so it can discover the tools.

Generic MCP (JSON)
{
  "mcpServers": {
    "lutin": {
      "url": "https://app.lutin.one/mcp"
    }
  }
}
Hermes (YAML)
mcp_servers:
  lutin:
    url: "https://app.lutin.one/mcp"

Connecting Claude Desktop

Desktop apps like Claude Desktop don't take a chat prompt — they add Lutin as a custom connector and sign in over OAuth. A quick one-time setup; after that it behaves like any other agent here.

1In Claude, open Customize → Connectors → + Add custom connector.
2Name it Lutin and paste https://app.lutin.one/mcp into the Remote MCP server URL field, then click Add.
3Click Connect. Claude opens Lutin in your browser — the standard OAuth handshake.
4Sign in the usual passwordless way (your email + the one-time code we send), then choose Use or Manage access and approve.
5Back in Claude, grant permission for the tools whenever it asks — exactly like any other connector.

Other connector-style desktop clients follow the same shape: add the endpoint URL above, click Connect, sign in to Lutin in the browser, and approve a scope.

Connecting Codex

Codex adds Lutin as a remote MCP server — the same endpoint, reached through Codex's own server settings. It signs in over OAuth; no token or key to paste.

1In Codex, open Settings → MCP Servers → + Add server, then choose Streamable HTTP.
2Set Name to Lutin and URL to https://app.lutin.one/mcp. Leave the bearer-token and header fields empty, then Save.
3Click Authenticate — or, in the Codex CLI, run codex mcp login. Codex opens Lutin in your browser for the OAuth sign-in.
4Sign in passwordlessly and approve Use or Manage access — and Codex is connected.

No bearer token, header, or API key is needed — Codex completes a standard OAuth sign-in, then stores its own scoped token.

What you're approving

You choose the scope when you approve, and you can revoke it anytime from your account — the token stops working immediately.

Use

view and press existing buttons

  • See your homes, rooms, lights, and saved presses
  • Read current light state and reachability when available
  • Press an existing saved button/press by name
  • Help plan changes before anything new is saved or sent directly to the lights

Manage

direct control and setup changes, when you ask

  • Everything in Use
  • Turn lights or whole rooms on, off, brighter, warmer, or a chosen colour
  • Create, edit, reorder, share, or remove presses
  • Rename lights and manage house setup when you ask

No passwords. No API keys.

Lutin uses passwordless sign-in throughout: command-line agents go through user-approved pairing, and desktop apps like Claude Desktop and Codex sign in over OAuth.

Your agent starts a pairing request for your registered email and the scope it needs, then shows you the approval link.
You approve once. It should never ask for your password, one-time login code, API key, bearer token, or session token.
The agent keeps its token in its own secure storage. You can revoke access later, anytime.

How a good agent behaves here

Lutin is intentionally simple: presses are one-tap light states for a home. A well-behaved agent keeps that spirit — it helps with the lights without pretending the house is more knowable than it is.

Treat reachability as an affordance, not a verdict: a light may be off at the wall, asleep, or temporarily unreachable.
Say what changed in plain language: "I set the bedroom lamps to evening red," not a dump of device IDs.
Make the smallest change that satisfies your request, identify the exact room, light, or press before editing, and read it back to confirm.
Verify a fresh connection with a harmless read — list houses, lights, or presses — not by changing a real light.

If a connection won't take

Most snags come down to one small thing. In order of likelihood:

The pairing request is still pending approval — approve the link your agent showed you.
The link expired — ask the agent to start a fresh request.
The email doesn't match the one you registered with — confirm it.
The runtime needs a restart after adding the MCP server, or you need Manage access for the action.
Lutin can be connected while Philips Hue is not — if Hue is disconnected or the bridge is unreachable, the agent should say that clearly rather than inventing a light state.

Point your agent at the guide.

The full, machine-readable instructions live in one plain-Markdown file. Hand your assistant this URL and it has everything it needs.

lutin.one/SKILL.md
Open SKILL.md →