recraft-mcp-server

The Recraft MCP Server is an implementation of an MCP server designed to integrate with Recraft.ai services. This server allows AI assistants to generate images via the Recraft API using the MCP framework. It offers type-safe schemas for validation and supports various image generation options.

GitHub Stars

8

User Rating

Not Rated

Favorites

0

Views

30

Forks

5

Issues

1

README
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