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:
๐ง 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