mcpbeat Sign in

Luala MCP Server

answering

Luala is answering right now. Last checked 12 min ago. It exposes 22 tools.

Photo shoots of you from your saved selfies: pick a pack, shoot, edit.

Uptime history 6 days of history
6 days agonow
100.0%
Uptime 24h
91 of 91 checks
22
Tools
read from the server
212 ms
Response time
average over 24h
open, no key
Access
streamable-http

What changed 19

Every tool that appeared, vanished or quietly changed what it asks for. Recorded since 4 November 2026. No other catalogue keeps this.

9 Nov 2 tool descriptions were rewritten add_selfie, start_shoot
9 Nov 2 tools changed the parameters they ask for add_selfie, start_shoot
9 Nov a tool changed version2 times that day
9 Nov a tool appeared list_characters
8 Nov 4 tool descriptions were rewritten edit, get_pack, restore and 1 more
8 Nov 3 tools changed the parameters they ask for edit, restore, start_shoot
8 Nov a tool changed version
4 Nov 2 tools appeared blur_faces, remove_objects
4 Nov a tool changed version2 times that day
and 2 more, back to 4 November 2026

Nothing serious here today

Today is the operative word: we check Luala every 15 minutes and re-read its code on every release. Watch it and you find out the day that stops being true.

Three servers free · no card

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 12 min ago.

