Firefly MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| FIREFLY_SCOPES | No | Scope string from the provisioned project | Adobe tutorial scopes |
| FIREFLY_AUDIT_LOG | No | Append guard decisions to this local path | |
| FIREFLY_CLIENT_ID | No | Firefly Services OAuth client ID | |
| FIREFLY_READ_ONLY | No | `1` or `true` hides generation and uploads | Off |
| FIREFLY_OUTPUT_DIR | No | Folder for explicitly requested downloads | ~/outputs/images |
| FIREFLY_USER_TOKEN | No | Optional user-level custom-model access | |
| FIREFLY_ACCESS_TOKEN | No | Optional existing access token, replacing the secret | |
| FIREFLY_CLIENT_SECRET | No | OAuth client secret | |
| FIREFLY_ALLOW_SPENDING | No | `0` or `false` blocks paid media generation | On |
| FIREFLY_POLL_TIMEOUT_MS | No | Maximum job polling duration | 300000 |
| FIREFLY_POLL_INTERVAL_MS | No | Interval between polls | 2000 |
| FIREFLY_REQUEST_TIMEOUT_MS | No | Per-request deadline | 30000 |
| FIREFLY_SERVICES_CLIENT_ID | No | Adobe tutorial alias for client ID | |
| FIREFLY_SERVICES_ACCESS_TOKEN | No | Adobe tutorial alias for access token | |
| FIREFLY_SERVICES_CLIENT_SECRET | No | Adobe tutorial alias for client secret |
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| generate_imageB | Generate images. Consumes Firefly Services credits. Returns Adobe output URLs. Set wait=false to return an async job. |
| generate_image5B | Generate images with Image5. Image 5 supports natural-language edits through referenceBlobs. Consumes Firefly Services credits. Returns Adobe output URLs. Set wait=false to return an async job. |
| generate_similarB | Generate similar images. Consumes Firefly Services credits. Returns Adobe output URLs. Set wait=false to return an async job. |
| generative_expandB | Expand image. Consumes Firefly Services credits. Returns Adobe output URLs. Set wait=false to return an async job. |
| generative_fillC | Fill image. Consumes Firefly Services credits. Returns Adobe output URLs. Set wait=false to return an async job. |
| generate_object_compositeC | Generate object composite. Consumes Firefly Services credits. Returns Adobe output URLs. Set wait=false to return an async job. |
| precise_compositeB | Generate precise composite. Consumes Firefly Services credits. Returns Adobe output URLs. Set wait=false to return an async job. |
| adaptive_compositeB | Generate adaptive composite. Consumes Firefly Services credits. Returns Adobe output URLs. Set wait=false to return an async job. |
| upscale_imageA | Upscale image. Consumes Firefly Services credits. Returns Adobe output URLs. Set wait=false to return an async job. |
| generate_videoA | Generate video. Consumes Firefly Services credits. Returns Adobe output URLs. Set wait=false to return an async job. |
| upload_imageA | Upload a local JPEG, PNG, WebP, TIFF or JXL image, up to 15 MB. Returns an uploadId, valid for seven days. File content is sent to Adobe. |
| verify_credentialsA | Verify OAuth credentials or a supplied access token without generating media. A supplied token is checked through a custom-model API read. Does not prove generation entitlement or reveal tokens. |
| get_job_statusA | Read an existing Adobe async job by jobId. Use after a polling timeout instead of submitting generation again. |
| list_custom_modelsB | Read custom models available to the Adobe project. FIREFLY_USER_TOKEN is optional for user-specific access. Returns a page; use start and limit to continue. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 14 tools
Most tools target distinct operations: generate_image, generate_similar, generate_video, generative_expand, generative_fill, upscale_image, and the utility tools (upload_image, get_job_status, list_custom_models, verify_credentials) are clearly separable. The three compositing tools (generate_object_composite, precise_composite, adaptive_composite) have terse, near-parallel descriptions that give an agent little basis for choosing among them, though they are genuinely different operations.
All names use snake_case, which is good, but verb/prefix conventions are mixed: 'generate_', 'generative_', 'precise_', 'adaptive_', 'upscale_', plus utility verbs 'get_', 'list_', 'upload_', 'verify_'. The composite tools omit a verb entirely, and 'generate_image5' uses an unexplained numeric suffix that breaks the pattern.
Fourteen tools is well-scoped for a media-generation API surface, with each tool mapping to a distinct Firefly capability (generation, editing, compositing, video, upscaling, upload, job polling, models, auth). No obvious redundancy or padding.
The set covers the full generation/edit lifecycle plus async job polling, uploads, model listing, and credential verification. Minor gaps exist: no explicit job cancel/delete or asset download/retrieval tool, and no batch or clear error-recovery path beyond get_job_status, but core workflows are covered.