Recraft AI MCP
Vendor MCP21 toolsOAuth 2.1/DCRDesignAIConnect to Recraft AI MCP. Generate AI-powered images, vectors, icons, and mockups from your AI agents using Recraft's creative design tools.
Recraft AI MCP connector
-
Install the SDK
Section titled “Install the SDK”Terminal window npm install @scalekit-sdk/nodeTerminal window pip install scalekit -
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.ts import { ScalekitClient } from '@scalekit-sdk/node'import 'dotenv/config'const scalekit = new ScalekitClient(process.env.SCALEKIT_ENV_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)process.stdout.write('Press Enter after authorizing...')await new Promise(r => process.stdin.once('data', r))// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'recraftmcp_get_user',toolInput: {},})console.log(result)quickstart.py import osfrom scalekit.client import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENV_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)
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).