run in your terminal
claude mcp add luala --transport http https://luala.app/mcp
Settings → Connectors → Add custom connector, then paste this address
https://luala.app/mcp
~/.codex/config.toml
[mcp_servers.luala]
url = "https://luala.app/mcp"
.cursor/mcp.json
{
  "mcpServers": {
    "luala": {
      "url": "https://luala.app/mcp"
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "luala": {
      "type": "http",
      "url": "https://luala.app/mcp"
    }
  }
}

Available tools 22

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

background
remove_background
Cuts the person out of one of the user's photos, paid from their credits: on a clear (transparent) backdrop unless backdrop names a colour, #rrggbb (the app offers #ffffff, #e9e7e3, #3a3a3c, #000000, #1f2f4d, #bcd7ee, #f2e8d5, #b9c8b0). On a photo that is already a cutout it lays it on another backdrop. Pass the price the user agreed to as max_credits: the photo's prices from get_shoot or list_photos name it. If a call to this tool got no answer, it may already have started: check list_photos before calling it again.
balance
balance
The user's credit balance, about how many photos it buys, and where to buy more.
blur
blur_faces
Hides every face in one of the user's photos, as a new photo, paid from their credits: effect blur or pixelate, strength 0 (light) to 100 (strong). The faces are found by Luala; with none found nothing is started or charged. To keep some faces sharp or hide one it missed, the user opens the photo's link and uses Blur faces in the app. Pass the price the user agreed to as max_credits: the photo's prices from get_shoot or list_photos name it. If a call to this tool got no answer, it may already have started: check list_photos before calling it again.
characters
list_characters
The user's characters: the people their photos are made of, each a set of selfies (the user, or someone who gave them written consent). The default is the one last used, which start_shoot and add_selfie use when no character is passed. When the user has more than one and hasn't said who a shoot is of, ask.
combine
combine
Adds the main subject of another of the user's photos (with_photo_id: an object or a person, a cutout works well) into one of their photos, keeping its scene, framing and light, paid from their credits. with_photo_id may not be a selfie, nor photo_id itself. Pass the price the user agreed to as max_credits: the photo's prices from get_shoot or list_photos name it. If a call to this tool got no answer, it may already have started: check list_photos before calling it again.
edit
edit
Makes an edited copy of one of the user's photos, paid from their credits. type change keeps the pose and framing and changes any of: outfit and place (ids from get_pack of the photo's pack; a place that is a pet or a print, not a scene, is not one to change to), light, the attributes, and text, up to 300 characters of what to change. type zoom_out steps back one step. Pass the price the user agreed to as max_credits: the photo's prices from get_shoot or list_photos name it. Fetch the result with list_photos. If a call to this tool got no answer, it may already have started: check list_photos before calling it again.
light
light_camera
Changes the light, the camera or the look of one of the user's photos, paid from their credits: at most one pick per group (light, lens, angle, focus, look), and/or text, up to 300 characters of what to change. What is not picked stays as it is. light and look keep the pose, framing and scene; a lens, angle or focus pick re-imagines the same moment through that camera, so the framing changes. Pass the price the user agreed to as max_credits: the photo's prices from get_shoot or list_photos name it. If a call to this tool got no answer, it may already have started: check list_photos before calling it again.
objects
remove_objects
Takes what description names out of one of the user's photos, paid from their credits, and fills where it was from what is around it; nothing else in the photo changes. Describe it as the user did, in any language (the people behind me, the bin on the left, the sign and the cables): Luala finds every match and removes the ones the words mean. 4 credits for one or two kinds of thing, 5 for three or four; when nothing matches, nothing is charged and the answer says so. Not on a cutout. Pass the price the user agreed to as max_credits: the photo's prices from get_shoot or list_photos name it. If a call to this tool got no answer, it may already have started: check list_photos before calling it again.
pack
get_pack
A pack's or mix's options (outfit, place, light, shots, shape and the attribute pickers), with ids, labels and defaults, and its price per photo. A pack's top names the 3 pickers to offer first, under the pack's own names; a pack without a place or light has an empty list for it. Each shot is one photo, and the user may pick any of them, from one to all (the default). start_shoot takes these ids.
packs
list_packs
Lists Luala's photo packs (a themed shoot of several photos of the user, made from their selfies) and mixes (one photo from each of several packs), with what all of a pack's photos cost and the price of one: a shoot can be any of a pack's shots, down to a single photo. Optionally only the packs for one use case.
photo
add_photo
Adds one photo to the user's My photos in Luala, free, so it can be edited: an old print to restore, clothes to try on, a photo to change. The answer is the saved photo with its photo_id and edit prices: when the user asked for an edit of it, tell them that edit's price, and once they agree make it with Luala's tool for it on this photo_id, never with another image tool. Pass the file the user attached as photo. If you can't, but the file is in your sandbox, call with its content_type (image/jpeg, image/png or image/webp: convert a HEIC to JPEG first) and size in bytes, PUT the file to the answer's upload url with its headers, then call again with the answer's key. Called with none of these, it answers with the luala.app page where the user adds it. The user accepted the upload rules when connecting Luala.
photos
list_photos
With ids, those photos (up to 10), with a preview of each ready one once none is working: how to fetch an edit's result. While one is working it waits up to 25 seconds for it. Without, the user's latest shoots, newest first, five at a time; pass the answer's next as before for the five after. With uploads true, the photos the user added in the app (My photos) and those made from them, newest first, ten at a time, paged the same way: an old print to restore, clothes to try on, something to add.
replace
replace_background
Puts the person in one of the user's photos somewhere else, keeping their pose and framing, paid from their credits: scene is one of the app's scenes, or text says the place in up to 300 characters; a scene wins when both come. Pass the price the user agreed to as max_credits: the photo's prices from get_shoot or list_photos name it. If a call to this tool got no answer, it may already have started: check list_photos before calling it again.
reroll
reroll
Makes the same photo again, a new take of the same look, paid from the user's credits. Pass the price the user agreed to as max_credits: the photo's prices from get_shoot or list_photos name it. If a call to this tool got no answer, it may already have started: check list_photos before calling it again.
restore
restore
Repairs an old or damaged photo of the user's (a photographed print, most often one from list_photos with uploads), paid from their credits: repair fixes scratches, tears and stains, faces enhances them, colourise adds colour to a black and white one. size 1K is Standard, 2K High quality, 4K Print quality; the price is by size. Pass the price the user agreed to as max_credits: the photo's prices from get_shoot or list_photos name it. If a call to this tool got no answer, it may already have started: check list_photos before calling it again.
selfie
add_selfie
Adds one selfie to one of the user's characters in Luala, which shoots are made from, free: one face, clearly visible, up to 15 selfies a character. It joins the character last used unless character names another. Pass the file the user attached as photo. If you can't, but the file is in your sandbox, call with its content_type (image/jpeg, image/png or image/webp: convert a HEIC to JPEG first) and size in bytes, PUT the file to the answer's upload url with its headers, then call again with the answer's key. Called with none of these, it answers with the luala.app page where the user adds it. The user accepted the upload rules when connecting Luala.
shoot
get_shoot
A shoot's photos: each one's id, whether it is ready, still working or failed (failed photos are refunded), each one's link in the Luala app (the link to give the user), and the shoot's page there; previews of the ready ones once none is working. While photos are working it waits up to 25 seconds for them before answering; call it again until none is working, telling the user how many are ready each time.
start
start_shoot
Starts a shoot of a pack from a character's saved selfies, paid from their credits: one photo per picked shot, at the price get_pack gives. Unless the user has said, offer them the whole pack or only the shots they want, even one. Tell the user the price first and pass it as max_credits; the shoot is refused if it costs more. A photo takes about 20 seconds, a 4K one about 30: follow them with get_shoot. If a call to this tool got no answer, it may already have started: check list_photos before calling it again.
try
try_on
Puts the clothes another of the user's photos shows (with_photo_id) on the person in one of their photos, paid from their credits; part top or bottom takes only that part of the outfit. with_photo_id may not be a selfie, nor photo_id itself. Pass the price the user agreed to as max_credits: the photo's prices from get_shoot or list_photos name it. If a call to this tool got no answer, it may already have started: check list_photos before calling it again.
upload
upload_status
For Luala's widget: whether the file staged at key was saved by add_photo or add_selfie (tool). Read-only.
upscale
upscale
Upscales one of the user's photos to 1K, 2K or 4K, paid from their credits. A photo is offered only the sizes larger than it and at most 4× its size; its prices from get_shoot or list_photos name them. Pass the price the user agreed to as max_credits. If a call to this tool got no answer, it may already have started: check list_photos before calling it again.
zoom
zoom_in
Cuts a frame of the given shape out of one of the user's photos and upscales it to a full photo, paid from their credits. x, y and w are the frame's left edge, top edge and width as fractions of the photo (0 to 1); left out, the largest frame is centred. Pass the price the user agreed to as max_credits: the photo's prices from get_shoot or list_photos name it. If a call to this tool got no answer, it may already have started: check list_photos before calling it again.

