Skip to main content
Glama
photo-ai-studio

Photo AI Studio MCP Server

Official

Photo AI Studio MCP Server

npm version License: MIT

AI photo generation, editing, and video creation MCP server for Claude Desktop, Cursor, Windsurf, and any MCP-compatible client.

Generate professional AI headshots, edit photos with 19 AI operations, and create AI videos, all from your AI assistant.

Powered by Photo AI Studio.


What Can You Do?

Ask your AI assistant things like:

  • "Upload my photo and generate a professional headshot"

  • "Remove the background from this image"

  • "Make me look 10 years younger in this photo"

  • "Change my hairstyle to curly blonde"

  • "Swap my face onto this photo"

  • "Upscale this image to higher resolution"

  • "Create a video from this image with cinematic motion"

  • "Show me available photo themes for women"

Related MCP server: mcp-media-engine

Quick Start

1. Create a Free Account

Sign up at photoaistudio.com — new accounts get 100 free credits.

2. Get an API Key

Go to photoaistudio.com/api-keys to create your API key.

3. Configure Your AI Assistant

Claude Desktop (~/.claude/settings.json):

{
  "mcpServers": {
    "photoaistudio": {
      "command": "npx",
      "args": ["-y", "@photoaistudio/mcp-server"],
      "env": {
        "PHOTOAI_API_KEY": "pa_sk_your-key-here"
      }
    }
  }
}

Cursor: Add the same config in Cursor Settings > MCP Servers.

Windsurf / VS Code Copilot: Add to your MCP configuration file.

Available Tools

Photo Generation

Tool

Description

Credits

generate_photo

Generate AI photos from face images using 150+ themed styles or custom prompts

100/photo

browse_themes

Browse all available photo themes, filter by gender or search by keyword

Free

Photo Editing

Tool

Description

Credits

edit_image

19 AI-powered edit operations (see list below)

3-100

Edit operations: remove_background (10 cr), replace_background (3 cr), retouch, skin, hair, makeup, age, expression, body_type, eye_color, color_correction, custom, clothes, try_on, product, upscale, restore, face_swap, extend (100 cr each)

Video Creation

Tool

Description

Credits

create_video

Create AI videos from images

100-500

Video types: image_to_video (500 cr) — animate any photo, ugc (500 cr) — AI-generated spokesperson videos, product_holder (500 cr video / 100 cr image) — product showcase

Utilities

Tool

Description

Credits

upload_image

Upload an image (URL or base64) to the CDN for use in other tools

Free

get_account

Check your credit balance and account info

Free

get_prediction

Check the status of an async operation

Free

list_predictions

List your past generations, edits, and videos

Free

How It Works

1. Upload your photo          →  upload_image (returns CDN URL)
2. Browse available styles     →  browse_themes (150+ options)
3. Generate AI photos          →  generate_photo (auto-waits for result)
4. Or edit your photo          →  edit_image (19 operations available)
5. Results returned directly   →  Auto-polls until complete

All operations are async but auto-poll by default — the tool waits and returns the final result URL. Set wait_for_result: false to get the prediction ID immediately for manual polling.

Credits and Pricing

New accounts start with 100 free credits.

Package

Price

500 credits

$9

Buy

1,000 credits

$17

Buy

2,000 credits

$25

Buy

4,000 credits

$35

Buy

8,000 credits

$80

Buy

20,000 credits

$190

Buy

Monthly subscriptions also available at photoaistudio.com/pricing.

Environment Variables

Variable

Required

Description

PHOTOAI_API_KEY

Yes

Your API key from photoaistudio.com/api-keys

PHOTOAI_BASE_URL

No

