Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Connect AI agents to the Recraft AI MCP server

Vendor MCP
Open markdown

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 22 tools.

Tools
22
What they doRead · write · destructive
6 · 15 · 16 read15 write1 destructive
Users sign in with
OAuth app
Scalekit's or your own

Setup

  1. Install the SDK

    Terminal window
    npm install @scalekit-sdk/node dotenv
  2. Set your credentials

    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. Create the Recraft AI MCP connection

    In AgentKit > Connections, create a Recraft AI MCP connection. The name you give it is the connection_name your code passes. See Configure connections.

    Scalekit credentials are available for Recraft AI MCP server, so you don't need to register an OAuth app.

  4. Authorize a user 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.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

    Each user signs in once. See Authorize a user for the full flow and statuses.

Tools

Pass the exact name to execute_tool
Try in PlaygroundRequest a tool
  • recraftmcp_get_styleGet details of a specific style by its ID.Read-only

    Get Style

    Get details of a specific style by its ID.

    Inputs

    style_idstringrequired
    UUID of the style (e.g. '550e8400-e29b-41d4-a716-446655440000').
  • recraftmcp_get_userGet information about the current user including ID, email, name, and credit balance.Read-only

    Get User

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

    Inputs

    This tool takes no inputs.

  • recraftmcp_list_basic_stylesLists the built-in styles configured in this environment; coverage differs by model.Read-only

    List Basic Styles

    Lists the built-in styles configured in this environment; coverage differs by model. The returned model is a compatible generation identifier. Passing input_style_id can select an older model instead of the default v4.1. List Recraft's library of built-in "basic styles" — a large, curated collection of visual styles for image generation that goes well beyond the default models. Call this to explore the full variety of available styles and pick the one that best matches the user's request. Returns a list of styles, each with a `style_name`, its `input_style_id`, its type and the model it belongs to. Apply a chosen style by passing its `input_style_id` to the generation tools (generate_image, image_to_image, etc.); omit `model` to use the style's own model.

    Inputs

    This tool takes no inputs.

  • recraftmcp_list_stylesList all custom styles created by the current user.Read-only

    List Styles

    List all custom styles created by the current user.

    Inputs

    This tool takes no inputs.

  • recraftmcp_subscription_plansList available Recraft subscription plans with their credits, refill periods, and pricing.Read-only

    Subscription Plans

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

    Inputs

    This tool takes no inputs.

  • recraftmcp_suggest_modelSuggest the best Recraft image generation model for a given user request.Read-only

    Suggest Model

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

    Inputs

    suggest_model_requeststringrequired
    Description of the image generation task to choose a model for. Include details like the desired output (photo, illustration, logo, icon, vector), any quality/speed/cost tradeoffs, and constraints (style compatibility, resolution, etc).
  • recraftmcp_call_agentTalk 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.Write

    Design 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.

    Inputs

    messagestringrequired
    Text message to send to the Recraft agent.
    chat_idstring
    UUID of an existing chat to continue. Omit to start a new chat.
    input_image_urlsarray
    Publicly accessible HTTPS URLs of input images to send to the agent (1–10).
  • recraftmcp_create_styleCreate a custom style from one or more reference images.Write

    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.

    Inputs

    input_stylestring
    Base style type of the custom style; the type of generated images follows it. Required for recraftv3 and recraftv2 styles. Omit it for recraftv4 models: their type follows the model (`_raster` → raster, `_vector` → vector). - realistic_image: photos, portraits, landscapes, etc. Raster. - digital_illustration: digital illustrations, concept art, fantasy art, etc. Raster. - vector_illustration: vector illustrations, logos, icons, etc. Vector. - icon: icons, small graphics (only in recraftv2). Vector.one of realistic_imagedigital_illustrationvector_illustrationicon
    input_style_images_b64array
    Array of base64-encoded reference images for style creation. Provide 1–5 images that exemplify the visual style you want to capture. Mutually exclusive with input_style_images_urls.
    input_style_images_urlsarray
    Array of publicly accessible HTTP or HTTPS URLs pointing to reference images for style creation. Provide 1–5 images that exemplify the visual style you want to capture. Mutually exclusive with input_style_images_b64.
    modelstring
    Recraft model the style is created for. Generations with the style use this model when model is omitted. If omitted here, the server picks a model compatible with input_style. - recraftv4_raster / recraftv4_vector, recraftv4_pro_raster / recraftv4_pro_vector: v4 styles; omit input_style. They can also be applied with the matching recraftv4_1 variants (a raster style with a `_raster` model, a vector style with a `_vector` model). - recraftv3_raster / recraftv3_vector, recraftv2_raster / recraftv2_vector: pass input_style. `_raster` styles produce raster images, `_vector` styles produce SVG vector files.one of recraftv4_rasterrecraftv4_vectorrecraftv4_pro_rasterrecraftv4_pro_vectorrecraftv3_rasterrecraftv3_vectorrecraftv2_rasterrecraftv2_vector
    namestring
    Optional display name for the new style.
    privateboolean
    Whether to create the style as private. Private styles are only visible to the owning account and cannot be discovered by other users.
    style_promptstring
    Optional text prompt of the style, specify if you want to refine style appliance. Its length should be from 1 to 1000 characters.