Face Generator MCP Server
The Face Generator MCP Server enables applications to generate realistic human face images on demand using thispersondoesnotexist.com. You can:
Generate customizable human face images
Specify parameters including number of images (1-10), dimensions (64-1024 pixels), and shape (square, circle, or rounded)
Customize border radius for rounded images
Save images to a specified directory with custom or timestamp-based filenames
Return images as base64-encoded content
Integrate with Cline VS Code extension for development workflows
Run in development mode with MCP inspector for debugging
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Face Generator MCP Servergenerate a realistic face image for a profile picture"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Face Generator MCP Server: Generate Human Faces with Ease
Features
This project provides a Model Context Protocol (MCP) server for generating human face images using https://thispersondoesnotexist.com. Think of it as a tool that lets other applications, like Cline, generate realistic-looking faces on demand.
This guide is designed for beginners, so we'll walk through everything step-by-step. We'll cover:
Prerequisites: What you need before you start.
Installation and Setup: Getting everything up and running.
Running the Server: Starting the server.
Integrating with Cline: Connecting this server to the Cline VS Code extension.
Troubleshooting: Common problems and solutions.
Tool Parameters: A list of the parameters you can use with the
generate_facetool.
Related MCP server: Gemini MCP Image Generation Server
1. Prerequisites
Before you begin, you'll need a few things:
Node.js and npm: Node.js is a JavaScript runtime that lets you run JavaScript code outside of a web browser. npm (Node Package Manager) is included with Node.js and is used to install packages (libraries of code).
Download Node.js. Choose the LTS (Long Term Support) version. This is the most stable version. Follow the installation instructions for your operating system. Make sure to include npm in the installation (it's usually included by default).
Verify Installation: After installing Node.js, open a new terminal (command prompt on Windows, Terminal on macOS/Linux) and type:
node -v npm -vYou should see version numbers for both Node.js and npm. If you see an error, Node.js might not be installed correctly, or it might not be in your system's PATH. (See Troubleshooting below).
2. Installation and Setup
Let's get the project code and set it up:
Clone the Repository:
Using Git (command line):
Open a terminal (command prompt or Terminal).
Navigate to the directory where you want to store the project. For example, to put it on your Desktop:
cd DesktopClone the repository:
git clone https://github.com/Moe/mcp-face-generatorChange into the project directory:
cd mcp-face-generator
Using GitHub Desktop:
Open GitHub Desktop.
Click "File" -> "Clone Repository...".
In the "URL" tab, paste the repository URL.
Choose a local path (where you want to save the project on your computer).
Click "Clone".
Install Dependencies: This downloads all the necessary libraries the project needs. In the terminal, inside the project directory, run:
npm installThis might take a few minutes.
Build the Project: This compiles the code into an executable format.
npm run build
3. Running the Server
You can run the server in two main ways:
Standalone Mode: This runs the server directly, and it will output messages to the terminal.
Development/Debug Mode: This runs the server with the MCP Inspector. You can open the URL that it outputs in your browser and start playing around.
3.1 Standalone Mode
To run the server in standalone mode, use the following command in the terminal (from the project directory):
npm run startYou should see messages in the terminal indicating that the server is running. It will listen for connections from MCP clients. The server will keep running until you stop it (usually with Ctrl+C).
3.2 Development/Debug Mode (with Inspector)
This mode is useful for debugging.
Start the server in debug mode:
npm run devThis will start the server and output a message like:
🔍 MCP Inspector is up and running at http://localhost:5173 🚀. This is the URL you'll use to open the MCP inspector in your Browser.
4. Integrating with Cline
Cline is a VS Code extension that uses MCP servers to provide language support. Here's how to connect this face generator server to Cline:
Install Cline: If you haven't already, install the "Cline" extension in VS Code.
Open Cline Settings:
Open the VS Code settings (File -> Preferences -> Settings, or Ctrl+,).
Search for "Cline MCP Settings".
Click "Edit in settings.json". This will open the
cline_mcp_settings.jsonfile.
Add the Server Configuration: You'll need to add an entry to the
serversarray in thecline_mcp_settings.jsonfile. Here's an example:{ "mcpServers": { "face-generator": { "command": "node", "args": [ "C:/PATH_TO/mcp-face-generator/build/index.js" ], "disabled": false, "autoApprove": [] } } }Replace
"C:/PATH_TO/mcp-face-generator/build/index.js"with the actual path to theindex.jsfile in your project directory. Use forward slashes (/) or double backslashes (\\) for the path on Windows.
Test the Connection:
Cline should automatically connect to the server. You will see the Server appear in the "MCP Servers" Panel (in the Cline extension, you'll find different buttons on the top.)
Ask Cline to generate a face and it should mention the MCP Server and should try to use the corresponding tools
5. Troubleshooting
node -vornpm -vgives an error:Make sure Node.js is installed correctly. Try reinstalling it.
Ensure that the Node.js installation directory is in your system's PATH environment variable. On Windows, you can edit environment variables through the System Properties (search for "environment variables" in the Start Menu).
npm installfails:Make sure you have an internet connection.
Try deleting the
node_modulesfolder and runningnpm installagain.If you're behind a proxy, you might need to configure npm to use the proxy. Search online for "npm proxy settings".
Cline doesn't connect to the server:
Double-check the settings in
cline_mcp_settings.json. It must be the correct path to theindex.jsfile.Make sure the server is running (use
npm run startto check).Restart VS Code.
6. Tool Parameters
The generate_face tool accepts the following parameters:
outputDir: (required) Directory to save the imagesfileName: Optional file name (defaults to timestamp)count: Number of images to generate (default: 1)width: Image width in pixels (default: 256)height: Image height in pixels (default: 256)shape: Image shape (square|circle|rounded, default: square)borderRadius: Border radius for rounded shape (default: 32)returnImageContent: Return image as base64 encoded content instead of file path (default: false)
Example
{
"outputDir": "./output",
"count": 3,
"width": 512,
"height": 512,
"shape": "circle",
"returnImageContent": true
}License
MIT
Available Tools
1 toolgenerate_faceC
Generate and save a human face image
| Name | Required | Description | Default |
|---|---|---|---|
| outputDir | Yes | Directory to save the image | |
| fileName | No | Optional file name (defaults to timestamp) | 1767357705977.png |
| count | No | Number of images to generate (default: 1) | |
| width | No | Width of the image in pixels (default: 256) | |
| height | No | Height of the image in pixels (default: 256) | |
| shape | No | Image shape (square|circle|rounded, default: square) | square |
| borderRadius | No | Border radius for rounded shape (default: 32) | |
| returnImageContent | No | Return image as base64 encoded content instead of file path (default: false) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. While 'generate and save' implies a write operation, it doesn't disclose important behavioral traits like whether this requires specific permissions, what happens if the output directory doesn't exist, whether generation is deterministic or random, or what happens on failure. For a tool that creates files with no annotation coverage, this represents a significant gap in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is perfectly concise at just 6 words: 'Generate and save a human face image.' It's front-loaded with the core functionality, contains zero wasted words, and communicates the essential purpose efficiently. Every word earns its place in this minimal but complete statement of function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 8 parameters, no annotations, and no output schema, the description is insufficiently complete. It doesn't explain what the tool returns (file paths? success indicators? error formats?), doesn't mention any constraints or requirements beyond what's in the parameter schema, and provides no context about the generation quality, source, or limitations. The agent would need to guess about important behavioral aspects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description provides no parameter information beyond what's already in the schema, which has 100% coverage with detailed descriptions for all 8 parameters. The baseline score of 3 reflects that the schema does the heavy lifting, and the description adds no additional parameter context, semantics, or examples beyond what's already documented in the structured schema fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Generate and save a human face image' clearly states the verb ('generate and save') and resource ('human face image'), making the purpose immediately understandable. It's specific about generating a face image rather than generic image generation. However, without sibling tools to differentiate from, it can't achieve the full 5 points for sibling distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, prerequisites, or constraints. It simply states what the tool does without any context about appropriate use cases, limitations, or when other tools might be more suitable. This leaves the agent with insufficient context for optimal tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
With only one tool, there is no possibility of ambiguity or overlap between tools. The single tool 'generate_face' has a clearly distinct and singular purpose.
The naming pattern cannot be inconsistent when there is only one tool. The tool name 'generate_face' follows a clear verb_noun convention, which would be consistent if more tools existed.
A single tool is generally too few for most MCP server purposes, as it provides minimal functionality and limits agent capabilities. For a face generation domain, one tool feels thin and under-scoped.
The tool set is severely incomplete for a face generation domain. While it covers generation, there are obvious gaps such as no tools for listing, retrieving, modifying, or deleting generated faces, creating dead ends for agents.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Generate synthetic random user data for testing, demos, and development without using real persona.
Create images and videos from prompts, with options for image mixing, reference images, and start/…
Automatic image/video face detection, blur/redaction, and de-identification by NoonAI DIS.
Automatic image/video face detection, blur/redaction, and de-identification by NoonAI DIS.
Related MCP Servers
- FlicenseBqualityDmaintenanceEnables users to generate images from text prompts using Replicate's model, with configurable parameters and full MCP protocol compliance.1123
- AlicenseDqualityDmaintenanceA Model Context Protocol server that provides image generation capabilities using Google's Gemini 2 API, allowing users to generate multiple images with customizable parameters like prompts, aspect ratios, and person generation settings.1705MIT
- AlicenseNot gradedqualityNot gradedmaintenanceEnables image generation using Google's Gemini 2 API with customizable parameters like aspect ratio, number of samples, and person generation settings.70
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/dasheck0/face-generator'
If you have feedback or need assistance with the MCP directory API, please join our Discord server