Face analysis and transforms — keypoints, beautify, age/gender, swap, cartoon, liveness. (Alpha)

Bring AceDataCloud's Face Transform APIs into Copilot Chat. Detect 90+ keypoints per face, beautify portraits, age or de-age, swap perceived gender, face-swap between photos, cartoonize, and detect liveness.
This extension registers the face MCP server with VS Code so GitHub
Copilot and any other agent that speaks the Model Context Protocol
can call it directly from chat.
Quick Start
- Install this extension. VS Code registers the
face MCP server automatically.
- Get an application API key using the detailed steps below. Check service access and your current balance before the first request.
- Open Copilot Chat in agent mode and ask for an image task — the extension prompts for the API key the first time and stores it in the OS keychain via VS Code's
SecretStorage.
You can rotate or remove the API key any time from the command palette:
- Face Transform MCP: Set Ace Data Cloud API Key
- Face Transform MCP: Clear Ace Data Cloud API Key
The default config talks to the hosted streamable-HTTP endpoint at
https://face.mcp.acedata.cloud/mcp — no Python, no uvx, no local install needed.
Get your API key
- Open Ace Data Cloud → Applications. Sign in, or register an account first.
- Find General application. If it has not been created, choose Initialize General Application. A general key can use the services available to your account; a dedicated application's key is limited to its service. Check the required service/model access and current pricing.
- Copy the API Key from the application card, or open Keys / Manage Keys → Create to create a separate key for this integration. Give it a recognizable name so you can revoke or rotate it independently.
- When creating a key, review Expiration Time, Set Usage Limitation, and Allowed APIs. Enable only the restrictions you need, allow the operations you will call, then click Create and copy the token from the key list. Task lookup does not grant permission to submit a generation. Confirm the application's balance can cover your first request; any trial allowance is whatever your account currently displays.
- Copy only the token value, without quotation marks, spaces, or
Bearer . An API Key / API Token field expects this raw value; only a manually configured HTTP Authorization header needs the Bearer prefix. A platform-... account-management token cannot replace a generation API key.


Save the key in the client's credential store or the environment variable shown below. Never put it in a prompt, shared workflow, screenshot, or Git commit. If authentication fails, check the full copied value, application/service access, expiration, usage limit, and balance before creating another key.
Example prompts
8 tools available via this server.
| 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. |
Pricing
All Face APIs are currently in Alpha. Free trial credit on sign-up. See Service details.
Configuration
This extension implements the mcpServerDefinitionProviders contribution point
and registers a single hosted server with VS Code:
Provider id : acedatacloud.face
Server label: Face Transform MCP
Server URL : https://face.mcp.acedata.cloud/mcp
Transport : Streamable HTTP
Auth : Bearer API key from VS Code SecretStorage (or $ACEDATACLOUD_API_TOKEN)
You don't need to edit mcp.json — the extension handles registration and
token handling automatically. If you'd rather configure things by hand, the
sections below show equivalent mcp.json snippets you can use instead of
this extension.
Alternative: manual mcp.json (hosted)
{
"servers": {
"face": {
"type": "http",
"url": "https://face.mcp.acedata.cloud/mcp",
"headers": { "Authorization": "Bearer ${input:acedatacloud_api_token}" }
}
},
"inputs": [
{
"type": "promptString",
"id": "acedatacloud_api_token",
"description": "Ace Data Cloud API key",
"password": true
}
]
}
Alternative: local stdio (no network roundtrip)
For offline dev, air-gapped environments, or pinning to a specific PyPI
version, install uv and use:
{
"servers": {
"face": {
"type": "stdio",
"command": "uvx",
"args": ["mcp-face-transform"],
"env": { "ACEDATACLOUD_API_TOKEN": "${input:acedatacloud_api_token}" }
}
}
}
uvx will download and run the latest mcp-face-transform on demand.
Links
License
MIT — see LICENSE.