Connect AI agents to the Recraft AI MCP server
Vendor MCP21 toolsOAuth 2.1/DCRDesignAIThe 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.
-
Install the SDK
Section titled “Install the SDK”Terminal window npm install @scalekit-sdk/node dotenvTerminal window pip install scalekit-sdk-python python-dotenv -
Set your credentials
Section titled “Set your credentials”Add your Scalekit credentials to your
.envfile. 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> -
Authorize and make your first call
Section titled “Authorize and make your first call”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.actionsconst connector = 'recraftmcp'const identifier = 'user_123'// Generate an authorization link for the userconst { 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 callconst result = await actions.executeTool({connector,identifier,toolName: 'recraftmcp_get_user',toolInput: {},})console.log(result)Terminal window npx tsx quickstart.mtsquickstart.py import osfrom scalekit import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENVIRONMENT_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "recraftmcp"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize Recraft AI MCP:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={},tool_name="recraftmcp_get_user",connection_name=connection_name,identifier=identifier,)print(result)Terminal window python quickstart.py
What you can do
Section titled “What you can do”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
Tool list
Section titled “Tool list”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.
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.
input_image_typestringrequiredVisual image type for the styleinput_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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
input_image_urlstringrequiredPublicly accessible HTTPS URL of the raster image (PNG/JPEG/WEBP).