Proofly MCP Integration
The Proofly MCP server enables deepfake detection and face analysis of images.
You can:
Analyze images from a URL for deepfake detection
Analyze base64-encoded images for deepfake detection
Check the status of an analysis session using its UUID
Retrieve detailed information about specific faces detected in an analysis session
Provides a package (proofly-mcp) that acts as an MCP server for deepfake detection, installable via npm either globally or locally.
Click on "Deploy 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., "@Proofly MCP Integrationanalyze this image for deepfakes: https://example.com/suspicious-photo.jpg"
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.
Proofly MCP Integration
Install and just write 'proofly it' URL to content or analyze it URL to content for deepfake face swap analysis.
For clients that connect to MCP servers using a URL (e.g., Cursor, Cascade/Windsurf)
Add one of the following configurations to your MCP client (e.g., in mcp_config.json):
A. Streaming (SSE - Recommended where supported):
{
"proofly": {
"serverUrl": "https://mcp.proofly.ai/sse",
"supportedMethods": [
"analyze-image",
"analyze",
"get-face-details",
"check-session-status"
],
"auth": { "type": "none" } // Or your specific auth if Proofly API https:/get.proofly.ai requires it
}
}B. Standard HTTP (Non-streaming):
{
"proofly": {
"serverUrl": "https://mcp.proofly.ai/mcp",
"supportedMethods": [
"analyze-image",
"analyze",
"get-face-details",
"check-session-status"
],
"auth": { "type": "none" } // Or your specific auth if Proofly API https:/get.proofly.ai requires it
}
}For clients that can execute a local command for an MCP server (e.g., Claude Desktop)
Claude Desktop:
Run: npx proofly-mcp@latest
Add to your Claude Desktop config file (e.g.,
claude_desktop_config.json)
{
"mcpServers": {
"proofly": {
"command": "npx",
"args": [
"-y", // The -y flag might be specific to your npm/npx version or aliasing for auto-confirmation.
"proofly-mcp@latest"
],
"supportedMethods": [
"analyze-image",
"analyze",
"get-face-details",
"check-session-status"
]
}
}
}Alternatively, if you have proofly-mcp installed globally (npm install -g proofly-mcp), you can use:
{
"mcpServers": {
"proofly": {
"command": "proofly-mcp",
"args": [],
"supportedMethods": [
"analyze-image",
"analyze",
"get-face-details",
"check-session-status"
]
}
}
}Other command-capable MCP Clients:
If your MCP client can launch a local command, configure it to run proofly-mcp.
Conceptual example (actual config varies by client):
{
"mcpServers": {
"proofly": {
"type": "command",
"command": "proofly-mcp",
"supportedMethods": [
"analyze-image",
"analyze",
"get-face-details",
"check-session-status"
]
}
}
}Environment Variables for proofly-mcp CLI (Optional)
PROOFLY_API_KEY: Your Proofly API key. Theproofly-mcpCLI will use this API key if the variable is set when communicating with Proofly APIhttps://get.proofly.ai.
Available MCP Methods
analyze
Analyzes an image from a URL for deepfake detection.
analyze-image
Analyzes an image provided as a base64 string for deepfake detection.
check-session-status
Checks the status of a deepfake analysis session.
get-face-details
Gets detailed information about a specific face detected in an image analysis session.
Available Tools
4 toolsanalyzeB
Analyzes an image from a URL for deepfake detection.
| Name | Required | Description | Default |
|---|---|---|---|
| imageUrl | Yes | URL of the image to analyze. | |
| format | No | Output format. | text |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool analyzes images for deepfake detection but lacks details on performance characteristics (e.g., processing time, accuracy), error handling, rate limits, or authentication needs. For a tool with no annotations, this is 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 a single, efficient sentence: 'Analyzes an image from a URL for deepfake detection.' It is front-loaded with the core purpose, has zero waste, and is appropriately sized for the tool's complexity. Every word earns its place.
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?
Given the tool's moderate complexity (2 parameters, no annotations, no output schema), the description is minimally adequate. It covers the basic purpose but lacks details on behavioral traits, usage context, or output expectations. Without annotations or an output schema, the description should do more to compensate, but it falls short of being complete.
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 input schema has 100% description coverage, with clear documentation for both parameters ('imageUrl' and 'format'). The description adds no additional meaning beyond the schema, such as explaining URL requirements or format implications. With high schema coverage, the baseline is 3, as the schema does the heavy lifting.
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 clearly states the tool's purpose: 'Analyzes an image from a URL for deepfake detection.' It specifies the verb ('analyzes'), resource ('an image'), and the specific analysis goal ('deepfake detection'). However, it doesn't explicitly differentiate from sibling tools like 'analyze-image' or 'get-face-details', which might have overlapping functionality, so it doesn't reach a 5.
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. It doesn't mention sibling tools like 'analyze-image' or 'check-session-status', nor does it specify prerequisites, exclusions, or contexts for usage. This leaves the agent without clear direction on tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze-imageC
Analyzes an image provided as a base64 string for deepfake detection.
| Name | Required | Description | Default |
|---|---|---|---|
| imageBase64 | Yes | Base64 encoded image data. | |
| filename | Yes | Original filename with extension (e.g., 'image.jpg'). | |
| format | No | Output format. | text |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool analyzes for deepfake detection but doesn't describe what the analysis entails, potential limitations, accuracy, or response format. For a tool with no annotation coverage and an output schema, this leaves significant gaps in understanding how it behaves and what to expect.
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 a single, efficient sentence that directly states the tool's purpose without unnecessary details. It is appropriately sized and front-loaded, with every word contributing to understanding the core function. There is no wasted text or redundancy.
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?
Given the complexity of deepfake detection and the lack of annotations and output schema, the description is incomplete. It doesn't explain what the analysis returns, potential confidence scores, error conditions, or usage constraints. For a tool with no structured output information, the description should provide more context about the results and 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 adds no parameter-specific information beyond what the input schema provides. With 100% schema description coverage, the schema fully documents all three parameters (imageBase64, filename, format), including their types, requirements, and enums. The description doesn't compensate with additional context, so it meets the baseline of 3 where the schema does the heavy lifting.
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 clearly states the tool's purpose: 'Analyzes an image... for deepfake detection.' It specifies the verb ('analyzes'), resource ('image'), and specific function ('deepfake detection'), which distinguishes it from generic analysis tools. However, it doesn't explicitly differentiate from sibling tools like 'analyze' or 'get-face-details', which might also involve image analysis.
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. It doesn't mention sibling tools like 'analyze' or 'get-face-details', nor does it specify prerequisites such as image format requirements or when deepfake detection is appropriate. Usage is implied by the purpose but lacks explicit context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check-session-statusC
Check the status of a deepfake analysis session.
| Name | Required | Description | Default |
|---|---|---|---|
| sessionUuid | Yes | Session UUID to check status for. | |
| format | No | Output format. | text |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but only states the basic action without disclosing behavioral traits. It doesn't mention whether this is read-only (implied but not explicit), rate limits, authentication needs, or what the status response includes (e.g., pending, completed, error).
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 a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded, with every word earning its place.
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?
Given no annotations and no output schema, the description is incomplete for a tool that likely returns status details. It doesn't explain what status information is provided (e.g., progress, results, errors), leaving significant gaps in understanding the tool's behavior and output.
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?
Schema description coverage is 100%, so the schema fully documents both parameters (sessionUuid and format). The description adds no additional meaning beyond what the schema provides, such as explaining session UUID context or format implications, meeting the baseline for high coverage.
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 clearly states the action ('Check the status') and resource ('deepfake analysis session'), making the tool's purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'analyze' or 'analyze-image' which might also involve session status, so it doesn't reach the highest score.
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 like 'analyze' or 'analyze-image'. It doesn't mention prerequisites (e.g., needing a session UUID from a previous analysis) or exclusions, leaving usage context unclear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-face-detailsC
Get detailed information about a specific face detected in an image.
| Name | Required | Description | Default |
|---|---|---|---|
| sessionUuid | Yes | Session UUID from the analyze-image result. | |
| faceIndex | Yes | Index of the face to get details for (starting from 0). | |
| format | No | Output format. | text |
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. It states the tool retrieves information, implying a read-only operation, but doesn't cover aspects like authentication needs, rate limits, error handling, or what 'detailed information' includes (e.g., attributes, confidence scores). This leaves significant gaps for a tool with no structured safety hints.
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 a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's front-loaded and wastes no space, making it highly concise and well-structured for quick comprehension.
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?
Given the tool's complexity (involves session management and face indexing), lack of annotations, and no output schema, the description is incomplete. It doesn't explain the relationship with sibling tools, what 'detailed information' entails, or behavioral traits, making it inadequate for full contextual understanding.
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 doesn't add any parameter-specific details beyond what the input schema provides. Since schema description coverage is 100%, with clear documentation for all parameters (sessionUuid, faceIndex, format), the baseline score of 3 is appropriate—the schema does the heavy lifting, and the description doesn't compensate or enhance parameter understanding.
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 clearly states the action ('Get detailed information') and the resource ('about a specific face detected in an image'), making the purpose understandable. However, it doesn't explicitly differentiate from sibling tools like 'analyze-image' or 'check-session-status', which might also involve face-related operations, so it doesn't reach the highest score.
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. It doesn't mention prerequisites (e.g., needing a session from 'analyze-image'), exclusions, or how it complements sibling tools, leaving usage context unclear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
4 tool updates
- First observed
analyze - First observed
analyze-image - First observed
check-session-status - First observed
get-face-details
TDQS
Scored across 4 tools
The tools 'analyze' and 'analyze-image' have significant overlap, as both perform deepfake detection on images but differ only in input format (URL vs. base64 string). This creates ambiguity, as an agent might misselect between them without clear guidance on which to use based on context. The other tools ('check-session-status' and 'get-face-details') are more distinct but the core analysis duplication undermines clarity.
The naming is mixed with some consistency issues: 'analyze' and 'analyze-image' use a verb-object pattern but differ in hyphenation, while 'check-session-status' and 'get-face-details' follow a verb-noun-noun pattern with hyphens. This creates a readable but inconsistent convention, as tools alternate between simple verbs and more descriptive phrases without a uniform style.
With 4 tools, the count is reasonable for a deepfake detection server, covering analysis, status checking, and detailed face information. It's slightly lean but not overly thin, as each tool serves a purpose without obvious bloat. A few more tools might enhance completeness, but the current scope is adequate for basic operations.
The toolset covers core analysis and status checking but has notable gaps: there are no tools for managing sessions (e.g., create or delete), handling batch processing, or providing summary reports. While agents can perform basic detection and retrieve details, the lack of lifecycle management tools limits workflow efficiency and may require workarounds.
Maintenance
Related MCP Connectors
An MCP Server that provides identity verification and anti-fraud tools for AI agents via deepidv.
MCP server for NanoBanana AI image generation and editing
MCP server for Flux AI image generation
MCP server for Wan AI video generation
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAn MCP server for analyzing images using OpenRouter vision models, offering capabilities like automatic image resizing, model configuration, and handling custom queries about images.10MIT
- AlicenseNot gradedqualityBmaintenanceDeepfake Detector - MCP server providing AI-powered tools and automation by MEOK AI Labs23 npmMIT
- AlicenseAqualityDmaintenanceAn MCP server that enables AI assistants to analyze images for AI-generated content using noise maps, error level analysis, frequency analysis, spectral decay, color analysis, and metadata inspection.7MIT
- AlicenseAqualityDmaintenanceMCP server providing image analysis tools for AI agents, including metadata extraction, favicon discovery, and placeholder generation.531 npmMIT