Skip to content
Scalekit Docs

Connect AI agents to the Recraft AI MCP server

Vendor MCP21 toolsOAuth 2.1/DCRDesignAI

The Recraft AI MCP connector routes your AI agent's tool calls to Recraft AI's own MCP server through Scalekit. Each user signs in to Recraft AI once, and Scalekit stores and refreshes their tokens, so your agent never handles credentials. It comes with 21 tools.

  1. Terminal window
    npm install @scalekit-sdk/node dotenv

    Full SDK reference: Node.js | Python

  2. Add your Scalekit credentials to your .env file. Find values in app.scalekit.com > Developers > API Credentials.

    .env
    SCALEKIT_ENVIRONMENT_URL=<your-environment-url>
    SCALEKIT_CLIENT_ID=<your-client-id>
    SCALEKIT_CLIENT_SECRET=<your-client-secret>
  3. quickstart.mts
    import { ScalekitClient } from '@scalekit-sdk/node'
    import 'dotenv/config'
    import { createInterface } from 'node:readline/promises'
    const scalekit = new ScalekitClient(
    process.env.SCALEKIT_ENVIRONMENT_URL,
    process.env.SCALEKIT_CLIENT_ID,
    process.env.SCALEKIT_CLIENT_SECRET,
    )
    const actions = scalekit.actions
    const connector = 'recraftmcp'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize Recraft AI MCP:', link)
    const rl = createInterface({ input: process.stdin, output: process.stdout })
    await rl.question('Press Enter after authorizing...')
    rl.close()
    // Make your first call
    const result = await actions.executeTool({
    connector,
    identifier,
    toolName: 'recraftmcp_get_user',
    toolInput: {},
    })
    console.log(result)
    Terminal window
    npx tsx quickstart.mts

Connect this agent connector to let your agent:

  • Edit image — Edit one or more input images according to a text prompt, producing new image(s)
  • Agent call — Talk to Recraft’s Design Agent in a multi-turn chat to turn a brief for a digital product into a coherent set of design assets (logo, colour palette, typography, app icon, social assets) and optionally save them as a reusable Design Kit
  • Image vectorize, variate, inpaint — Convert a raster image to a vector format
  • Model suggest — Suggest the best Recraft image generation model for a given user request
  • Plans subscription — List available Recraft subscription plans with their credits, refill periods, and pricing
  • Url request upload — Issue an upload URL for a direct image upload

Use the exact tool names from the Tool list below when you call execute_tool. If you’re not sure which name to use, list the tools available for the current user first.

recraftmcp_call_agent#Talk to Recraft's Design Agent in a multi-turn chat to turn a brief for a digital product into a coherent set of design assets (logo, colour palette, typography, app icon, social assets) and optionally save them as a reusable Design Kit. The agent may reply with a clarifying question instead of a final result — relay its reply to the end user verbatim and send their answer back in a follow-up call rather than answering on its behalf.3 params

Talk to Recraft's Design Agent in a multi-turn chat to turn a brief for a digital product into a coherent set of design assets (logo, colour palette, typography, app icon, social assets) and optionally save them as a reusable Design Kit. The agent may reply with a clarifying question instead of a final result — relay its reply to the end user verbatim and send their answer back in a follow-up call rather than answering on its behalf.

NameTypeRequiredDescription
messagestringrequiredText message to send to the Recraft agent.
chat_idstringoptionalUUID of an existing chat to continue. Omit to start a new chat.
input_image_urlsarrayoptionalPublicly accessible HTTPS URLs of input images to send to the agent (1–10).
recraftmcp_create_style#Create a custom style from one or more reference images. Provide images via URLs or base64-encoded data. The style parameter defines the base style type.6 params

Create a custom style from one or more reference images. Provide images via URLs or base64-encoded data. The style parameter defines the base style type.

NameTypeRequiredDescription
input_image_typestringrequiredVisual image type for the style
input_style_images_b64arrayoptionalBase64-encoded reference images (1–5). Mutually exclusive with input_style_images_urls.
input_style_images_urlsarrayoptionalPublicly accessible HTTPS URLs of reference images (1–5). Mutually exclusive with input_style_images_b64.
modelstringoptionalModel version. Default: recraftv4_1.
privatebooleanoptionalWhether the style is private.
style_promptstringoptionalOptional text prompt to refine style (1–1000 chars).
recraftmcp_creative_upscale#Upscale an image using creative AI enhancement. Returns the upscaled image as a URL and a WEBP preview.1 param

