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
Tool Reference
| Tool | Description |
|---|---|
face_detect_keypoints |
Detect 90+ keypoints per face (multi-face supported). |
face_beautify |
Smoothing, whitening, face slimming, and eye enlarging. |
face_change_age |
Age or de-age a portrait. |
face_change_gender |
Swap perceived facial gender characteristics. |
face_swap |
Move a source face onto a target image (with optional async webhook). |
face_cartoonize |
Render a portrait in cartoon / animated style. |
face_detect_liveness |
Distinguish a live capture from a printed / screen photo. |
face_get_usage_guide |
Concise client-side 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 .
Service details
License
MIT — see LICENSE.
Metadata
Release files for mcp-face-transform 2026.9.30.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mcp_face_transform-2026.9.30.0.tar.gz | 21.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mcp_face_transform-2026.9.30.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 42.4 kB
Release files / mcp_face_transform-2026.9.30.0.tar.gz
| Download URL | mcp_face_transform-2026.9.30.0.tar.gz |
|---|---|
| Size | 21.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b178931ddcf8532881bccf5170d4db7f45cff6b945a2d405127881b4684327cc
|
|
BLAKE2b-256 checksum How to use checksums |
06737f3cd2ee05a9ca5d03861547a8b2918abf76c4d74f53ec642de7c66889f6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.12.3
|
Release files / mcp_face_transform-2026.9.30.0-py3-none-any.whl
| Download URL | mcp_face_transform-2026.9.30.0-py3-none-any.whl |
|---|---|
| Size | 21.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
bdd09a1d3a93f4206444cdeeac5917fbcec42c7afa18e17285504a1b22cb6794
|
|
BLAKE2b-256 checksum How to use checksums |
8b48c192e6b948fa8780b11e28acbc1c0b6b46ae65846dca12edf99fd0d9098d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.12.3
|