recraft-mcp-server
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
-
Clone the repository:
git clone https://github.com/yourusername/recraft-mcp-server.git cd recraft-mcp-server
-
Install dependencies:
npm install
-
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:
RECRAFT_API_URL
: The Recraft API endpoint (default: https://external.api.recraft.ai)RECRAFT_API_KEY
: Your Recraft API key
๐ง 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 promptsimage_to_image
: Transform an existing image based on a text promptinpaint_image
: Edit parts of an image using a maskreplace_background
: Replace the background of an imagevectorize_image
: Convert raster images to vector formatremove_background
: Remove the background from an imagecrisp_upscale
: Upscale images with enhanced detail and claritycreative_upscale
: Upscale images with creative enhancementscreate_style
: Create a new style based on reference imagesget_user_info
: Retrieve information about the current usersave_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