Upscale an image using creative AI enhancement. Returns the upscaled image as a URL and a WEBP preview.

NameTypeRequiredDescription
input_image_urlstringrequiredPublicly accessible HTTPS URL of the input image (PNG/JPEG/WEBP). Use request_upload_url first for local files.
recraftmcp_crisp_upscale#Upscale an image with sharp, crisp quality enhancement. Returns the upscaled image as a URL and a WEBP preview.1 param

Upscale an image with sharp, crisp quality enhancement. Returns the upscaled image as a URL and a WEBP preview.

NameTypeRequiredDescription
input_image_urlstringrequiredPublicly accessible HTTPS URL of the input image (PNG/JPEG/WEBP). Use request_upload_url first for local files.
recraftmcp_delete_style#Delete a custom style by its ID.1 param

Delete a custom style by its ID.

NameTypeRequiredDescription
input_style_idstringrequiredID of the style to delete.
recraftmcp_erase_region#Erase a masked region from an image, filling it with content-aware background. Returns the processed image as a URL and a WEBP preview.2 params

Erase a masked region from an image, filling it with content-aware background. Returns the processed image as a URL and a WEBP preview.

NameTypeRequiredDescription
input_image_urlstringrequiredPublicly accessible HTTPS URL of the source image (PNG/JPEG/WEBP).
mask_image_urlstringrequiredPublicly accessible HTTPS URL of the mask image. White areas will be erased.
recraftmcp_generate_background#Generate a background for a masked region of an image based on a text prompt. Returns the processed image as a URL and a WEBP preview.7 params

Generate a background for a masked region of an image based on a text prompt. Returns the processed image as a URL and a WEBP preview.

NameTypeRequiredDescription
input_image_urlstringrequiredPublicly accessible HTTPS URL of the source image (PNG/JPEG/WEBP).
mask_image_urlstringrequiredPublicly accessible HTTPS URL of the mask image. White areas define the background region.
promptstringrequiredText prompt for the background (1–10000 chars).
input_stylestringoptionalVisual style. Mutually exclusive with input_style_id.
input_style_idstringoptionalStyle ID to apply. Mutually exclusive with input_style.
modelstringoptionalModel version.
nintegeroptionalNumber of images to generate (1–6). Default: 1.
recraftmcp_generate_image#Generate an image from a text prompt. Returns image URLs and WEBP previews.6 params

Generate an image from a text prompt. Returns image URLs and WEBP previews.

NameTypeRequiredDescription
promptstringrequiredText prompt (1–10000 chars).
image_sizestringoptionalImage dimensions or aspect ratio. Default: 1:1.
input_stylestringoptionalVisual style. Mutually exclusive with input_style_id.
input_style_idstringoptionalStyle ID. Mutually exclusive with input_style.
modelstringoptionalModel version. Default: recraftv4_1.
nintegeroptionalNumber of images (1–6). Default: 1.
recraftmcp_get_style#Get details of a specific style by its ID.1 param

Get details of a specific style by its ID.

NameTypeRequiredDescription
style_idstringrequiredUUID of the style (e.g. '550e8400-e29b-41d4-a716-446655440000').
recraftmcp_get_user#Get information about the current user including ID, email, name, and credit balance.0 params

Get information about the current user including ID, email, name, and credit balance.

recraftmcp_image_edit#Edit one or more input images according to a text prompt, producing new image(s). Use for instruction-driven editing (e.g. "add a hat", "combine these images") where the model follows explicit editing instructions or uses an external model; use image_to_image instead for a strength-controlled stylistic transformation of a single image.6 params

Edit one or more input images according to a text prompt, producing new image(s). Use for instruction-driven editing (e.g. "add a hat", "combine these images") where the model follows explicit editing instructions or uses an external model; use image_to_image instead for a strength-controlled stylistic transformation of a single image.

NameTypeRequiredDescription
input_image_urlsarrayrequiredPublicly accessible HTTPS URLs of the source images to edit (1–10).
promptstringrequiredText prompt describing the edit to apply (1–10000 chars).
image_sizestringoptionalImage dimensions or aspect ratio. Defaults to the first input image's size if omitted.
input_style_idstringoptionalID of the style to apply. Mutually exclusive with style.
modelstringoptionalModel version to use. Default: recraftv4_1.
nintegeroptionalNumber of images to generate (1–6). Default: 1.
recraftmcp_image_to_image#Transform an existing image based on a text prompt. The strength parameter controls how much the output differs from the input.8 params

