Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
APPSCREEN_API_KEYNoOptional. MCP key (mcm_live_…) from https://appscreen.co/account/keys. Works on every plan, Free included. Omit for anonymous use (5 lifetime renders).
APPSCREEN_BASE_URLNoOverride API URL. Defaults to https://api.appscreen.co.https://api.appscreen.co
APPSCREEN_MCP_CLIENTNoOverride client identifier (auto-detected from MCP initialize).

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": true
}
resources
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
render_screenshotsA

Queue a screenshot render; returns jobId, poll get_render_status until done, then fetch the bundle from the resource_link.

BEFORE CALLING THIS: read the appscreen://options resource and present the user the FULL menu of background effects, frames, and presets — each has a preview URL they can open. Let the user pick; never choose a background or frame silently. blur+tint, mesh, and every frame are all valid choices they should see.

IMAGES — put a local file path right on the element; the server reads the bytes off disk and wires up the binding for you. Never base64 real screenshots (a large base64 corrupts token-by-token → renders black): • screenshot: screens[i].screenshot.path = "/shot.png" (or pathsByLang: { en, es } for per-locale shots) • background image: screens[i].bg = { kind:"image", box, path:"/bg.png" } • logo/decoration: screens[i].objects[] = { kind:"image", id:"logo", box, mime:"image/png", path:"~/logo.png" }

Geometry is automatic: omit screenshot.box and the server centers the device at the correct aspect ratio. screensMeta is auto-derived when you upload exactly one file per screen. Text overlays use the tiptap doc format and support rich, PARTIAL styling — per-run color, fontSize, fontWeight, fontFamily (~37 fonts), plus bold/italic/underline and per-paragraph align. See appscreen://schema/text + appscreen://catalog/fonts. Free anonymous tier: 5 lifetime renders.

get_render_statusA

Returns status (queued|running|done|failed), progress, and downloadUrl when ready. Only needed when render_screenshots returned a jobId with status=queued (the keyed/async path). Anonymous and small renders often complete inline — if render_screenshots already returned a downloadUrl, you do NOT need to poll.

Prompts

Interactive templates invoked by user choice

NameDescription
choose-styleWalk the user through the full option menu — backgrounds, effects, frames — with preview links, before any render. Use this when the user hasn't specified a look yet.
quick-startMinimal one-screen render to verify the integration end-to-end.
localizeReuse a previous job's screens against a fresh set of target locales.
from-app-iconSample colors from an app icon PNG and apply them to the screenshot background.

Resources

Contextual data attached and managed by the client

NameDescription
optionsThe complete, self-describing menu of backgrounds, effects, frames, presets, sizes and layouts — each with a clickable preview URL. Show this to the user and let them choose; do not pick silently.
schema-textThe exact JSON shape + supported marks for text objects in screens[].objects.
catalog-sizesValid canvas sizes (App Store + Play Store).
catalog-langsSupported locales.
catalog-framesValid frameId values for screen.screenshot.frameId.
catalog-backgroundsValid background kinds, presets, and effects.
catalog-layoutsOutput bundle layouts (fastlane, flutter, etc.).
catalog-fontsFont ids for textStyle.fontFamily + the full text mark vocabulary (color, size, weight, family, align, partial per-run styling).
accountCurrent plan, workspace, credit balance (1 credit = 1 exported image), and reset time.
upgradePlans, one-time credit packs and the pricing URL, for when credits run out.

TDQS

A4.7/5.0

Scored across 2 tools

Disambiguation5/5

The tools have perfectly distinct responsibilities: one initiates the asynchronous rendering job, and the other checks the status of that job. There is no functional overlap between the two endpoints.

Naming Consistency5/5

Both tool names follow a highly consistent and predictable `verb_noun` pattern (`render_screenshots` and `get_render_status`). This clear convention aids immediate agent understanding.

Tool Count5/5

For managing a multi-step asynchronous process like rendering, two tools are ideally scoped. They capture the essential start and check functions without introducing unnecessary complexity.

Completeness4/5

The tools successfully cover the core lifecycle of requesting and monitoring a render job. The only minor gap is the lack of an explicit 'cancel' or 'update' operation for an existing job.

Maintenance

ActivityMaintained
ResponsivenessNo issues