Skip to main content

Visual Intelligence Command Center: A Local Computer Vision Engine for Photo Libraries

Project description

photographi-mcp

Fast, private, and grounded technical photo analysis for AI applications.

photographi-mcp is an MCP server that enables AI models and LLM-powered tools to perform technical analysis on local photo libraries. It runs computer vision models directly on your hardware (powered by photo-quality-analyzer-core) to evaluate sharpness, focus, and exposure—enabling capabilities like automated culling, burst ranking, and metadata indexing without requiring a cloud upload.

⚡ Why photographi?

  • Technical First: Purpose-built for objective metrics (sharpness, lighting, focus). It provides technical data for evaluating image quality.
  • Token Efficient: Save model context by pre-filtering technical metadata locally. Only the most relevant insights are sent to the AI application, keeping sessions fast and lean.
  • Privacy First: All analysis happens 100% locally on your machine.
  • Low Latency: Built for efficient processing, allowing for rapid ranking and technical feedback on local photo folders.

👁️ What It Analyzes

  • Smart Focus: Detects subjects and verifies they're sharp
  • Exposure: Catches blown highlights and blocked shadows
  • Gear-Aware: Knows your lens's sweet spot for optimal sharpness
  • Composition: Evaluates framing and subject placement
  • Quality Alerts: Flags motion blur, diffraction, high ISO noise

[!NOTE] Technical vs. Artistic: This tool is strictly objective. It evaluates photos based on technical metrics and computer vision (sharpness, exposure, noise, etc.). It does not understand artistic intent, aesthetics, or "vibe." A blurry, underexposed photo may be an artistic masterpiece, but photographi will correctly flag it as technically poor.

For the science and math behind it, see the Technical Documentation.


📸 See It In Action

Here are real examples from actual photo analysis:

Example 1: Excellent Photo

Best Shot

{
  "overallConfidence": 0.89,
  "judgement": "Excellent",
  "keyMetrics": {
    "sharpness": 0.94,
    "exposure": 0.87,
    "composition": 0.85
  }
}

Verdict: Tack sharp on subject, well exposed, strong composition.


Example 2: Poor Photo

Worst Shot

{
  "overallConfidence": 0.20,
  "judgement": "Very Poor",
  "keyMetrics": {
    "sharpness": 0.30,
    "focus": 0.07,
    "exposure": 0.0
  }
}

Verdict: Missed focus on subject, severe underexposure/black clipping, and excessive headroom.


🛠️ Tools (MCP)

photographi-mcp enables AI models to perform deep technical audits through these standardized tools:

Tool AI "Intent" Example Action / Insight Provided
analyze_photo "Is this dog photo sharp enough for a print?" Full technical audit of sharpness, focus, and lighting.
analyze_folder "How's the overall quality of my 'Vacation' folder?" Statistical summary identifying the best/worst image groups.
rank_photographs "Find the best shot in this burst of the cake." Ranks files by technical perfection to find the "hero" frame.
cull_photographs "Move all the blurry photos to a junk folder." Automatically cleans up failed shots into a subfolder.
threshold_cull "Strictly separate keepers using a score of 0.7." Binary sorting to isolate professional-grade assets.
get_color_palette "What colors are in this sunset for my website?" Extracts hexadecimal codes for dominant image aesthetics.
get_folder_palettes "Generate a moodboard from my 'Forest' shoot." Batch color extraction for an entire folder.
get_scene_content "Which photos contain a 'cat' or 'mountain'?" Rapid content indexing based on 80+ object categories.

Full API Reference


🚀 Get Started

Claude CLI (Fastest)

claude mcp add --scope user photographi uvx photographi-mcp

Claude Desktop (macOS)

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "photographi": {
      "command": "uvx",
      "args": ["photographi-mcp"]
    }
  }
}

GitHub Copilot CLI

Add to ~/.config/github-copilot/config.json:

{
  "mcp_servers": {
    "photographi": {
      "command": "uvx",
      "args": ["photographi-mcp"]
    }
  }
}

🔒 Privacy & Telemetry

photographi is built on a Privacy-First philosophy.

  • Anonymized Aggregates Only: We never collect filenames, paths, or EXIF data.
  • Total Transparency: Audit our collection logic directly in analytics.py.
  • Opt-Out: Set the environment variable PHOTOGRAPHI_TELEMETRY_DISABLED=1 or use the --disable-telemetry flag.

📖 Documentation


License: MIT MCP Protocol Python 3.10+

Built with ❤️ for photographers

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

photographi_mcp-0.2.5.tar.gz (18.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

photographi_mcp-0.2.5-py3-none-any.whl (13.7 kB view details)

Uploaded Python 3

File details

Details for the file photographi_mcp-0.2.5.tar.gz.

File metadata

  • Download URL: photographi_mcp-0.2.5.tar.gz
  • Upload date:
  • Size: 18.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for photographi_mcp-0.2.5.tar.gz
Algorithm Hash digest
SHA256 4db6c2870288557096a3e638fc0b3f679efb59da63edf918d6768c55ceced4f7
MD5 7849817f43332400e64cad2f99b423c1
BLAKE2b-256 3a9724ced01ca17c68ffcdf82bd8fa67b5b69b83d5eade13f34c1e56e6a86f78

See more details on using hashes here.

Provenance

The following attestation bundles were made for photographi_mcp-0.2.5.tar.gz:

Publisher: publish.yml on prasadabhishek/photographi-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file photographi_mcp-0.2.5-py3-none-any.whl.

File metadata

File hashes

Hashes for photographi_mcp-0.2.5-py3-none-any.whl
Algorithm Hash digest
SHA256 07923e867071e83c2d6bcad96f9411d296fa3f99bd2ac35ff7fc506f9f885b4a
MD5 49b3f6902630f066d3aef461274e544b
BLAKE2b-256 5e34603f475fb28f5041bd4452064173c3cec5438fd08ec43aa956415a0398a1

See more details on using hashes here.

Provenance

The following attestation bundles were made for photographi_mcp-0.2.5-py3-none-any.whl:

Publisher: publish.yml on prasadabhishek/photographi-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page