BartWaardenburg/recraft-mcp-server
If you are the rightful owner of recraft-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
A Model Context Protocol (MCP) server implementation for integrating with Recraft.ai services, enabling AI assistants to generate images through Recraft's API using the MCP framework.
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 .envThen edit
.envand 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