identifai-mcp
Detect AI-generated images, videos, and audio with identifAI's deepfake detection tools.
What it can do
What data it sees
Do you need an account
No: the server works without sign-in
Detect AI-generated images, videos, and audio with identifAI's deepfake detection tools.
Requires a local install: run the server on your machine, then point your client at it.
How to connect
How to connect identifai-mcp to Claude
- Open Claude (claude.ai or the desktop app).
- Go to Settings → Connectors.
- Click Add custom connector.
- Paste the server address copied below into Remote MCP server URL and click Add.
- In a chat, click + → Connectors and switch the new connector on.
Custom connectors are available on Free, Pro, Max, Team and Enterprise plans (Free is limited to one). On Team and Enterprise an organization Owner adds the connector first under Organization settings → Connectors.
Authorization
After you click Add, a sign-in window for the service opens. Sign in with your own account and approve access. Claude never sees your password.
This server runs locally: it is wired up through the client config, and the project documentation carries the steps.
How to connect identifai-mcp to ChatGPT
- Open ChatGPT in a browser (chatgpt.com). A Plus, Pro, Business, Enterprise or Edu plan is required.
- Turn on developer mode once: Settings → Apps → Advanced settings → Developer mode.
- Open Settings → Connectors and click Create.
- Fill in the form: Name (anything), Description (one line about what the service does), MCP server URL (copy it below).
- Under Authentication choose OAuth if the service requires sign-in, otherwise None. Click Create.
- In a new chat open + → Apps/Connectors and enable the connector.
OpenAI has renamed this section before (Connectors → Apps/Plugins). If the label differs, search settings for "developer mode". On Business/Enterprise workspaces an admin must allow custom connectors first.
Authorization
On first use ChatGPT opens the service's sign-in window. Sign in and approve access.
This server runs locally: it is wired up through the client config, and the project documentation carries the steps.
How to connect identifai-mcp to Cursor
Fastest: click Open in Cursor below and confirm the prompt.
Manually:
- In Cursor open Settings → Cursor Settings → MCP and click Add new global MCP server.
- Paste the JSON copied below into
~/.cursor/mcp.json(per project:.cursor/mcp.jsonin the repo root). - Save the file. The server appears in the MCP list; authorize it there if asked.
Authorization
If the service needs sign-in, an authorize button appears next to the server in the MCP list.
This server runs locally: it is wired up through the client config, and the project documentation carries the steps.
Server tool list (19)
Raw names from tools/list. Only developers need these.
| classify_image | Upload an image file to detect whether it is human-made or AI-generated. Provide the image content as a base64-encoded string. Returns a classification identifier for async result retrieval. WARNING: base64 encoding adds ~33% overhead to the original file size. For images larger than 4 MB, use classify_image_url instead and provide a publicly accessible URL to avoid payload size issues. Authentication: provide your Identifai API key via the apiKey parameter or configure the X-Api-Key HTTP header in your MCP client (recommended). |
| classify_image_url | Submit a publicly accessible image URL to detect whether it is human-made or AI-generated. Returns a classification identifier for result retrieval. Supports the same analysis options as file-based classification. Authentication: provide your Identifai API key via the apiKey parameter or configure the X-Api-Key HTTP header in your MCP client (recommended). |
| get_image_classification | Retrieve the classification result for a previously submitted image. Use the identifier returned by classify_image or classify_image_url. Poll this endpoint until the result is available. |
| get_all_image_classifications | Retrieve classification results for multiple images in a single request. Accepts up to 100 identifiers. Useful for batch result polling. |
| get_classification_heatmap | Retrieve a visual heatmap highlighting which regions of the image were detected as AI-generated. Requires the classification to have been submitted with withHeatmap enabled. |
| override_image_classification | Manually override the classification verdict for a previously classified image. Sets the result to either "human" or "artificial". Used for corrections and feedback. |
| classify_video | Upload a video file to detect whether it is human-made or AI-generated. Provide the video content as a base64-encoded string. The video is split into frames which are individually classified. Returns a classification identifier for async result retrieval. WARNING: base64 encoding adds ~33% overhead to the original file size. For videos larger than 10 MB, use classify_video_url instead and provide a publicly accessible URL to avoid payload size issues. Authentication: provide your Identifai API key via the apiKey parameter or configure the X-Api-Key HTTP header in your MCP client (recommended). |
| classify_video_url | Submit a publicly accessible video URL for AI-generated content detection. Supports the same frame extraction and analysis options as file-based classification. Authentication: provide your Identifai API key via the apiKey parameter or configure the X-Api-Key HTTP header in your MCP client (recommended). |
| get_video_classification | Retrieve the classification result for a previously submitted video. Poll until the result is ready — video classification is always asynchronous. |
| get_all_video_classifications | Retrieve classification results for multiple videos in a single request. Accepts up to 100 identifiers. |
| override_video_classification | Manually override the classification verdict for a previously classified video. Sets the result to either "human" or "artificial". |
| classify_audio | Upload an audio or speech file to detect whether it is human-recorded or AI-synthesized. Provide the audio content as a base64-encoded string. Returns a classification identifier for async result retrieval. WARNING: base64 encoding adds ~33% overhead to the original file size. For audio files larger than 10 MB, use classify_audio_url instead and provide a publicly accessible URL to avoid payload size issues. Authentication: provide your Identifai API key via the apiKey parameter or configure the X-Api-Key HTTP header in your MCP client (recommended). |
| classify_audio_url | Submit a publicly accessible audio URL for AI-generated speech detection. Returns a classification identifier for async result retrieval. Authentication: provide your Identifai API key via the apiKey parameter or configure the X-Api-Key HTTP header in your MCP client (recommended). |
| get_audio_classification | Retrieve the classification result for a previously submitted audio file. Poll until the result is ready. |
| get_all_audio_classifications | Retrieve classification results for multiple audio files in a single request. Accepts up to 100 identifiers. |
| override_audio_classification | Manually override the classification verdict for a previously classified audio file. Sets the result to either "human" or "artificial". |
| get_user_credits | Retrieve the current available and used classification credits for the authenticated Identifai account. Use this to check quota status before submitting large batches. |
| submit_tampering_tickets | Submit one or more ticket images (as base64-encoded strings) to the Identifai v2 API for batch tampering detection. Each ticket is analysed independently; results are retrieved asynchronously via get_tampering_batch_results using the returned batch_id. Supports PDF files (each page becomes a separate analysis entry). Maximum 10 tickets per batch. Authentication: provide your Identifai API key via the apiKey parameter or configure the X-Api-Key HTTP header in your MCP client (recommended). |
| get_tampering_batch_results | Retrieve the tampering detection results for a previously submitted batch of tickets. Poll until the "done" field is true. Each result contains a verdict ("authentic" or "tampered") and per-heuristic verdicts. |