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 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 exposes several tools for your AI:

  • photographi_analyze_photo: Deep technical audit of a single image.
  • photographi_analyze_folder: Statistical quality report for a folder.
  • photographi_rank_photographs: Ranks photos by technical perfection (ideal for bursts).
  • photographi_cull_photographs: Moves low-quality photos to a culled_photos folder.
  • photographi_threshold_cull: Strict "Keep/Toss" sorting based on score.
  • photographi_get_color_palette: Extracts dominant color palettes from an image.
  • photographi_get_folder_palettes: Batch color extraction for an entire folder.
  • photographi_get_scene_content: Identifies key objects (people, animals, etc.).

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.4.tar.gz (17.6 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.4-py3-none-any.whl (13.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: photographi_mcp-0.2.4.tar.gz
  • Upload date:
  • Size: 17.6 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.4.tar.gz
Algorithm Hash digest
SHA256 8296b83a3ef3d9cb8432e8bb35c990f0d024f7cd3701cf93d94bacf0a51cd134
MD5 01033c476c4228c971ae400d707a240b
BLAKE2b-256 6fa8e7d17f831d9e01820a499ef39352b5a63a9d11aba58833fbebc40b83cc1b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for photographi_mcp-0.2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 3a92e3e5bf2896d3bb343e4d0ba42c40f452fb3704a7dc45b733cbfa18f4b752
MD5 1f3ac95d1a65cc072e52abe314823b84
BLAKE2b-256 d3d23140017e64ae65f61a288c4c6d134002fa4caad43b3168262a96f30fb2f6

See more details on using hashes here.

Provenance

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