Skip to main content
Glama

@lunaar/mcp-server

Model Context Protocol server for the Lunaar Public API. Lets Claude, Cursor, Windsurf and any other MCP-compatible host use Lunaar's AI building blocks — sketch-to-render, virtual try-on, jewelry / glasses compositing, body measurement extraction, image-to-3D, AR viewer publishing, upscaling — as native tools, all called by name from chat.

Quick install

You'll need an API key. Sign up at platform.lunaarvision.comAPI Keys → New key and copy the lk_live_… value once.

Claude Desktop / Claude Code

~/Library/Application Support/Claude/claude_desktop_config.json (macOS) — or the equivalent on Windows / Linux:

{
  "mcpServers": {
    "lunaar": {
      "command": "npx",
      "args": ["-y", "@lunaar/mcp-server"],
      "env": {
        "LUNAAR_API_KEY": "lk_live_REPLACE_ME"
      }
    }
  }
}

Cursor

~/.cursor/mcp.json (or Settings → Features → Model Context Protocol):

{
  "mcpServers": {
    "lunaar": {
      "command": "npx",
      "args": ["-y", "@lunaar/mcp-server"],
      "env": { "LUNAAR_API_KEY": "lk_live_REPLACE_ME" }
    }
  }
}

Windsurf

~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "lunaar": {
      "command": "npx",
      "args": ["-y", "@lunaar/mcp-server"],
      "env": { "LUNAAR_API_KEY": "lk_live_REPLACE_ME" }
    }
  }
}

Restart the host after editing config. The Lunaar tools should appear in the tool picker / /mcp list.

Related MCP server: arcframe-mcp

Tools exposed

Tool

Use it for

Cost

lunaar_sketch_to_render

Convert an interior / exterior / kitchen sketch to a photoreal render.

15 credits

lunaar_studio_tryon

Virtual try-on. Modes: single_item, combo, layer, summer.

10-15 credits

lunaar_studio_poses

Generate alternate-pose variants (Front / Side45 / Side90 / Back) of a previously rendered Studio item.

10 / pose

lunaar_jewelry_tryon

Composite a jewelry product onto a model or display surface. 4 display modes.

10-15 credits

lunaar_glasses_tryon

Drop a pair of glasses onto a face with anatomy-aware fit.

10 credits

lunaar_body_estimation

Pull anatomical measurements from a single full-body photo.

10 credits

lunaar_image_to_3d

Generate a GLB 3D model + spinning preview video from a product photo.

20 credits

lunaar_model_to_ar

Upload an existing GLB / USDZ and get a public AR-viewer URL.

5 credits

lunaar_upscale

Re-render a previously completed /v1/ai/* operation at higher resolution.

5 credits

lunaar_get_operation

Inspect any operation by id (use this when a long-running tool times out before the AI finishes).

free

lunaar_list_operations

Recent operations for the current API key, with status and credit usage.

free

How long-running operations are handled

Most calls reach Completed within 30-90 seconds and the tool returns the final asset URL inline. For Image-to-3D (~3 minutes) the wrapper polls up to 4 minutes; if the host's tool-execution budget is shorter and the operation hasn't finished, the tool returns the operationId and the model can call lunaar_get_operation to pick the result up later.

Failed runs surface the user-friendly error message (Turkish, by design — same string Lunaar's product UI shows end users) and the credit refund total.

Configuration

Env var

Required

Default

Notes

LUNAAR_API_KEY

yes

Your lk_live_… key. Always set via the host config's env block — never commit.

LUNAAR_BASE_URL

no

https://api.lunaarvision.com

Override only for staging or self-hosted gateway environments.

Development

git clone https://github.com/Group-Taiga/lunaar-mcp-server.git
cd lunaar-mcp-server
npm install
npm run build
LUNAAR_API_KEY=lk_live_... node dist/index.js

npm run dev re-compiles on save. To test the binary against an MCP host locally, point the host config at the absolute path of the built dist/index.js.

License

MIT — see LICENSE.

Available Tools

14 tools
lunaar_body_estimationB

Extract anatomical measurements (chest, waist, hip) from a single full-body photo. 10 credits per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
heightCmYesSubject height in centimetres.
imagePathYesFull-body photo, subject fully visible, plain background.

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations present, so description must cover all behavioral aspects. It only states the action and credit cost, omitting details like return format, failure modes, or specific image requirements (e.g., lighting, pose).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, zero waste. Front-loaded with the core action and credit cost. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema and description does not mention return values (e.g., which measurements, units, or confidence). Also lacks details on validation or error handling, leaving the agent underinformed about what to expect.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptive parameter descriptions. The tool description adds no extra parameter meaning beyond what the schema already provides, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Extract' and the resource 'anatomical measurements (chest, waist, hip)', and specifies the input (single full-body photo). It effectively distinguishes from sibling tools that focus on try-on, sketches, or product shots.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description indicates the input type (full-body photo) and mentions credit cost, but lacks explicit guidance on when to use versus alternatives, no prerequisites or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

lunaar_food_visualA

Turn a casual food photo into a premium food photograph. Pick one of six moods — 1=studio (white background menu shot), 2=delivery_app (clean delivery platform style), 3=lifestyle (real person dining), 4=kitchen (chef-style kitchen, no human), 5=outdoor_social (outdoor restaurant social-media post with person), 6=dining_social (elegant indoor restaurant ambience with person). The AI analyzes the uploaded meal and adapts the environment to the selected mood — the meal itself is never redesigned. 10 credits per call. Latency 15-30s.

ParametersJSON Schema
NameRequiredDescriptionDefault
moodNostudio
imagePathYesLocal path to the meal image (jpg/png/webp/heic, ≤25 MB).
aspectRatioNoOutput aspect ratio. Defaults to auto when omitted.

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description bears full responsibility for disclosing behavior. It states the AI analyzes the meal, adapts the environment, and never redesigns the meal itself. It also notes credit cost and latency. However, it does not clarify if the operation is read-only or destructive, nor does it describe the output format or how the result is returned.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences, efficiently covering purpose, mood options, and key constraints. No redundant or extraneous information is present. It is well-structured and front-loaded with the main action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (six moods, three parameters) and lack of output schema, the description covers purpose, parameters, cost, and latency. However, it omits the output format (e.g., image URL or base64) and how the result is accessed, which would be valuable for an AI agent. Overall, it is fairly complete but could include return value details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds significant meaning beyond the input schema. Each mood value is explicitly described (e.g., 'studio=white background menu shot'), and constraints for imagePath (format and size) and aspectRatio (defaults to auto) are provided. The schema covers 67% of parameters with descriptions, but the description enriches understanding of all three parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: turning a casual food photo into a premium food photograph. It is distinct from sibling tools (e.g., lunaar_jewelry_tryon, lunaar_product_shot) by focusing specifically on food images. The six mood options are detailed, making the tool's capability unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides usage context (list of moods and their styles) but does not explicitly specify when to use this tool versus alternatives. It lacks when-not conditions or direct comparisons to siblings. The credit cost and latency are mentioned, which aids selection, but overall guidance is implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

lunaar_get_operationA

Inspect any operation by id. Use this when an earlier tool returned a non-terminal status, or to poll a long-running Image-to-3D run.

ParametersJSON Schema
NameRequiredDescriptionDefault
operationIdYes

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided. Description indicates a read operation ('inspect') but does not disclose potential traits such as rate limits, authentication needs, or response format. For a simple get by ID, the transparency is adequate but minimal.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences, no unnecessary words, front-loaded with the primary action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple get operation with no output schema, the description covers the core purpose and usage. Minor gap: does not explicitly describe the return value, but the context of polling implies status information.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% for the only parameter (operationId). The description does not elaborate on the parameter beyond its name. While the name is self-explanatory, with 0% coverage, the description should offer more detail. Baseline for 0% is low, but 1 param prevents a 1.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states 'Inspect any operation by id', which is a specific verb and resource. Distinguishes from sibling lunaar_list_operations which lists operations, and mentions a specific use case (Image-to-3D run).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly specifies when to use: 'when an earlier tool returned a non-terminal status, or to poll a long-running Image-to-3D run'. Provides clear context and implies not for other purposes.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

lunaar_glasses_tryonB

Place a pair of glasses on a model's face with anatomy-aware fit. 10 credits per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
aspectRatioNoOptional output aspect ratio. Backend resolves the concrete pixel size; null/omitted lets the model auto-pick.
personImagePathYes
glassesImagePathYes

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Mentions anatomy-aware fit and cost (10 credits per call), but lacks detail on side effects, idempotency, or required permissions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Short single sentence plus credit note, well front-loaded. Could be slightly more informative without losing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 3 parameters and no output schema, the description omits expected output format, image requirements, and error scenarios.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 33% and description provides no additional meaning for the undocumented parameters (personImagePath, glassesImagePath). Does not compensate for low schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the tool places glasses on a model's face with anatomy-aware fit, distinguishing it from related tools like lunaar_jewelry_tryon or lunaar_studio_tryon.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives, nor any prerequisites or constraints for images.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

lunaar_image_to_3dA

Generate a GLB 3D model + spinning preview video from a single product photo. 10 credits per call. Latency 2-4 minutes — may exceed default polling window; if so, use lunaar_get_operation later.

ParametersJSON Schema
NameRequiredDescriptionDefault
imagePathYes
targetHeightCmNoReal-world height for scale calibration.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses cost (10 credits), latency (2-4 minutes), and asynchronous behavior (polling). This compensates for lack of annotations. However, does not detail if the tool modifies any state or what happens to uploaded images.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences efficiently convey purpose, cost, latency, and fallback. No redundant information. Front-loaded with the core functionality.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and no annotations, the description covers essential behavioral aspects: input (photo), output (GLB + video), cost, timing, and error handling fallback. Missing details about required image characteristics (e.g., background, size) but overall adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description clarifies that the imagePath parameter should be a 'single product photo', adding context beyond the schema. The targetHeightCm parameter is already well-described in the schema. The description partially compensates for the 50% schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states that the tool generates a GLB 3D model and spinning preview video from a single product photo. This distinguishes it from sibling tools like lunaar_jewelry_tryon or lunaar_product_shot which focus on different tasks.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Mentions credit cost and latency. Provides explicit alternative: use lunaar_get_operation if polling window exceeded. However, does not specify when not to use this tool (e.g., for non-product photos or non-3D needs).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

lunaar_jewelry_tryonB

Composite a jewelry product onto a model or display surface. Box (10 credits), ProductModel (10), CustomSurfaceBox (15), CustomModel (15).

ParametersJSON Schema
NameRequiredDescriptionDefault
genderNoRequired for product_model_display + custom_model_display.
aspectRatioNoOptional. Only meaningful for custom_surface_box_display + custom_model_display where the secondary image dictates the canvas.
displayModeYes
productTypeYes
jewelryImagePathYes
secondaryImagePathNoRequired for custom_surface_box_display + custom_model_display.

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, and the description only mentions credit costs per mode. It fails to disclose other behavioral traits such as authentication, rate limits, or error handling, leaving the agent with insufficient behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with one sentence stating purpose and credit costs. It is front-loaded with the main verb and resource, but could benefit from slightly more structure to improve readability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (6 parameters, 4 enums) and no output schema, the description lacks complete context. It does not describe return values, success criteria, or common use cases, making it insufficient for reliable tool invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 50%, with some parameters documented in the schema (e.g., gender, aspectRatio). The description adds credit cost context but does not explain the meaning or usage of parameters beyond what's in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool composites jewelry onto a model or surface, with specific credit costs per display mode. This distinguishes it from sibling tools like lunaar_glasses_tryon by focusing on jewelry.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for jewelry try-on with different modes and credit costs, but does not explicitly state when to use or avoid this tool versus alternatives like lunaar_studio_tryon.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

lunaar_list_operationsA

List recent operations for the current API key. Useful for picking up an operationId you forgot or auditing recent calls.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
typeNo
statusNo
pageSizeNo

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided; description carries full burden. Mentions 'recent' and 'current API key' but does not detail pagination behavior, rate limits, or how optional filters affect results. Adequate for a non-mutating list, but leaves gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences front-loaded with the action and use cases. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with 4 optional parameters and no output schema, the description covers basic purpose but fails to explain filtering/pagination or return value format. Adequate but not thorough.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description adds no explanation for any of the 4 parameters. The agent gets no guidance on how 'page', 'type', 'status', or 'pageSize' affect the tool's behavior.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the verb 'list' and resource 'operations for the current API key'. Distinguishes from sibling 'lunaar_get_operation' by implying a list vs single item retrieval.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly mentions use cases: picking up a forgotten operationId or auditing recent calls. Provides context for when to use, but does not explicitly exclude when not to use or name alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

lunaar_model_to_arB

Upload an existing GLB (and optional USDZ + thumbnail) and get a public AR-viewer URL. 5 credits per call. Returns inline (sync).

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYes
glbFilePathYes
usdzFilePathNo
thumbnailImagePathNo

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses cost (5 credits) and synchronous behavior. With no annotations, description carries full burden; it lacks details on destructive actions, auth requirements, rate limits, or file constraints, but provides some useful behavioral info.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences are concise and front-loaded with key info. Each sentence adds value, though structure could be improved with bullet points for clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 4 parameters (2 required) and no output schema, the description does not cover return details (e.g., URL format), file size limits, processing time, or error conditions. Incomplete for an upload/conversion tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% so description must explain parameters. It only mentions 'GLB' and optional 'USDZ + thumbnail', without describing the required 'title' or how 'glbFilePath' is used (e.g., it's a path to an existing file). Inadequate parameter guidance.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states 'Upload an existing GLB ... get a public AR-viewer URL', specifying the action and outcome. However, it does not explicitly differentiate from siblings like lunaar_image_to_3d (which creates 3D models from images) or other tryon tools, so purpose is clear but sibling distinction is implicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Mentions credits per call and sync return, giving basic usage context. No explicit when-to-use or when-not-to-use, and no alternatives listed among siblings, so guidance is minimal.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

lunaar_product_shotA

Turn a casual product photo into a premium e-commerce shot. The AI auto-detects the product category — no category input. Pick one of four modes: studio_white (clean white background, marketplace catalog), concept (premium banner / social media scene), lifestyle (in-use / partial human presence — faces avoided), or product_with_model (social-media-ready visual featuring the product with a human model at realistic real-world scale). 10 credits per call. Latency 15-30s. Refunded on provider failure.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeYesInitial generation mode. studio_white = white catalog. concept = premium banner / social media. lifestyle = in-use / partial human presence (faces avoided). product_with_model = product shown with a human model at realistic real-world scale (social-media-ready). AI infers the product category from the image.
imagePathYesLocal path to the product photo (jpg/png/webp/heic, ≤25 MB).
aspectRatioNoOptional output aspect ratio. Backend resolves the concrete pixel size; null/omitted lets the model auto-pick.

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so description carries full burden. It discloses auto-detection of product category, four generation modes, credit cost (10 credits), latency (15-30s), and refund policy on provider failure. This is comprehensive for a creation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences cover purpose, mode details, and operational constraints (credits, latency, refund). No redundant or extraneous text. Front-loaded with key information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 3 parameters and no output schema, the description covers all inputs, behavior, constraints, and special outcomes (refund on failure). Complete for a generation tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. Description adds value by explaining the meaning of each mode beyond schema enums, and clarifies the auto-detect behavior for mode. Aspect ratio auto-pick is also explained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool's purpose: 'Turn a casual product photo into a premium e-commerce shot.' It uses specific verb phrase and resource, and distinguishes from siblings focused on specific product types like jewelry or glasses.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Description explains when to use each of the four modes, but does not explicitly contrast with sibling tools like lunaar_product_shot_variants or provide when-not scenarios. Nonetheless, the mode selection provides clear usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

lunaar_product_shot_variantsA

Generate 1..N angle/detail/scale variants of a previously rendered Product Shot parent. Each variant is a separate generation that consumes 10 credits. Variant types: front_view, three_quarter_front, side_view, back_view, top_view, detail_close_up, open_interior (only for products that physically open — falls back to a 3/4 view when not plausible), scale_reference (adds clean dimension annotations using user-provided width/height/depth in cm).

ParametersJSON Schema
NameRequiredDescriptionDefault
depthCmNo
widthCmNoRequired when scale_reference is requested (or any of width/height/depth must be provided).
heightCmNo
aspectRatioNoOptional aspect override; defaults to the parent shot's aspect ratio.
variantTypesYes
parentEntityIdYesThe `data.id` from the original lunaar_product_shot create response — NOT the operationId.

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses credit consumption and fallback behavior for open_interior. With no annotations, description carries full burden but omits operational details like parallelism, rate limits, or response format.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single paragraph that front-loads purpose and credit cost, then enumerates variant types. Efficient but could benefit from bullet points for clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers main function, variant details, credit cost, fallback, and dimension requirements. Lacks output description but no output schema exists. Sufficient for agent use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Adds significant meaning to variantTypes by explaining each type and to dimension parameters for scale_reference. Schema coverage is only 50%, so description compensates with context for half the parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it generates variants of a previously rendered product shot, listing specific variant types and explaining their behaviors. Distinguishes from sibling tool lunaar_product_shot by requiring a parent.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides context that it requires a parent shot and explains when to use scale_reference with dimensions. Does not explicitly exclude alternatives or state when not to use, but the sibling context and description make usage clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

lunaar_sketch_to_renderB

Convert a sketch (interior / exterior / kitchen) to a photoreal render. Returns the final image URL. 15 credits per call. Refunded on provider failure.

ParametersJSON Schema
NameRequiredDescriptionDefault
accessoryNoKitchen only — render countertop accessories.
imagePathYesLocal path to the sketch (jpg/png/webp/heic, ≤25 MB).
sceneTypeNointerior
timeOfDayNoday
aspectRatioNoOptional output aspect ratio. Backend resolves the concrete pixel size; null/omitted lets the model auto-pick.
handleFinishNoKitchen only.
openShelfLedNoKitchen only — LED under open shelves.
glassCabinetLedNoKitchen only — LED inside glass cabinets.
countertopSurfaceNoKitchen only.
tallCabinetSurfaceNoKitchen only.
lowerCabinetSurfaceNoKitchen only.
upperCabinetSurfaceNoKitchen only.

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses cost (15 credits) and refund policy, but with no annotations provided, other behavioral traits like authentication, rate limits, or side effects are unaddressed. The description adds some value but is incomplete.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences with zero fluff. Each sentence provides essential information: function, output, and cost/refund. Ideal conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 12 parameters, no output schema, and no annotations, the description omits key details like parameter roles, error scenarios, and output format beyond URL. Incomplete given tool complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 83%, so the schema already documents most parameters. The description does not add additional meaning beyond what the schema provides, earning a baseline of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'convert' and resource 'sketch to photoreal render', specifies applicable types (interior/exterior/kitchen), and distinguishes from sibling tools like lunaar_product_shot.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives such as lunaar_product_shot or lunaar_food_visual. Does not provide context on prerequisites or typical use cases.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

lunaar_studio_posesA

Generate 1-3 alternate-pose variants of a previously rendered Studio item. 10 credits per pose. Failed poses are auto-refunded. Not available for Summer or Kids items (those modes have no real subject to retarget).

ParametersJSON Schema
NameRequiredDescriptionDefault
poseTypesYes
parentEntityIdYesStudio entity id (the entityId returned by lunaar_studio_tryon — NOT the operationId).

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses credit cost, refund policy, and incompatibility with Summer/Kids items, which adds value. However, it omits other behavioral traits like processing time, idempotency, or side effects on the original item, leaving some gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence followed by a short note, with no wasted words. It front-loads the core action and immediately follows with key constraints. Every sentence serves a purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (a generation tool with credits and constraints), the description covers prerequisites, exclusions, and cost. However, it lacks any description of the output (e.g., format, what is returned) and does not provide an example. This leaves the agent uncertain about how to use the result.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 50% with only parentEntityId having a description. The tool description improves this by clarifying that parentEntityId is 'the entityId returned by lunaar_studio_tryon—NOT the operationId.' For poseTypes, the description mentions the count (1-3) but does not explain the enum values, so the schema's enum alone provides the meaning. Overall, the description partially compensates for missing schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Generate 1-3 alternate-pose variants of a previously rendered Studio item,' which provides a specific verb and resource. It also distinguishes from sibling tools like lunaar_studio_tryon by explicitly requiring a previously rendered item, clarifying the tool's role in the workflow.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description includes explicit context on when to use (after rendering a Studio item) and when not to use ('Not available for Summer or Kids items'). It also mentions credit cost and auto-refund policy. However, it does not suggest alternative tools for excluded cases, preventing full guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

lunaar_studio_tryonA

Virtual try-on. SingleItem (10 credits): person + 1 garment. Combo (15): person + 2-6 garments. Layer (15): person + 3 stacked garments. Summer (15): swimwear with environment. Kids (15): kidswear catalog — 1..N product images on a fully AI-generated child model (no PersonImage); requires kidsGender, kidsAgeRange, and kidsProductCategory.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeYes
fitTypeNo
kidsPoseNokids mode only — optional. Omit to let the model choose.
kidsGenderNokids mode only — required.
aspectRatioNoOptional output aspect ratio. Backend resolves the concrete pixel size; null/omitted lets the model auto-pick.
dressLengthNo
kidsAgeRangeNokids mode only — required.
topImagePathNo
maskImagePathNo
dressImagePathNo
kidsBackgroundNokids mode only — optional. Omit to let the model choose.
shoesImagePathNo
bottomImagePathNo
layer1ImagePathNo
layer2ImagePathNo
layer3ImagePathNo
personImagePathNoRequired for single_item / combo / layer. Not used for summer or kids.
backgroundSeasonNo
clothingCategoryNosingle_item only.
clothingImagePathNosingle_item only.
swimSuitImagePathNo
accessoryImagePathNo
bikiniTopImagePathNo
outerwearImagePathNo
kidsProductCategoryNokids mode only — required.
menSwimwearImagePathNo
bikiniBottomImagePathNo
kidsProductImagePathsNokids mode only — 1..N product image paths. For two_piece_set, supply at least 2.

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses credit costs and mode-specific behavior (e.g., 'Kids' uses AI-generated child model, no PersonImage). However, it does not mention failure modes, rate limits, or the response structure, leaving gaps in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is relatively concise given the complexity, with each sentence adding distinct information (modes, credits, parameter conditions). It is front-loaded with the core purpose. Minor improvements could include bullet points for clarity, but it remains efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 28 parameters, no output schema, and moderate schema coverage, the description provides essential mode-specific context but omits details on return format, error handling, or parameter interrelationships beyond mode requirements. It is adequate but not fully comprehensive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is low (36%), but the description adds value by explaining mode dependencies and required parameters (e.g., for 'Kids': kidsGender, kidsAgeRange, kidsProductCategory). However, many parameters (e.g., fitType, dressLength) are not elaborated beyond the schema, and the description does not fully compensate for the coverage gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the tool as 'Virtual try-on' and enumerates five specific modes with distinct credit costs and requirements. This specificity distinguishes it from sibling tools like lunaar_jewelry_tryon and lunaar_glasses_tryon, which cover different domains.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage by detailing modes (e.g., 'SingleItem', 'Combo') but does not explicitly compare this tool to alternatives or provide scenarios where it is preferred. Some mode-specific guidance is given (e.g., 'Kids' requires certain parameters), but no when-to-use or when-not-to-use statements are present.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

lunaar_upscaleA

Re-render a previously completed AI operation at higher resolution. 5 credits per call. May return inline (200) or queued (202 + poll).

ParametersJSON Schema
NameRequiredDescriptionDefault
operationIdYesOperationId of any completed /v1/ai/* run.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It discloses key behaviors: cost, response types (200 vs 202+ poll), and that it works on completed operations. No hidden behaviors mentioned, but sufficient for a simple tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no wasted words. Critical info (purpose, cost, response handling) is front-loaded. Each sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given simple signature (1 param, no output schema, no annotations), description covers purpose, cost, and response behavior adequately. Missing details on error cases or output format, but not critical for a straightforward upscale tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers 100% of parameters with clear description. Description reinforces that operationId must be from a completed run but adds no new meaning beyond the schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states verb ('re-render') and resource ('completed AI operation') at higher resolution. It distinguishes from sibling tools which are for different AI operations (try-on, sketches, etc.).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides cost (5 credits) and response behavior (inline or queued), giving agents clear usage context. However, it lacks explicit when-to-use vs alternatives or when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 14 tool updatesv0.2.0
    • First observedlunaar_body_estimation
    • First observedlunaar_food_visual
    • First observedlunaar_get_operation
    • First observedlunaar_glasses_tryon
    • First observedlunaar_image_to_3d
    • First observedlunaar_jewelry_tryon
    • First observedlunaar_list_operations
    • First observedlunaar_model_to_ar
    • First observedlunaar_product_shot
    • First observedlunaar_product_shot_variants
    • First observedlunaar_sketch_to_render
    • First observedlunaar_studio_poses
    • First observedlunaar_studio_tryon
    • First observedlunaar_upscale

TDQS

A3.9/5.0
Disambiguation5/5

Each tool targets a distinct task or product category (jewelry, glasses, garments, product shots, food, 3D models, etc.), with clear boundaries. The operations management tools are separate from generation tools, avoiding confusion.

Naming Consistency5/5

All tools follow a consistent 'lunaar_<descriptive_verb_noun>' pattern with snake_case, making the purpose immediately clear. No mixing of conventions.

Tool Count5/5

14 tools cover a wide range of image generation and manipulation tasks without being overwhelming. Each tool serves a distinct purpose, and the count feels appropriate for the server's scope.

Completeness4/5

The tool surface covers core workflows for try-on, product shots, food visuals, 3D generation, AR, and upscaling. Minor gaps exist (e.g., no general background removal or editing tool), but the set is largely complete for its intended domain.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Group-Taiga/lunaar-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server