Transform an existing image based on a text prompt. The strength parameter controls how much the output differs from the input.

NameTypeRequiredDescription
input_image_urlstringrequiredPublicly accessible HTTPS URL of the input image (PNG/JPEG/WEBP).
promptstringrequiredText prompt for the transformation (1–10000 chars).
image_sizestringoptionalOutput image dimensions.
input_stylestringoptionalVisual style. Mutually exclusive with input_style_id.
input_style_idstringoptionalStyle ID. Mutually exclusive with input_style.
modelstringoptionalModel version.
nintegeroptionalNumber of images (1–6).
strengthnumberoptionalTransformation strength (0=identical, 1=fully transformed). Default: 0.6.
recraftmcp_inpaint_image#Fill in a masked region of an image based on a text prompt. Returns the processed image as a URL and a WEBP preview.7 params

Fill in a masked region of an image based on a text prompt. Returns the processed image as a URL and a WEBP preview.

NameTypeRequiredDescription
input_image_urlstringrequiredPublicly accessible HTTPS URL of the source image (PNG/JPEG/WEBP).
mask_image_urlstringrequiredPublicly accessible HTTPS URL of the mask image. White areas define the inpainting region.
promptstringrequiredText prompt describing what to paint in the masked region (1–10000 chars).
input_stylestringoptionalVisual style. Mutually exclusive with input_style_id.
input_style_idstringoptionalStyle ID. Mutually exclusive with input_style.
modelstringoptionalModel version to use for generation.
nintegeroptionalNumber of images to generate (1–6).
recraftmcp_list_styles#List all custom styles created by the current user.0 params

List all custom styles created by the current user.

recraftmcp_remove_background#Remove the background from an image. Returns the result as a URL and a WEBP preview.1 param

Remove the background from an image. Returns the result as a URL and a WEBP preview.

NameTypeRequiredDescription
input_image_urlstringrequiredPublicly accessible HTTPS URL of the image (PNG/JPEG/WEBP).
recraftmcp_replace_background#Replace the background of an image based on a text prompt. Returns the processed image as a URL and a WEBP preview.6 params

Replace the background of an image based on a text prompt. Returns the processed image as a URL and a WEBP preview.

NameTypeRequiredDescription
input_image_urlstringrequiredPublicly accessible HTTPS URL of the source image (PNG/JPEG/WEBP).
promptstringrequiredText prompt describing the new background (1–10000 chars).
input_stylestringoptionalVisual style. Mutually exclusive with input_style_id.
input_style_idstringoptionalStyle ID. Mutually exclusive with input_style.
modelstringoptionalModel version to use for generation.
nintegeroptionalNumber of images to generate (1–6).
recraftmcp_request_upload_url#Issue an upload URL for a direct image upload. Use this when you have a local image file and need a publicly accessible URL. PUT the image bytes to the returned upload URL, then use the resulting image_url in other tools.0 params

Issue an upload URL for a direct image upload. Use this when you have a local image file and need a publicly accessible URL. PUT the image bytes to the returned upload URL, then use the resulting image_url in other tools.

recraftmcp_subscription_plans#List available Recraft subscription plans with their credits, refill periods, and pricing.0 params

List available Recraft subscription plans with their credits, refill periods, and pricing.

recraftmcp_suggest_model#Suggest the best Recraft image generation model for a given user request.1 param

Suggest the best Recraft image generation model for a given user request.

NameTypeRequiredDescription
promptstringrequiredThe user's image generation request to evaluate.
recraftmcp_variate_image#Generate variations of an existing image. Returns image URLs and WEBP previews.6 params

Generate variations of an existing image. Returns image URLs and WEBP previews.

NameTypeRequiredDescription
input_image_urlstringrequiredPublicly accessible HTTPS URL of the source image (PNG/JPEG/WEBP).
image_sizestringoptionalOutput image size as aspect ratio.
input_stylestringoptionalVisual style. Mutually exclusive with input_style_id.
input_style_idstringoptionalStyle ID. Mutually exclusive with input_style.
modelstringoptionalModel version to use for generation.
nintegeroptionalNumber of variations to generate (1–6).
recraftmcp_vectorize_image#Convert a raster image to a vector format. Returns the vector image as a URL.1 param

Convert a raster image to a vector format. Returns the vector image as a URL.

NameTypeRequiredDescription
input_image_urlstringrequiredPublicly accessible HTTPS URL of the raster image (PNG/JPEG/WEBP).