recraft-mcp-server

recraft-mcp-server

6

Recraft MCP Server is a Model Context Protocol server designed for integrating Recraft.ai's image generation services. It provides a wide range of tools for generating and manipulating images while ensuring type-safe operations through Zod.

Recraft MCP Server

A Model Context Protocol (MCP) server implementation for integrating with Recraft.ai services. This server enables AI assistants to generate images through Recraft's API using the MCP framework.

๐ŸŒŸ Features

  • Implements MCP tools for Recraft image generation services
  • Provides type-safe schemas using Zod for validation
  • Supports various image generation options (styles, sizes, etc.)
  • Easy integration with LLM assistants that support MCP

๐Ÿ“‹ Prerequisites

  • Node.js (v18 or later recommended)
  • A Recraft API key from recraft.ai

๐Ÿš€ Installation

  1. Clone the repository:

    git clone https://github.com/yourusername/recraft-mcp-server.git
    cd recraft-mcp-server
    
  2. Install dependencies:

    npm install
    
  3. Copy the environment file and configure your API key:

    cp .env.example .env
    

    Then edit .env and add your Recraft API key.

โš™๏ธ Configuration

The server uses the following environment variables:

๐Ÿ”ง Usage

Building the Server

npm run build

Starting the Server

npm start

Or use the provided shell script:

./start-mcp.sh

Development Mode

npm run dev

Inspecting the MCP Server

The MCP SDK includes an inspector tool to test the server:

npm run inspect

๐Ÿงช Testing

Run tests:

npm test

Run tests with coverage:

npm run test:coverage

Watch mode for tests:

npm run test:watch

๐Ÿ” Validation

The project uses Zod for schema validation. See ZOD_IMPLEMENTATION.md for details on the implementation.

๐Ÿ“ API

This server implements the following MCP tools:

  • generate_image: Generate images from text prompts
  • image_to_image: Transform an existing image based on a text prompt
  • inpaint_image: Edit parts of an image using a mask
  • replace_background: Replace the background of an image
  • vectorize_image: Convert raster images to vector format
  • remove_background: Remove the background from an image
  • crisp_upscale: Upscale images with enhanced detail and clarity
  • creative_upscale: Upscale images with creative enhancements
  • create_style: Create a new style based on reference images
  • get_user_info: Retrieve information about the current user
  • save_image_to_disk: Save generated images to the local filesystem

The server also responds to a special help command which provides general information about the available tools, but this is handled as a special case in the server logic rather than as a formal tool definition.

For detailed information about the available parameters and options for each tool, use the MCP inspector tool or review the tool definitions in the code.

๐Ÿ› ๏ธ Development

Linting and Type Checking

# Run type checking
npm run type-check

# Run eslint
npm run lint

# Fix linting issues
npm run lint:fix

# Run both type checking and linting
npm run validate

๐Ÿ“„ License

MIT