Skip to main content
Glama
surewht
by surewht

Image Forensics MCP Server

An MCP (Model Context Protocol) server that gives AI assistants forensic analysis capabilities to help detect AI-generated images. Uses noise maps, Error Level Analysis, FFT frequency analysis, spectral decay analysis, color channel analysis, and metadata inspection.

Install

One command — requires uv:

claude mcp add -s user image-forensics -- uvx --from git+https://github.com/surewht/image-forensics-mcp image-forensics-mcp

That's it. Restart Claude Code and the tools are available.

Alternative: install from local clone

git clone https://github.com/surewht/image-forensics-mcp.git
cd image-forensics-mcp
claude mcp add -s user image-forensics -- uvx --from . image-forensics-mcp

Manual config

Add to ~/.claude.json:

{
  "mcpServers": {
    "image-forensics": {
      "type": "stdio",
      "command": "uvx",
      "args": ["--from", "git+https://github.com/surewht/image-forensics-mcp", "image-forensics-mcp"]
    }
  }
}

Related MCP server: Gemini Image MCP

Tools

Tool

What it does

noise_map

Extracts the noise pattern by subtracting a blurred version. AI images have unnaturally uniform noise. Returns visualization + statistics.

error_level_analysis

Multi-scale ELA — resaves at multiple JPEG qualities and analyzes error patterns. Detects splicing and compression inconsistencies.

frequency_analysis

2D FFT spectrum analysis. Detects GAN grid artifacts and unusual frequency distributions.

spectral_decay_analysis

Power spectral density curve fitting (1/f^β). Based on CVPR 2025 research. Natural images follow characteristic decay; AI images may deviate.

color_analysis

RGB channel correlation, gradient correlation, entropy, and saturation analysis. Based on CVPR 2025 "Secret Lies in Color" research.

metadata_check

EXIF/metadata inspection for AI tool signatures (Stable Diffusion, DALL-E, Midjourney, etc.) + AI resolution fingerprinting.

full_forensic_report

Runs all 6 analyses, saves visualizations to /tmp/image-forensics/, returns a categorized verdict.

Usage

In Claude Code, just ask:

Analyze this image for AI generation: /path/to/image.jpg

Or use individual tools:

Run a noise map analysis on /path/to/image.png
Check the metadata of /path/to/image.webp

How the verdict works

The full_forensic_report categorizes findings into three tiers:

Tier

What triggers it

Example

Definitive

AI tool signatures in metadata (SD parameters, generation prompts)

Stable Diffusion PNG with parameters chunk

Strong

Forensic anomalies rarely seen in real photos (uniform noise, GAN artifacts, spectral anomalies, extreme saturation)

GAN periodic patterns in FFT spectrum

Weak/Ambiguous

Indicators also caused by social media processing (no EXIF, AI-typical resolution, uniform ELA)

Facebook-resized 768x768 JPEG with stripped metadata

Verdict scale

  • AI-GENERATED — Definitive metadata proof found

  • LIKELY AI-GENERATED — 3+ strong forensic anomalies

  • POSSIBLY AI-GENERATED — 1-2 strong anomalies

  • INCONCLUSIVE — Only weak/ambiguous indicators

  • LIKELY AUTHENTIC — Minimal indicators, consistent with normal processing

  • NO INDICATORS — Clean across all analyses

Limitations

Modern AI generators (Flux, DALL-E 3, Midjourney v6+) produce images that are nearly indistinguishable from real photos at the pixel level. This tool works best when:

  • Metadata is intact — SD parameters, generation prompts = definitive proof

  • Images show GAN artifacts — periodic patterns in FFT = strong signal

  • Images haven't been re-compressed — social media platforms strip metadata and resize to AI-typical dimensions, creating ambiguity

For ambiguous cases, visual inspection (teeth, hands, text, reflections, lighting inconsistencies) combined with these forensic tools gives the best results.

Requirements

  • Python >= 3.10

  • uv (for uvx install method)

Dependencies (installed automatically): mcp[cli], Pillow, numpy, scipy

License

MIT

A
license - permissive license
-
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

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/surewht/image-forensics-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server