FastMCP server for integrating with Freepik APIs
Project description
Freepik MCP
🚀 MCP Server for seamless Freepik API integration
🎯 What is this?
A Model Context Protocol (MCP) server that connects your AI assistants (Claude, Cursor, etc.) directly with Freepik's powerful APIs. Generate, search, and manage visual content without leaving your AI workflow.
🛠️ What tools are available?
- 🎨 Icon Search & Download - Find and download icons in multiple formats
- 📁 Resource Management - Access and manage multimedia content
- 🤖 AI Image Classification - Automatically classify and analyze images
- 🖼️ Image Generation - Create custom images using Mystic AI
📋 Prerequisites
Before you start, make sure you have:
- Python 3.12+ installed
- uv dependency manager (install here)
- Freepik API Key (get yours here)
🚀 Installation
1. Clone and navigate
git clone <REPOSITORY_URL>
cd freepik-mcp
2. Install using Makefile
# Install dependencies
make install
# Verify installation
make version
3. Configure your API Key
echo "FREEPIK_API_KEY=your_api_key_here" > .env
💡 Get your API Key at: freepik.com/api
⚙️ Configuration for AI Assistants
For Claude Desktop or Cursor on Linux
Add this to your config.json file:
⚠️ For Windows users: If you're on Windows, you need to use WSL (Windows Subsystem for Linux) to run this MCP server.
{
"mcpServers": {
"freepik-fastmcp": {
"command": "uv",
"args": [
"run",
"--directory",
"/FULL/PATH/TO/freepik-mcp",
"main.py"
],
"env": {
"FREEPIK_API_KEY": "your_actual_api_key_here"
}
}
}
}
🔧 Important Configuration Steps
-
Find your full path:
pwd # Copy the output and replace /FULL/PATH/TO/ in the config
-
Replace with your API key:
- Get it from freepik.com/api
- Replace
your_actual_api_key_here
🏃♂️ Quick Start
# Development mode (auto-reload)
make dev
# Production mode
make run
# Check code quality
make lint
# Format code
make format
# Clean temporary files
make clean
# See all commands
make help
🤝 Contributing
We welcome contributions! Please follow these guidelines:
📝 Commit Convention
This project uses Conventional Commits. Format your commits as:
<type>(<scope>): <description>
[optional body]
[optional footer(s)]
Types:
feat: New featurefix: Bug fixdocs: Documentation changesstyle: Code style changes (formatting, etc.)refactor: Code refactoringtest: Adding or updating testschore: Maintenance tasks
Examples:
feat(icons): add search filtering by category
fix(api): resolve authentication timeout issue
docs(readme): update installation instructions
refactor(mystic): improve error handling logic
🔄 Contribution Workflow
- Fork the repository
- Create a feature branch:
git checkout -b feat/amazing-feature - Commit using conventional format:
git commit -m "feat: add amazing feature" - Push to your branch:
git push origin feat/amazing-feature - Open a Pull Request
📚 Development Commands
| Command | Description |
|---|---|
make help |
Show all available commands |
make install |
Install dependencies |
make dev |
Run in development mode |
make run |
Run in production mode |
make lint |
Check code quality |
make format |
Format code automatically |
make clean |
Clean temporary files |
make version |
Check FastMCP version |
🛡️ Security
- ⚠️ Never commit your API Key
- ✅ Use
.envfiles for sensitive data - ✅ The
.envfile is in.gitignore
📖 API Documentation
For detailed API information:
🆘 Troubleshooting
Common issues:
- "Command not found" → Install
uvdependency manager - "Invalid API Key" → Check your key at freepik.com/api
- "Path not found" → Verify the full path in your config
- "Connection refused" → Make sure the server is running with
make dev
Still having issues? Open an issue on GitHub with:
- Your OS and Python version
- Full error message
- Configuration file (without API key)
Ready to create amazing content with AI? 🎨✨
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file iflow_mcp_freepik_company_freepik_mcp-0.1.1.tar.gz.
File metadata
- Download URL: iflow_mcp_freepik_company_freepik_mcp-0.1.1.tar.gz
- Upload date:
- Size: 11.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fa35ce77ce3e7d383ad7daeb2662e2ee190a2302a51f19d3e13402a1a43ef152
|
|
| MD5 |
9795d1c1147f10eb2d6f27a25d7e1965
|
|
| BLAKE2b-256 |
f92190fb9696427af507a860df2f94ca64147c03cdce985ff381e15e91abd87b
|
File details
Details for the file iflow_mcp_freepik_company_freepik_mcp-0.1.1-py3-none-any.whl.
File metadata
- Download URL: iflow_mcp_freepik_company_freepik_mcp-0.1.1-py3-none-any.whl
- Upload date:
- Size: 11.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7822e54bc3e3a2311785e70c4528787ff44b389cf03e90a59719d3d36ece0621
|
|
| MD5 |
2a3e7b5d3a85e032361a1e2932e6bf4f
|
|
| BLAKE2b-256 |
e11fa9bba28eec2bb059f1c414dd5d3d368a4d8c11bbf3794eb0180d18cc9f14
|