API base URL (default: https://photoaistudio.com)

Examples

Generate a Professional Headshot

User: "Upload this photo and generate a professional headshot"

1. upload_image → CDN URL
2. browse_themes (gender: "female", tag: "professional") → theme slug
3. generate_photo (images: [CDN URL], gender: "female", category: "professional") → result URL

Remove Background

User: "Remove the background from this image"

1. upload_image → CDN URL
2. edit_image (operation: "remove_background", image_url: CDN URL) → result URL

Face Swap

User: "Swap my face onto this celebrity photo"

1. upload_image (source face) → source CDN URL
2. upload_image (target photo) → target CDN URL
3. edit_image (operation: "face_swap", source_image_url, target_image_url) → result URL

Tech Stack

License

MIT

Available Tools

8 tools
browse_themesA

Browse available photo themes/categories for AI photo generation. Filter by gender or search by tag. Returns theme slugs needed for the generate_photo tool.

ParametersJSON Schema
NameRequiredDescriptionDefault
genderNoFilter themes by gender category
tagNoSearch themes by name or keyword

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided. The description discloses that it is a read operation (browsing) and mentions the return of slugs, but lacks details on pagination, rate limits, or whether it requires authentication. For a simple listing, it is adequate but not comprehensive.

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 two sentences, concise and front-loaded with the core purpose. Every sentence adds value with no redundancy.

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 lack of output schema, the description explains the return value (theme slugs). It covers the filter parameters but does not specify behavior when no parameters are provided (e.g., returns all themes). Overall, it is sufficient for the tool's simplicity.

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%, so the schema already documents both parameters. The description rephrases filtering by gender and search by tag, adding minimal extra meaning. It also hints at the output usage, which is helpful but not parameter-specific.

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 browses photo themes/categories, specifies filtering by gender or tag, and explains the return value (theme slugs) needed by generate_photo. It distinguishes from sibling tools like generate_photo by establishing a dependency.

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 implies when to use: to obtain theme slugs for generate_photo. It does not explicitly state when not to use or mention alternatives, but the context is clear enough for this simple browse tool.

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

create_videoA

Create AI videos. Costs 500 credits (video) or 100 credits (product_holder image).

Types:

  • image_to_video: Animate an image with a prompt (image_url, prompt required). 500 credits.

  • ugc: Generate UGC video with script and voice (script, voice_id required). 500 credits.

  • product_holder: Product showcase with person holding product (product_image_url required). 500 credits (video) or 100 credits (image).

ParametersJSON Schema
NameRequiredDescriptionDefault
typeYesType of video to create
image_urlNoCDN URL of image to animate (image_to_video, product_holder)
promptNoAnimation prompt (required for image_to_video)
resolutionNoVideo resolution (default: 720p)
durationNoVideo duration in seconds (default: 4)
aspect_ratioNoOutput aspect ratio
scriptNoUGC script text (max 150 chars, required for ugc)
voice_idNoVoice ID for UGC (required for ugc)
emotionNoUGC emotion (default: neutral)
languageNoUGC language (default: English)
genderNoUGC model gender
person_image_urlNoPerson image URL for product_holder
product_image_urlNoProduct image URL (required for product_holder)
output_typeNoproduct_holder output type (image=100 credits, video=500 credits)
person_promptNoPerson description for product_holder
wait_for_resultNoIf true (default), waits for the result. If false, returns prediction_id immediately.

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses credit costs, required parameters per type, output type options, and the behavior of the wait_for_result parameter, providing good insight into tool behavior.

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 well-structured with bullet points for each type and credit costs front-loaded. It is concise yet informative, though the credit listing could be slightly more streamlined.

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 16 parameters and no output schema, the description covers input requirements well but lacks details on output format, error handling, or processing time. This gap reduces completeness.

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 the baseline is 3. The description adds value by grouping parameters by type and explicitly stating which parameters are required for each type, along with credit cost implications, enhancing understanding beyond 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 explicitly states 'Create AI videos' and details three distinct types (image_to_video, ugc, product_holder) with their specific use cases and credit costs, making the purpose crystal clear and differentiating from sibling tools.

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 provides clear guidance on when to use each type by listing required parameters and credit costs for each. It lacks explicit 'when not to use' but the enum and descriptions suffice for correct selection.

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

edit_imageA

Edit a photo using one of 19 AI operations. Credit costs: remove_background (10), replace_background (3), all others (100).

Operations:

  • remove_background: Remove image background (image_url required)

  • replace_background: Replace background with prompt (image_url, prompt required)

  • retouch: AI retouch with prompt guidance (image_url, prompt required)

  • skin: Smooth and enhance skin (image_url required)

  • hair: Change hairstyle (image_url required, hairstyle or reference_image_url)

  • makeup: Apply AI makeup (image_url required)

  • age: Change apparent age (image_url, target_age required)

  • expression: Change facial expression (image_url, target_expression required)

  • body_type: Modify body type (image_url, target_body_type required)

  • eye_color: Change eye color (image_url, target_eye_color required)

  • color_correction: Auto color correction (image_url required)

  • custom: Custom AI edit with prompt (image_url, prompt required)

  • clothes: Change clothes (image_url, clothes_image_url required)

  • try_on: Virtual clothes try-on (image_url, clothes_image_url required)

  • product: Product placement (image_url, product_image_url required)

  • upscale: Enhance resolution (image_url required)

  • restore: Restore old/damaged photo (image_url required)

  • face_swap: Swap faces between photos (source_image_url, target_image_url required)

  • extend: Extend image canvas (image_url required)

All image URLs must be CDN URLs from upload_image.

ParametersJSON Schema
NameRequiredDescriptionDefault
operationYesThe edit operation to perform
image_urlNoCDN URL of the image to edit (required for all operations except face_swap)
promptNoText prompt for replace_background, retouch, custom operations
hairstyleNoTarget hairstyle for hair operation
hair_colorNoTarget hair color for hair operation
reference_image_urlNoReference image URL for hair or custom operations
target_ageNoTarget age for age operation
target_expressionNoTarget expression for expression operation (e.g. "happy", "serious")
target_body_typeNoTarget body type for body_type operation
target_eye_colorNoTarget eye color for eye_color operation
clothes_image_urlNoClothes image URL for clothes/try_on operations
product_image_urlNoProduct image URL for product operation
source_image_urlNoSource face image for face_swap operation
target_image_urlNoTarget image for face_swap operation
num_imagesNoNumber of variations for try_on operation
wait_for_resultNoIf true (default), waits for the result. If false, returns prediction_id immediately.

TDQS

A4.2/5.0
Behavior4/5

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

Discloses credit costs, required parameters per operation, and the 'wait_for_result' behavior. Missing details on idempotency, rate limits, or side effects, but adequate given no annotations.

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?

Well-structured with bullet points and clear sections. Could be slightly more concise, but every sentence adds necessary information.

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?

No output schema; the description does not explain the return format (e.g., edited image URL or prediction ID) for most operations, leaving the agent uncertain about what to expect.

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%, but the description adds value by mapping operations to required parameters and providing examples, which helps the agent understand usage beyond raw 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 it edits photos using 19 AI operations, with a specific verb and resource. It distinguishes from siblings like 'generate_photo' and 'create_video' by focusing on editing existing images.

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 explicit guidance on which operation requires which parameters and credit costs. However, it does not explicitly state when to avoid this tool in favor of alternatives.

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

generate_photoA

Generate AI photos from face images using 150+ themed styles or custom prompts. Costs 100 credits per photo. Requires uploading face images first via upload_image. Use browse_themes to discover available categories.

ParametersJSON Schema
NameRequiredDescriptionDefault
imagesYesCDN URLs of face photos (1-9), obtained from upload_image
genderYesGender category for theme selection
categoryNoTheme slug from browse_themes (required for themed generation)
typeNoGeneration type: themed (use a preset style) or custom (use a prompt)
promptNoCustom prompt (required when type=custom)
num_imagesNoNumber of variations to generate (1-4)
styleNoStyle override (e.g. "realistic")
aspect_ratioNoOutput aspect ratio
wait_for_resultNoIf true (default), waits for the result. If false, returns prediction_id immediately.

TDQS

A4/5.0
Behavior3/5

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

Given no annotations, the description attempts to disclose behaviors: credit cost and prerequisite upload. However, it omits details about the generation process (e.g., whether it is synchronous or async, what happens on error, or how the wait_for_result parameter affects behavior). This leaves some ambiguity for the agent.

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 extremely concise at three sentences, with no redundant information. It front-loads the core purpose and follows with essential usage guidance in a logical order. Every 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?

The description covers the tool's purpose, prerequisites, and cost, and mentions the key distinction between themed and custom generation. However, it does not explain the conditional dependency between type/category/prompt, nor describe the output format (e.g., image URL or prediction ID) despite having a wait_for_result parameter. Given the complexity (9 params, no output schema), slightly more detail would improve completeness.

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?

With 100% schema description coverage, the schema already documents all parameters. The description adds value by explaining the credit cost and linking category usage to browse_themes, but does not clarify conditional requirements (e.g., when type=themed vs custom). 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?

The description explicitly states the tool generates AI photos from face images using themed styles or custom prompts. It clearly identifies the verb 'generate', the resource 'AI photos', and the method, and distinguishes itself from sibling tools like upload_image and browse_themes by referencing them as prerequisites or discoverability tools.

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 provides clear usage context: it requires prior face image upload via upload_image, costs 100 credits per photo, and recommends browse_themes for theme discovery. It does not explicitly state when not to use this tool (e.g., for other media types), but the sibling tools cover those purposes, and the guidance is sufficient for an informed selection.

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

get_accountA

Get your Photo AI Studio account info: credit balance, total predictions, and membership date. Use this to check available credits before generating photos.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description must disclose behavior. It states the tool is a read operation that returns credit balance, total predictions, and membership date. This is sufficient for a simple retrieval. Could mention authentication implicitly.

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, front-loaded with purpose, then usage advice. Every word earns its place. No fluff.

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 account info tool with no output schema, the description covers what is returned and the use case. It is complete enough for an agent to decide when to use it.

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?

No parameters, so schema coverage is 100%. According to guidelines, 0 params gives a baseline of 4. The description adds no parameter info, which is fine.

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 uses a specific verb 'Get' and identifies the resource 'account info', listing the exact fields returned. It clearly distinguishes from sibling tools which are about browsing themes, creating videos, editing images, generating photos, 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?

Explicitly states when to use: 'before generating photos to check available credits.' Provides clear context, though it doesn't explicitly list when not to use it or name alternatives.

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

get_predictionA

Check the status of an async operation (generation, edit, or video). Returns the current state and result URL when complete.

ParametersJSON Schema
NameRequiredDescriptionDefault
prediction_idYesThe prediction ID returned by generate_photo, edit_image, or create_video

TDQS

A4/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 burden. It states the tool returns 'current state and result URL when complete,' which is adequate but lacks details on possible states, error handling, or idempotency. More transparency on the async behavior would help.

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 efficiently convey purpose, scope, and output. Front-loaded with the verb 'Check' and no unnecessary words.

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 low complexity (one param, no output schema), the description covers the essential purpose, output, and input origin. Minor gaps: does not enumerate possible states or mention error cases for invalid IDs, but still fully usable.

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% and the description's parameter info ('returned by generate_photo, edit_image, or create_video') duplicates the schema. No additional meaning is added beyond the schema, meeting baseline expectations.

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 checks the status of an async operation for generation, edit, or video. It explicitly distinguishes from sibling tools like generate_photo, edit_image, and create_video (which start operations) and list_predictions (which lists all predictions).

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 implies the tool is used after initiating an async operation to check its status, and differentiates from siblings. However, it lacks explicit guidance on when not to use it (e.g., for initiating operations or listing all predictions) or alternatives.

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

list_predictionsA

List past predictions (generations, edits, videos) with pagination and optional state filter.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number (default: 1)
limitNoItems per page (default: 20, max: 100)
stateNoFilter by prediction state

TDQS

A3.8/5.0
Behavior3/5

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

No annotations provided. Description implies read-only operation ('list past predictions'), but lacks details on rate limits, auth, or behavior with empty results. Minimal disclosure.

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?

Single, efficient sentence (13 words) conveying purpose, scope, and features. Front-loaded with key action and resource.

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?

Adequate for a simple list tool with well-documented schema. Missing description of return format, but no output schema exists, and list context is clear.

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 all 3 parameters with descriptions (100% coverage). Description only adds 'past predictions' context and optional state filter, providing minimal value beyond 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?

Description clearly states verb 'list', resource 'predictions', and specifies scope as 'past predictions (generations, edits, videos)' with pagination and state filter. Distinguishes from siblings like get_prediction (single) and creation tools.

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?

No explicit when/when-not or alternatives, but context implies listing past predictions. Sibling tools provide implicit guidance, but no exclusions or prerequisites stated.

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

upload_imageA

Upload an image to Photo AI Studio CDN. Returns a CDN URL needed by generate_photo, edit_image, and create_video tools. Accepts a public image URL or base64-encoded image data. Max 10MB.

ParametersJSON Schema
NameRequiredDescriptionDefault
image_urlNoPublic URL of the image to upload
image_base64NoBase64-encoded image data (raw or data URI)

TDQS

A4.2/5.0
Behavior3/5

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

With no annotations, the description bears full transparency burden. It discloses the CDN destination, max file size (10MB), and input formats. However, it omits details like allowed image types, idempotency, overwrite behavior, or response format beyond 'CDN URL'.

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?

Four sentences, no wasted words. Critical information (purpose, output, input options, size limit) is front-loaded. Highly concise and structured for quick parsing.

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 upload tool with two optional parameters and no output schema, the description adequately covers purpose, input constraints, and downstream use. However, since no output schema exists, a more precise description of the returned URL format would improve completeness.

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 description coverage is 100%, so baseline is 3. The description adds value by clarifying that image_url expects a 'Public URL' and image_base64 accepts 'raw or data URI' base64, elaborating on the schema's simple type strings.

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 action ('Upload an image'), the target resource ('Photo AI Studio CDN'), and the outcome ('Returns a CDN URL'). It explicitly names the downstream tools that use this URL (generate_photo, edit_image, create_video), distinguishing it from those sibling tools.

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 explains when to use this tool (to upload an image for later use by other tools) and specifies accepted input formats (URL or base64). However, it does not explicitly mention when NOT to use it or name alternatives, though no alternative upload tool exists among siblings.

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

TDQS

A4.2/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: browse_themes for theme discovery, create_video for video generation, edit_image for photo editing, generate_photo for AI photo generation, get_account for account info, get_prediction and list_predictions for status, and upload_image for image upload. There is no overlap between these functions.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case (e.g., browse_themes, create_video, edit_image, generate_photo, get_account, get_prediction, list_predictions, upload_image). The verbs are imperative and descriptive, providing a predictable naming convention.

Tool Count5/5

With 8 tools, the server covers the essential operations of a photo AI studio: uploading, generating, editing, creating videos, checking account info, and managing predictions. The number is well-scoped and neither too sparse nor too bloated.

Completeness4/5

The tool set covers the main lifecycle: upload, generate/edit/video, and check predictions. Minor gaps exist, such as no tool to delete uploaded images or cancel predictions, but these are non-critical for common workflows. The included operations are comprehensive.

Maintenance

ActivityInactive
ResponsivenessNo issues

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/photo-ai-studio/photo-ai-studio-mcp'

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