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.6.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.6-py3-none-any.whl (13.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: photographi_mcp-0.2.6.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.6.tar.gz
Algorithm Hash digest
SHA256 ec52b521b1de4ca8e7b2f011efdfe474e2f696ccae9e93941408d290541d5f0f
MD5 e6d4e39ab7d452e72d76bc853cac0f90
BLAKE2b-256 9c68710d9a45ad74b878c0b2e645af8ccff8e4d2034893d4c0cd7d24e5ac8083

See more details on using hashes here.

Provenance

The following attestation bundles were made for photographi_mcp-0.2.6.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.6-py3-none-any.whl.

File metadata

File hashes

Hashes for photographi_mcp-0.2.6-py3-none-any.whl
Algorithm Hash digest
SHA256 e3b1383bd62f5f51533c73906428d00b12fc034d9090da5c3ed70ea94d293857
MD5 cdd76dd8a28c37e7725d2598c8022c4e
BLAKE2b-256 b763f685e5c283f75b66786da6ce798db62ecc47e2d462ebadfb69e2084ad18e

See more details on using hashes here.

Provenance

The following attestation bundles were made for photographi_mcp-0.2.6-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