Endpoints

URLTransportStateLatencyChecked
https://luala.app/mcp streamable-http answering 198 ms 12 min ago

Alternatives to Luala

same job, measured the same way
MyBestAngle
by mybestangle

Professional profile photos and headshots from your own selfies.

answering
lookunique
by chemic

One-of-a-kind t-shirts from your words, a photo or a picture you made. Ordered on lookunique.eu.

8 tools answering
Stick
by stick

Build and edit link-in-bio and landing pages on Stick from chat. Saves drafts; you publish.

answering
Photo AI Studio
by photoaistudio

AI photos from a selfie across 150+ themes, plus 19 image edits and AI video.

12 tools answering
Kive
by kive

AI product photography: on-brand product shots, images and videos from your Kive workspace.

answering
Caelo CMS
by caelo-cms

Edit a self-hosted Caelo CMS site from your agent. Changes land in a draft; a human publishes.

3 637 installs/wk local only
LickityClick
by lickity

Create, edit and track LickityClick short links, campaigns and click stats from your AI assistant.

842 installs/wk answering
Perly Pay
by perly

Sell for crypto from your editor: products, payment links, invoices and test payments.

691 installs/wk local only

Luala — questions

Answers built from our own checks of this server.

What can Luala do?
It exposes 22 tools, read directly from the server on our last check. Among them: add_photo, add_selfie, balance, blur_faces, combine, edit and 16 more. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
Is Luala working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 91 of 91 checks got a reply (100.0%), average response time 212 ms. The bar chart above shows every period we have measured.
How do I connect Luala?
Copy the ready config from this page. We generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each in the form that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does Luala need an API key?
No. Luala completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 22 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is Luala?
It answers our handshake in 212 ms on average, which is faster than 64% of all working MCP servers we measure. The comparison comes from our own checks across the whole registry, every 15 minutes.