MCP server for the AceDataCloud Face Transform API (keypoints, beautify, age/gender, swap, cartoon, liveness)
Project description
MCP Face Transform Server
A Model Context Protocol (MCP) server that exposes the AceDataCloud Face Transform API — face keypoint detection, beautification, age/gender transform, face swap, cartoonization, and liveness detection.
Status: All Face APIs are currently in Alpha. Interfaces may evolve.
Features
- Keypoint detection — 90+ landmarks per face, multi-face supported
- Beautification — smoothing, whitening, face slimming, eye enlarging
- Age transform — age or de-age a portrait
- Gender transform — swap perceived facial gender characteristics
- Face swap — move a source face onto a target image (with optional async webhook)
- Cartoonize — render a portrait in animated / cartoon style
- Liveness detection — distinguish live captures from printed / screen photos
Installation
pip install mcp-face-transform
Configuration
Set your AceDataCloud API token:
export ACEDATACLOUD_API_TOKEN=your_token_here
Get your token from https://platform.acedata.cloud.
Usage
stdio mode (default)
mcp-face-transform
HTTP mode
mcp-face-transform --transport http --port 8000
Available Tools
| Tool | Endpoint | Purpose |
|---|---|---|
face_detect_keypoints |
POST /face/analyze |
Detect 90+ keypoints per face |
face_beautify |
POST /face/beautify |
Smoothing / whitening / slimming / eye enlarging |
face_change_age |
POST /face/change-age |
Age or de-age a portrait |
face_change_gender |
POST /face/change-gender |
Swap perceived facial gender characteristics |
face_swap |
POST /face/swap |
Move source face onto target image |
face_cartoonize |
POST /face/cartoon |
Convert portrait to cartoon style |
face_detect_liveness |
POST /face/detect-live |
Detect live vs printed/screen face |
face_get_usage_guide |
client-side | Concise tool usage reference |
Example
"Detect all faces in https://example.com/group.jpg and return their keypoints."
→ face_detect_keypoints(image_url="https://example.com/group.jpg")
"Lighten and smooth my portrait."
→ face_beautify(image_url="https://example.com/me.jpg", smoothing=15, whitening=25)
"Replace the face in the scene with the headshot."
→ face_swap(
source_image_url="https://example.com/headshot.jpg",
target_image_url="https://example.com/scene.jpg",
)
Configuration in Claude Desktop / Claude Code
{
"mcpServers": {
"face-transform": {
"command": "uvx",
"args": ["mcp-face-transform"],
"env": {
"ACEDATACLOUD_API_TOKEN": "your_api_token_here"
}
}
}
}
Or use the hosted endpoint with bearer auth:
{
"mcpServers": {
"face-transform": {
"url": "https://face.mcp.acedata.cloud/mcp",
"headers": {
"Authorization": "Bearer your_api_token_here"
}
}
}
}
Development
pip install -e ".[dev,test]"
pytest --cov=core --cov=tools
ruff check .
License
MIT — see LICENSE.
Project details
Release history Release notifications | RSS feed
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 mcp_face_transform-2026.5.31.1.tar.gz.
File metadata
- Download URL: mcp_face_transform-2026.5.31.1.tar.gz
- Upload date:
- Size: 21.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
72f87155beee25faeeb54f3ba4cc688e3ff318a80a32cd8bf8c162a4f85e9674
|
|
| MD5 |
91bc52afedae8ed16552334d7a47ebb3
|
|
| BLAKE2b-256 |
f0b5e6430426e49e3309d938b43677ffe038729613169f6b1a5bec05230be53a
|
File details
Details for the file mcp_face_transform-2026.5.31.1-py3-none-any.whl.
File metadata
- Download URL: mcp_face_transform-2026.5.31.1-py3-none-any.whl
- Upload date:
- Size: 22.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8f1e38ea9884f6d51e34f37d1810c075aae8b2a56c79894c296695f12d3c7c88
|
|
| MD5 |
89520155bac1ac91a9b9a95f18af173d
|
|
| BLAKE2b-256 |
05c5fe904f73d16f0b819eed289ec18fde4b040d06f8e83a20fecbbe01808fa1
|