---
title: "Astria MCP server"
url: "https://martechdb.com/vendors/astria"
markdown_url: "https://martechdb.com/vendors/astria.md"
api_url: "https://martechdb.com/api/v1/vendors/astria.ai"
updated: "2026-11-05"
---

# Astria MCP server

Yes. Astria publishes an official MCP server at https://mcp.astria.ai/mcp. It's hosted. It offers 46 tools. We last checked it on 6 Nov 2026. MartechDB lists only servers the vendor publishes itself, never community servers.

**Key facts:** As of 6 Nov 2026, Astria's official MCP server scores 65/100 (provisional) on MartechDB's Agent Readiness Index (v1.1). It lists 46 tools.

- Website: [astria.ai](https://astria.ai)
- Categories: [AI image generation & editing](https://martechdb.com/categories/ai-image-generation-editing.md)

## Review

Astria's Astria MCP scores 65/100 on MartechDB's Agent Readiness Index: easy to connect an AI agent to, with a few gaps.

The good:

- Hosted by Astria: connect by URL, with nothing to install
- Documented, with 46 tools known

Not checked yet: how you sign in; what agent access costs.

## Agent Readiness Index: 65/100 (provisional)

How friendly Astria is to AI agents, from its best official MCP server. Anything not yet researched scores nothing, so this score may rise once it is. Methodology v1.1: https://martechdb.com/methodology.

- Official MCP server: 30/30 (Published by the vendor)
- Hosted by the vendor: 25/25 (Connect by URL, nothing to install)
- OAuth sign-in: pending (Sign-in: see vendor docs)
- Documented tools: 10/10 (A docs page, and its tools are known)
- Free to start, pay as you go: pending (Not checked yet)

## Astria MCP

- Address: https://mcp.astria.ai/mcp
- Runs: Hosted
- Sign-in: Sign-in: see vendor docs (`unknown`)
- Official MCP Registry: not listed
- Documentation: https://www.astria.ai/mcp
- How we know it's official: Documented on Astria's own site, at www.astria.ai
- First seen: 2026-11-05
- Last checked: 2026-11-06

### Tools (46)

As the server lists them on 2026-11-06. Names and descriptions come from the vendor's server.

- `get_profile` (read-only): Identify the connected Astria account.
- `open_astria` (read-only): Open your Astria image and video generations. Viewing does not generate or charge credits.
- `search_astria_references` (read-only): Search saved Astria people, products and garments for composer mentions. Read-only; inspect a selected reference with get\_reference before use.
- `create_upload`: Prepares upload slots only; it does not upload files. Returned URLs are not usable until the file bytes have been uploaded. Use this when a media argument (input\_image, mask\_image, image\_url, references, image\_references, first\_frame, last\_frame, video\_references, audio\_references) is a local file rather than an HTTPS URL. Send each path with its byte size and base64 MD5, e.g. from \`for f in FILES; do echo "$f $(wc -c \< "$f") $(openssl md5 -binary "$f" \| base64)"; done\`. Run every returned command unchanged within 5 minutes. Verify every command exits successfully (HTTP 2xx) before using any returned url. Do not call create\_reference or a generation tool with these URLs before uploading. A successful create\_upload response only means the slots were prepared. If a command fails, stop and resolve the failure; HTTP 403 can mean the signature expired, so prepare a fresh upload and execute its command. If this host cannot execute the commands or PUT the bytes, use request\_upload so the use…
- `request_upload` (read-only): Show an upload card so the user can add local images, video or audio from their device. Use this when the user must provide files that this host cannot read or upload itself, for example without a shell. With a shell and a local path, use create\_upload instead; for files attached to this conversation or public HTTPS links, use import\_media. After calling it, stop and wait: the uploaded files arrive in a follow-up message with url and blob\_signed\_id for each, which other tools accept like create\_upload results. It does not create references, generate media or charge credits.
- `import_media`: Copy an image, video or audio file into Astria storage. Pass file for a file the user attached to this conversation, or url for a public HTTPS link. Returns url and blob\_signed\_id, usable like a completed create\_upload: media arguments take the url, attach\_prompt\_media, replace\_prompt\_media and attach\_workspace\_images take the blob\_signed\_id. Up to 100 MB. For local files on a host with a shell use create\_upload; when neither applies, use request\_upload. Importing does not generate media or charge credits.
- `classify_image`: Identify the subject class and characteristics of an image before creating a replacement reference. Supply source as a public HTTPS image URL, uploading local files with create\_upload first. Optional class\_name entries restrict the allowed classes. Returns class\_name and available caption/description metadata, or error. Use the class\_name with create\_reference. May invoke a paid provider; requires an idempotency\_key for safe retries.
- `compose_video_edit`: Prepare the Variate workflow when the user wants to edit an existing video while preserving its shots, timing and performance. Supply brief and/or saved replacement reference IDs in tune\_id. For new reference images, first use classify\_image if their class is unknown, then create\_reference. Returns video\_prompt, video\_model, generate\_audio and num\_images for generate\_video. Submit those returned fields with the source video HTTPS URL as the only item of video\_references, and the same workspace; use get\_prompt to follow the generation. No source-video inspection is needed. This tool only writes the edit prompt and does not generate a video. Requires an idempotency\_key; reuse it for identical retries.
- `inspect_video`: Start a paid video inspection to describe a video as timestamped text-to-video prompt text. Supply exactly one of file\_url (public HTTPS) or blob\_signed\_id from a completed create\_upload video upload. Optional tune\_id reference IDs remove those subjects appearances from the description. Requires an idempotency\_key; reuse the same key and arguments for a retry. Returns an inspection id and pending status immediately. Poll get\_video\_inspection every 2-5 seconds until completed or failed; do not resubmit to check progress.
- `get_video_inspection` (read-only): Poll a video inspection started with inspect\_video. Pass its inspection id. Returns status pending, processing, completed or failed; completed includes description and available model/provider/usage metadata, failed includes error. Poll every 2-5 seconds while pending or processing and stop on completed or failed. Inspections expire one hour after their last update and are visible only to the user who started them. An unknown or expired inspection returns an error. Does not start an inspection or charge credits.
- `list_models` (read-only): Use this when choosing an Astria image, video or music model or checking supported media inputs, image resolutions, aspect ratios, lyrics limits, song prices, and defaults. Pass type (image, video or music) to get only that catalog. Returns the live model catalog and model names/tune IDs; does not generate media or spend credits. For video generation, submit null model and resolution fields unless the user explicitly selected them; let Astria resolve defaults. For images and music, use the explicit user selection or catalog default.
- `list_workspaces` (read-only): Use this when finding an Astria workspace for a team or brand photoshoot. Returns authorized workspace IDs; expand migration to include their website URLs for duplicate detection. Use the selected ID consistently for references, templates, and generations. Does not create a workspace or generate media.
- `list_references` (read-only): Use this when finding a saved person, model, garment, product, or SKU for consistent photos, virtual try-on, headshots, or video. Search title/product name/SKU; gallery=true finds public model references. Returns reusable reference IDs and subject classes. Does not create references or generate media; inspect a selected match with get\_reference.
- `get_reference` (read-only): Use this when inspecting a selected Astria identity or product reference and its training images before a photoshoot or try-on. Returns the saved subject class and reference details. A reference token uses \<model\_type:ID:1\> followed by that class. Does not create or alter the reference.
- `update_reference` (can delete or overwrite): Update a selected reference title, subject class, short description, injected text or verified catalog source records. text sets characteristics.text; omit it to preserve the current text or pass an empty string to clear it. Other characteristics are preserved. Sources include provider, account\_key, resource\_type, external\_id and captured metadata. Does not retrain the reference or generate images.
- `create_reference`: Use this when a supplied person or product needs one reusable Astria reference for consistent headshots, virtual try-on, product shots, or multiple scenes. Provide real HTTPS photo URLs, a subject class in name, and a human label in title. Reuse an existing reference when available. Creates paid content only within the requested generation/reference scope; requires an idempotency\_key. Returns the new reference ID and class; reuse them across generations. Does not return a finished photoshoot.
- `generate_images`: Use this when the user asks to create or edit images: product photography, ecommerce packshots, professional headshots from supplied photos, or consistent people/products across scenes. For on-model fashion, virtual try-on, and lookbooks, use generate\_lookbook\_images instead. Reference tokens in text preserve selected subjects; input\_image edits an existing HTTPS image, and mask\_image limits an edit. Separate scene briefs need separate submissions; num\_images varies one brief. model is optional: omit it for the catalog default image model, and call list\_models type=image only to choose another model or check resolutions. Respect an explicitly chosen provider. Prompt advice or a text-only storyboard is not a generation request. Creates paid Astria content within the requested scope; use a unique idempotency\_key per action and reuse it only for an identical retry. Returns a submitted prompt with id and tune\_id and an embedded result preview; check get\_prompt for finished assets or error…
- `generate_lookbook_images`: Generate on-model fashion, virtual try-on, and lookbook images using separate avatar and product references. Before submitting, visually inspect EVERY reference image, including the training images of saved references retrieved with get\_reference. Reading reference names or metadata alone is not inspection. Avatar references MUST be either head-and-shoulders portraits without a visible outfit, or body images wearing plain, neutral, close-fitting clothing such as a solid-color swimsuit or skin-tone bodysuit. Garment and accessory references MUST be product-only packshots without a person wearing them. Do not use dressed lifestyle or editorial photographs as avatar or product references. If references do not qualify, prepare suitable references within the user's requested scope or request replacements before generating. Use the avatar for identity and the packshots for the outfit. Reference tokens in text preserve selected subjects; input\_image edits an existing HTTPS image, and mask\_im…
- `generate_video`: Use this when the user requests an Astria video, animating a photo/product, or motion with consistent person/product references. Provide video\_prompt. Submit video\_model=null and video\_resolution=null unless the user explicitly selected those settings; Astria resolves its defaults. Do not select a model or resolution yourself or copy catalog defaults into the request. Call list\_models type=video only to resolve an explicit selection or check capabilities. generate\_audio=true picks the audio output of families that offer one. Use first\_frame/last\_frame for image-led video and video\_references/audio\_references only when the chosen model supports them; the prompt names their items by position as @Video1 and @Audio1. Do not call for storyboard writing, prompt advice, or an explicitly chosen other provider. Creates paid content within the requested scope; use a unique idempotency\_key per action and reuse it only for an identical retry. Returns a submitted prompt with id and tune\_id and an…
- `generate_music`: Use this when the user asks for an Astria song, jingle, soundtrack, background music or instrumental track. Provide text as the song description (genre, mood, instruments, vocals, tempo); pass lyrics with the model's section tags such as \[Verse\] and \[Chorus\] to sing given words, omit lyrics to let the model write them, or set instrumental=true for no vocals. model is optional and defaults to default\_music\_model; call list\_models type=music to choose another music model or check lyrics length limits, section tags and the price of each kind of song. For MiniMax, audio\_reference selects Music Cover: an MP3 with vocals, 6 seconds to 6 minutes, a 10-300 character style prompt, and no lyrics or instrumental flag. It does not guarantee preservation of exact event timing. Do not call for lyric writing or music advice alone; use generate\_video generate\_audio for native video sound. Creates paid content within the requested scope; use a unique idempotency\_key per action and reuse it only for an…
- `list_prompts` (read-only): Use this when finding recent Astria images/videos, checking existing submissions after an uncertain response, or locating outputs from a saved photoshoot run. Filter by reference, template, order, text, review status, source, or media type. Does not generate or charge credits. Results include prompt IDs for get\_prompt; expand prompt.comments to inspect review feedback.
- `get_prompt` (read-only): Use this when checking progress, finished images/videos, or errors for an existing Astria generation. Pass its returned id. Returns the current prompt and available assets with an embedded preview; no generation is submitted or charged. Pending or failed results must not be treated as a new generation request. expand prompt.comments includes image review feedback.
- `update_prompt` (can delete or overwrite): Assign an existing prompt to a template, clear template membership, or move it to an authorized workspace. Pass pack\_id or base\_pack\_id as the string null to clear that assignment. Does not generate, delete or retry an image.
- `enhance_video`: Use this when the user asks to upscale a finished Astria video or increase its frame rate. Pass the prompt id of a completed video and either video\_upscale\_model or video\_fps\_model, not both; for both, call again with the first result id once it completes. Creates a new paid prompt and leaves the original unchanged. Each enhancement applies once per video. Use a unique idempotency\_key per action and reuse it only for an identical retry. Returns the submitted prompt with id and cost\_mc; check get\_prompt for the final video or errors without resubmitting.
- `attach_prompt_media`: Append an uploaded image or MP4 to an existing prompt, for example a finished muxed film. First prepare an upload with create\_upload and successfully upload its bytes, then pass its blob\_signed\_id and the prompt id. Supports PNG, JPEG, WebP, AVIF and MP4. Preserves existing results; does not generate or replace media. Requires an idempotency\_key. Returns the saved asset and updated prompt; use get\_prompt to view all results.
- `replace_prompt_media` (can delete or overwrite): Replace a saved image or MP4 result only when requested. First successfully upload the replacement with create\_upload, then pass its blob\_signed\_id and the prompt id. Omit replace\_blob\_id only when the prompt has exactly one result of the replacement media type; otherwise select its blob\_id from get\_prompt. Retains the original in debug history and preserves other results. Does not generate media. Requires an idempotency\_key; reuse the same key and arguments for a retry. Returns the saved asset and updated prompt; use get\_prompt with expand=\["debug\_images"\] to inspect history.
- `list_templates` (read-only): Use this when finding an existing reusable Astria photoshoot/template (also called a pack) for product images, lookbooks, or headshots. Returns accessible template names/slugs and thumbnails, most recently used first; inspect a selected template with get\_template before run\_template. Browsing does not run a photoshoot or spend credits.
- `get_template` (read-only): Use this when resolving a selected Astria photoshoot template by slug or ID before running it or inspecting its prompts, reference slots, and baseline pricing. Does not generate images or modify the template. Preserve the returned reference-slot order when calling run\_template.
- `get_template_text` (read-only): Use this when reading what a template's prompts say, to learn from or rebuild them: each prompt's verbatim text, aspect ratio, model, references and example images, as plain text with one section per product class. A reply holds at most 50 prompts and counts the sections; read further with offset only when the user asks for more. Does not generate images or modify the template. Use get\_template for its reference slots before run\_template.
- `create_template`: Create a reusable photoshoot template container in the selected workspace. Supply a title, model and optional main product category; author its shots with generate\_images using the returned pack\_id, then set reference categories with update\_template. Creating the container does not generate images.
- `update_template` (can delete or overwrite): Update an existing template title, subtitle or reference categories. Does not generate images or replace its prompts. Inspect get\_template before changing its category slots.
- `create_workspace`: Create a separate brand/team workspace when requested. Supply its title and optional canonical website URL. Returns the workspace ID; use it on subsequent references, templates and generations. Does not invite members or generate images.
- `attach_workspace_images`: Attach images to a selected workspace before using them on its landing page. Supply image\_urls for public HTTPS images (including completed Astria direct uploads), signed\_ids from completed create\_upload uploads, or both. Reuses Astria uploads and imports external images into workspace storage. Supports PNG, JPEG, WebP, AVIF and GIF up to 100 MB each. Preserves existing workspace images and does not generate media. Returns workspace\_id and images with id, blob\_id, url, filename and content\_type; use the returned URLs in landing\_page\_html. Requires an idempotency\_key for safe retries.
- `get_workspace` (read-only): Inspect a selected workspace by ID, including its brand website, landing\_page\_html and attached images with persistent URLs. Does not create or change the workspace.
- `update_workspace` (can delete or overwrite): Update a selected workspace title, brand website URL or supplied landing page HTML. Does not publish the workspace, invite members or change billing. Provide only the fields to change. Set brief only when the user requests full landing-page regeneration; it replaces existing HTML. Use get\_workspace to read the generated HTML. Requires an idempotency\_key for safe retries.
- `run_template`: Use this when the user asks to run a saved Astria photoshoot/template on their person or product, repeat an existing lookbook with a new SKU, or generate portraits from a selected pack. Resolve the template and reference slots first with get\_template; pass tune\_id entries in slot order, supported photo inputs, or tune\_replacements mapping original IDs to replacement ID arrays to swap selected products while retaining other references. Do not substitute one generic image for a requested template run, and do not run a template for browsing or pricing advice. Creates paid Astria content within the requested scope; requires an idempotency\_key. prompt\_attributes supplies additional per-prompt overrides as a JSON object of string values and takes precedence over matching named parameters. Returns the submitted order/prompt IDs; use list\_prompts to find prompt IDs and get\_prompt to check outputs without rerunning.
- `get_agent_run` (read-only): Use this to follow a run started with start\_agent\_run; poll every 15-30 seconds while status.state is submitted or working. Returns the task: status.state (submitted, working, input\_required, completed, failed or canceled), status.message with the agent's latest words, pending questions, artifacts and an Astria url. On input\_required, put the questions to the user and answer them with reply\_agent\_run. Artifacts are the results: a file part has a downloadable uri (such as the final MP4) and a data part has a prompt\_id for get\_prompt. Does not start or charge anything.
- `reply_agent_run`: Use this when get\_agent\_run reports input\_required. Pass the run id, the question's tool\_call\_id and answers mapping each question text to the chosen option label (an array of labels for multi-select, or the user's own words). The run resumes and may generate paid media within its original request; requires an idempotency\_key. Then poll get\_agent\_run; the task can still show the answered question for a few seconds.
- `cancel_agent_run` (can delete or overwrite): Use this only when the user asks to stop a run started with start\_agent\_run. Interrupts the working agent; generations it already submitted still finish and are billed. Only the user who started the run can cancel it. Requires an idempotency\_key. Returns the task; get\_agent\_run reports canceled once the run stops.
- `get_prompt_view` (read-only): Refresh one embedded Astria generation. Presentation only; does not generate or charge credits.
- `validate_generation` (read-only): Check complete present\_generation-shaped drafts before generating or presenting them. Returns valid, field-specific errors with allowed\_values and repair guidance, and unchecked submission checks. tune\_id is the numeric image or music model id and video\_model a family id from list\_models. Models are checked against the composer catalog of the selected workspace; page-only context, such as a fine-tune page opening its own base model, is unavailable, so set storyboard yourself for /storyboard requests. File availability, media metadata, account permissions and reference tune access are not checked. Does not create prompts, upload files or charge credits. Fix every error and validate again before submitting.
- `list_skills` (read-only): Discover Astria creative workflows, including music videos, motion design and soundtracks. Returns skill names, trigger descriptions and metadata without their instructions. Use get\_skill to read a selected workflow before executing it. Reading does not generate media or spend credits.
- `get_skill` (read-only): Read the current Astria workflow instructions by name, including an explicit /skill-name request. Returns the full Markdown directly; no shell or file access is needed. Read named dependencies with this tool too. Execute the workflow directly with available Astria tools and local capabilities. Reading a skill or a multi-step request does not require start\_agent\_run; delegate only on explicit user request or for a required step the current host cannot execute, limiting the handoff to that stage when practical. Assess actual tools rather than desktop, web, or embedded client labels. When executing a database workflow, pass its name as skill\_name on generation tools and present\_generation drafts, or --skill-name in the CLI. Keep the main workflow name across helper skill reads, but a generation that tests or runs a saved template skill, such as create-lookbook testing lookbook-acme-girls, takes the name of that template skill; omit it for unrelated work. Reading does not start a run or g…
- `create_skill`: Save reusable Markdown instructions as a private personal or workspace skill, owned by the connected user. Workspace members can read and edit workspace skills. Names are globally unique lowercase slugs. This does not publish a public skill or execute its instructions.
- `update_skill` (can delete or overwrite): Edit a personal skill you own or a skill in an accessible workspace. Supply its existing name and any description, body or metadata changes. Omitted fields are preserved. Public source-managed skills cannot be edited through this tool; create a new private skill with a distinct name instead.
- `get_agent_run_view` (read-only): Refresh one embedded Astria agent run. Presentation only; does not start, answer or charge anything.

### Connect it

Claude Code:

```sh
claude mcp add --transport http astria https://mcp.astria.ai/mcp
```

- Add to Cursor: <cursor://anysphere.cursor-deeplink/mcp/install?name=astria&config=eyJ1cmwiOiJodHRwczovL21jcC5hc3RyaWEuYWkvbWNwIn0%3D>
- Add to VS Code: <vscode:mcp/install?%7B%22name%22%3A%22astria%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.astria.ai%2Fmcp%22%7D>
- Claude.ai and Claude Desktop: Customize, Connectors, "+", Add custom connector, then paste https://mcp.astria.ai/mcp
- ChatGPT: Settings, Apps, Advanced settings, turn on Developer mode, Create, then paste https://mcp.astria.ai/mcp (this usually works only with servers that use self-serve sign-in or none)

JSON for Cursor, Windsurf and other clients that connect to hosted servers:

```json
{
    "mcpServers": {
        "astria": {
            "type": "http",
            "url": "https://mcp.astria.ai/mcp"
        }
    }
}
```

## Questions

### Does Astria have an official MCP server?

Yes. Astria publishes its MCP server itself. Astria's own documentation describes it. MartechDB only lists servers a vendor publishes, never community copies.

### What is the Astria MCP server URL?

The address is https://mcp.astria.ai/mcp.

### How do I connect Astria MCP to Claude, ChatGPT or Cursor?

In Claude, add https://mcp.astria.ai/mcp as a custom connector (Customize, Connectors, Add custom connector). In Cursor, use the Add to Cursor link on MartechDB's page, or paste the JSON settings into your mcp.json. In Claude Code, run: claude mcp add --transport http astria https://mcp.astria.ai/mcp

### What can the Astria MCP server do?

It offers 46 tools, including get\_profile, open\_astria, search\_astria\_references, create\_upload and request\_upload (as listed on 6 Nov 2026). 21 are marked read-only and 7 can delete or overwrite data.

### Is the Astria MCP server in the official MCP Registry?

No. Astria hasn't published it to the official MCP Registry.

### Is the Astria MCP server working?

Yes. It answered our most recent check. We last checked it on 6 Nov 2026.

### What are the alternatives to Astria's MCP server?

In AI image generation & editing, the most agent-friendly alternatives with an official MCP server are PhotoRoom (94/100), Recraft (92/100), 3D AI Studio (91/100), YouArt (91/100) and Runway (88/100). Astria scores 65/100 on the same index.

## Change history

- 2026-11-05: Added to MartechDB with Astria MCP

## Alternatives to Astria's MCP server

In AI image generation & editing, the most agent-friendly first:

- [PhotoRoom](https://martechdb.com/vendors/photoroom.md) (photoroom.com), Agent Readiness Index 94/100
- [Recraft](https://martechdb.com/vendors/recraft.md) (recraft.ai), Agent Readiness Index 92/100
- [3D AI Studio](https://martechdb.com/vendors/3d-ai-studio.md) (3daistudio.com), Agent Readiness Index 91/100
- [YouArt](https://martechdb.com/vendors/youart.md) (youart.ai), Agent Readiness Index 91/100
- [Runway](https://martechdb.com/vendors/runway.md) (runwayml.com), Agent Readiness Index 88/100

## Get this data

- API: `curl https://martechdb.com/api/v1/vendors/astria.ai`
- MCP: `claude mcp add --transport http martechdb https://martechdb.com/mcp`, then ask about Astria.
- Web page: https://martechdb.com/vendors/astria
