Skip to main content
Glama

AI or Not MCP Server

License: MIT npm version MCP

An MCP (Model Context Protocol) server that integrates with the AI or Not API to detect AI-generated content in images, videos, audio, and text.

Features

  • Image Analysis: Detect AI-generated images, deepfakes, NSFW content, and image quality issues

  • Video Analysis: Detect AI-generated video, synthetic voices, AI music, and video deepfakes

  • Audio Analysis: Detect AI-generated music and synthetic voices

  • Text Analysis: Detect AI-written text with confidence scoring and annotations

  • API Health Check: Verify API availability

Related MCP server: ZeroTrue MCP Server

Prerequisites

Installation

From Source

git clone https://github.com/tymrtn/aiornot-mcp.git
cd aiornot-mcp
npm install
npm run build

From npm (coming soon)

npm install -g aiornot-mcp

Configuration

Environment Variables

Variable

Required

Default

Description

AIORNOT_API_KEY

Yes

-

Your AI or Not API key

AIORNOT_API_URL

No

https://api.aiornot.com

API base URL

Claude Desktop / Claude Code

Add to your MCP settings file:

{
  "mcpServers": {
    "aiornot": {
      "command": "node",
      "args": ["/path/to/aiornot-mcp/build/index.js"],
      "env": {
        "AIORNOT_API_KEY": "your_api_key_here"
      }
    }
  }
}

Settings file locations:

  • Claude Desktop (macOS): ~/Library/Application Support/Claude/claude_desktop_config.json

  • Claude Code: ~/.claude/mcp_servers.json

Usage

Running the Server

AIORNOT_API_KEY="your_api_key_here" node build/index.js

Available Tools

aiornot_analyze_media

Analyze media content for AI generation.

Parameters:

Parameter

Type

Required

Description

media_type

string

Yes

One of: image, video, text, audio_music, audio_voice

file_path

string

Conditional

Path to file (required for image/video/audio)

text

string

Conditional

Text content (required for text, min 250 chars)

only

string[]

No

Report types to include

excluding

string[]

No

Report types to exclude

external_id

string

No

Tracking identifier

include_annotations

boolean

No

Include block-level annotations (text only)

timeout_ms

number

No

Override request timeout

Report Types by Media:

Media Type

Available Reports

Image

ai_generated, deepfake, nsfw, quality, reverse_search

Video

ai_video, ai_music, ai_voice, deepfake_video (off by default)

aiornot_is_live

Check if the AI or Not API is available.

Examples

Analyze an image:

{
  "media_type": "image",
  "file_path": "/path/to/image.jpg"
}

Analyze an image for specific checks:

{
  "media_type": "image",
  "file_path": "/path/to/image.jpg",
  "only": ["ai_generated", "deepfake"]
}

Analyze video including deepfake detection:

{
  "media_type": "video",
  "file_path": "/path/to/video.mp4",
  "only": ["ai_video", "deepfake_video"]
}

Analyze text:

{
  "media_type": "text",
  "text": "Your text content here (minimum 250 characters)...",
  "include_annotations": true
}

Analyze audio for synthetic voice:

{
  "media_type": "audio_voice",
  "file_path": "/path/to/audio.mp3"
}

Response Format

The server returns structured JSON with:

  • media_type: The analyzed media type

  • scores: Extracted confidence scores and verdicts

  • response: Full API response

Example response for image analysis:

{
  "media_type": "image",
  "scores": {
    "ai_generated": {
      "verdict": "ai",
      "ai_confidence": 0.95,
      "human_confidence": 0.05
    },
    "deepfake": {
      "is_detected": false,
      "confidence": 0.02
    }
  },
  "response": { ... }
}

Timeouts

Default timeouts vary by media type:

Media Type

Default Timeout

Image

30 seconds

Text

30 seconds

Video

120 seconds

Audio (music)

120 seconds

Audio (voice)

120 seconds

Use timeout_ms to override if needed.

Development

# Install dependencies
npm install

# Build
npm run build

# Watch mode
npm run watch

# Test with MCP Inspector
npm run inspector

License

MIT - see LICENSE

Available Tools

2 tools
aiornot_analyze_mediaB

Analyze image, video, audio (music/voice), or text using the AI or Not API and return confidence scores.

Inputs: media_type (required), only, text, excluding, +4 more.

aiornot_is_liveA

Check if the AI or Not API is live.

Inputs: no named parameters.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.7/5.0

    Scored across 2 tools

    Disambiguation5/5

    The two tools are completely distinct: one performs media analysis and the other checks API liveness. There is no possible confusion between them.

    Naming Consistency4/5

    Both tools share the consistent `aiornot_` prefix and use snake_case, but `analyze_media` is a clear verb_noun while `is_live` is a status-style name rather than an action on an object. Minor deviation in an otherwise predictable pattern.

    Tool Count4/5

    With only two tools, the server is minimal, but the narrow purpose of wrapping the AI or Not API makes the count reasonable. It is slightly thin but not insufficient.

    Completeness5/5

    The analysis tool covers all supported media types (image, video, audio, text) and returns confidence scores, while the liveness tool covers API availability. For the stated purpose, there are no obvious gaps.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers