{
  "markdown": "<p align=\"center\"><img src=\"assets/woof_large_850.png\" alt=\"Woof\" height=\"360\"></p>\n\n# Woof — See your Photo Gallery in your AI assistant\n\n[![Status: Early Preview](https://img.shields.io/badge/status-early%20preview-orange)](#status)\n\n[![macOS](https://img.shields.io/badge/macOS-supported-success?logo=apple&logoColor=white)](#status) [![Linux](https://img.shields.io/badge/Linux-supported-success?logo=linux&logoColor=white)](#status) [![Windows](https://img.shields.io/badge/Windows-supported-success?logo=windows&logoColor=white)](#status)\n\n[![MCP Server](https://badge.mcpx.dev?type=server)](https://modelcontextprotocol.io/) [![uv](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/uv/main/assets/badge/v0.json)](https://github.com/astral-sh/uv)\n\nmcp-name: io.github.ouestcharlie/ouestcharlie-woof\n\nWoof is the photo and video gallery companion to your **your AI assistant** (Claude Desktop, Goose, VS Code / GitHub Copilot...). It complements those powerful tools with a searchable **gallery**. Your photos and videos remain exactly where they are — on your own drives (local or mounted).\n\nNo cloud subscription. No proprietary lock-in. Your library, your way.\n\nWoof is the **MCP App** frontend to **\"Où est Charlie ?\"**  (\"Where is Wally?\" in French), a full AI native framework to manage your photos and videos.\n\n## What makes it different\n\nMost photo managers lock your library into a cloud service (Google Photos, iCloud) or require a database server that becomes a single point of failure. Woof takes a different approach:\n\n- **Conversation as your gallery.** Woof connects to your AI assistant (Claude Desktop, ChatGPT, Goose, VS Code / GitHub Copilot…) and turns it into a full photo browser. Ask in plain language, get results inline. No separate app to learn.\n- **Privacy by design.** Only metadata travels to your AI assistant — your actual photos are served locally by Woof. Your pictures are never uploaded to any AI service unless you explicitly ask.\n- **No database lock-in.** Metadata lives as XMP sidecar files right next to your photos, plus lightweight JSON manifests. Move a drive, copy a folder — your entire organization travels with your photos.\n- **Open formats, forever.** XMP is an ISO standard. JSON is universal. AVIF is royalty-free. Every tool you already use — Lightroom, darktable, ExifTool — can read your metadata today and long after OuEstCharlie is gone.\n- **Your photos are never touched.** Woof reads your library as-is. It never modifies, moves, or deletes your original files. It also honors existing XMP metadata from Lightroom, darktable, or any other tool — rather than overwriting it.\n- **Works with your existing folder structure.** Just point Woof at your photos folder. No migration, no reorganization required.\n\n> **More about OuEstCharlie and Woof on the [OuEstCharlie Blog](https://ouestcharlie.github.io/ouestcharlie/)**\n\n---\n\n## Installation\n\nWoof runs as a local [MCP](https://modelcontextprotocol.io/) server. It connects to your AI desktop client (Claude Desktop, Goose...) and exposes your photo library as a set of tools.\n\n\n### Option A — Bundle install (recommended but Claude Desktop only)\n\n#### Connect to Claude Desktop\n\nDownload the latest `ouestcharlie-woof.mcpb` from the [Releases](https://github.com/ouestcharlie/ouestcharlie-woof/releases) page and double-click it. Claude Desktop will prompt you to install Woof in one click — no configuration file to edit.\n\n##### See also in Woof Blog:\n\n>  **[Step by Step install of OuEstCharlie Woof in Claude Desktop](https://ouestcharlie.github.io/ouestcharlie/2026/05/13/claude-how-to-step-by-step/)** \n\n### Option B — Manual `uvx` configuration\n\n#### Prerequisites\n\nPython packages of OuEstCharlie Woof are managed by [`uv`](https://docs.astral.sh/uv/getting-started/installation/) and the command `uvx`. uv might be already available on your system.\n\nSystem prerequisites (all install options):\n- **macOS**: `brew install inih brotli gettext` (required by pyexiv2 at runtime)\n- **Linux/Windows**: no extra steps\n\n\n#### Connect to Claude Desktop\n\n> **Reference:** [Getting Started with Local MCP Servers on Claude Desktop](https://support.claude.com/en/articles/10949351-getting-started-with-local-mcp-servers-on-claude-desktop)\n\nOpen (or create) `~/Library/Application Support/Claude/claude_desktop_config.json` and add or update `mcpServers`:\n\n```json\n{\n  \"mcpServers\": {\n    \"woof\": {\n      \"command\": \"uvx\",\n      \"args\": [\"--python\", \"3.13\", \"--from\", \"ouestcharlie-woof\", \"woof-bridge\"]\n    }\n  }\n}\n```\n\nRestart Claude Desktop. Woof will appear as an MCP integration, and the gallery will render as an interactive panel inside your conversation.\n\n#### Connect to ChatGPT Desktop\n\n**NOTE: As of May 2026, ChatGPT is no longer supporting local MCP servers. Following is not longer available!**\n\n\n#### Connect to Goose\n\n> **Reference:** [Goose MCP extensions documentation](https://goose-docs.ai/docs/getting-started/using-extensions/#mcp-servers)\n\n[Goose](https://github.com/block/goose) supports MCP servers via its extension system. \n\nEither add through the user interface as a Custom Extension:\n<p align=\"center\"><img src=\"assets/goose_custom_extension_setup.jpg\" alt=\"Setup Woof extension in Goose\" height=\"360\"></p>\n<p align=\"center\"><i>Setup Woof extension in Goose</i></p>\n\nOr add the following to your Goose configuration (`~/.config/goose/config.yaml`):\n\n```yaml\nextensions:\n  woof:\n    type: stdio\n    cmd: uvx\n    args: [\"--python\", \"3.13\", \"--from\", \"ouestcharlie-woof\", \"woof-bridge\"]\n    enabled: true\n```\n\n#### Add to VS Code (Github Copilot harness)\n\nTo install in VS Code:\n- From the command Palette (Ctrl+Shift+P or Cmd+Shift+P), select \"MCP: Add Server...\"\n- Simplest is using \"Pip Package\" install option\n   - Type in the Woof package name: \"ouestcharlie-woof\"\n   - Accept to confirm\n   - The entry point is woof-bridge (not woof as proposed by the prompt)\n\nThe composed configuration should be:\n```json\n{\n\t\"servers\": {\n\t\t\"woof-bridge\": {\n\t\t\t\"command\": \"uvx\",\n\t\t\t\"args\": [\n\t\t\t\t\"--python\",\n\t\t\t\t\"3.13\",\n\t\t\t\t\"--from\",\n\t\t\t\t\"ouestcharlie-woof\",\n\t\t\t\t\"woof-bridge\"\n\t\t\t],\n\t\t\t\"type\": \"stdio\"\n\t\t}\n\t},\n\t\"inputs\": []\n}\n```\n\nCheck if woof-bridge is activated through the \"MCP: List Servers\" from the Command Palette.\n\n#### Other supported AI Assistants\n\nOther clients support MCP Apps, for example Codex.\n\nSee the [MCP Extension Support Matrix](https://modelcontextprotocol.io/extensions/client-matrix)\n\n## Optional skill plugin\n\nWoof provides optional skills with workflows, see the Tutorial section below. To install the plugin containing the skills, reference this repository as `ouestcharlie/ouestcharlie-woof`:\n- Claude Desktop, from the Settings > \"Plugins\" > \"Add\" at the top-right corner > \"Add a market place\" > \"Add from a repository\"\n- VSCode, from the Command Palette > \"Chat: Install Plugin from Source\"\n\n---\n\n## First Steps\n\n### 1. Register your photos folder\n\nOnce Woof is connected to your AI client, ask it to register your photo folder:\n\n> *\"Add a local library to Woof pointing to /Users/yourname/Pictures\"*\n\nWoof supports any folder on a local drive — including folders synced from iCloud Drive, OneDrive, or Google Drive, as long as the files are locally available.\n\n### 2. Index your library\n\nTrigger the indexer to scan your photos and build the metadata index:\n\n> *\"Index my local library\"*\n\nWoof will launch the indexing agent, which will:\n- Read EXIF/XMP metadata from each photo\n- Write XMP sidecar files alongside your originals (never modifying the originals)\n- Generate thumbnails and previews\n- Build a fast index for querying\n\nIndexing speed is roughly 10 to 100 seconds per 1,000 photos depending on format and hardware.\n\n### 3. Start browsing\n\nOnce indexing is complete, just ask:\n\n> *\"Show me photos in Woof from last July\"*\n\n> *\"In Woof, show me pictures taken near Paris\"*\n\n> *\"Search Woof for photos with 'Tour Eiffel' in the description\"*\n\n> *\"How many photos do I have in Woof?\"*\n\nThe gallery panel will appear inline in your conversation with matching results.\n\n<p align=\"center\"><img src=\"assets/screenshot_2024-07-05.jpg\" alt=\"Woof in Claude Desktop\" height=\"500\"></p>\n<p align=\"center\"><i>Ouestcharlie Woof photo gallery inside Claude Desktop</i></p>\n\n## More tutorials\n\n- [Create your personal photo gallery with Claude, Strava and OuEstCharlie Woof - Prompt version](https://ouestcharlie.github.io/ouestcharlie/2026/07/31/personal-photo-gallery-Claude-Strava-OuEstCharly-Woof/)\n- [Use an AI workflow to sort and enrich photos by grouping them into clusters](https://ouestcharlie.github.io/ouestcharlie/2026/08/26/ai-workflow-sort-photos-by-grouping-clusters/)\n- [Use an AI workflow to sort and enrich photos using your Strava activity log - Skill version](https://ouestcharlie.github.io/ouestcharlie/2026/08/27/ai-workflow-sort-photos-using-strava-activity-log/)\n---\n\n## Storage\n\nWoof supports **local filesystem** and **cloud_mount** libraries on macOS, Linux, and Windows:\n- **filsystem** for a standard local hard drive or SSD, including local network drive (e.g. NAS)\n- **clound_mount** for a folder synced from iCloud Drive, OneDrive, Google Drive, or Infomaniak kDrive — as long as files are downloaded and locally accessible\n\nNative cloud storage (S3, Azure, GCS, OneDrive API) is planned.\n\n---\n\n## Status\n\nWoof is an **early preview**. It works well today for browsing and searching a local photo library.\n\n### Current features\n\n| Feature | Notes |\n|---|---|\n| Compatible with Claude Desktop, Goose, VS Code| Any desktop application with MCP App support|\n| Available on Macos, Windows, Linux| Python packages are built and released in Pypi|\n| Local filesystem indexing | Files must be locally synced |\n| Photos (JPEG, PNG, TIFF, HEIC, RAW) | HEIC and RAW depend on the build options |\n| Video support (MOV, MP4) ||\n| Gallery view as grid or preview | Photo details on preview |\n| Image thumbnails and previews | Optimized for display |\n| Search description, tags, rating, date, partition | full text search on description |\n| Search photo features (date, dimensions, GPS bounding box) |  |\n| Search video features (duration, dimensions, GPS bounding box) |  |\n| Search camera features (make, model, aperture, lens) | | \n| Sort ascending or descending on any field |  |\n| Change detection / automatic re-indexing | Partial — added and removed pictures |\n\n### Planned features\n\n| Feature |\n|---|\n| Albums and smart filters |\n| Share pictures with host (Claude Desktop, ChatGPT, Goose…) |\n| Enrichment agents (faces, scene recognition) |\n| Mobile companion app |\n| Native cloud libraries (S3, OneDrive, GCS…) |\n\nIf you hit a bug or unexpected behavior, please [open an issue](https://github.com/ouestcharlie/ouestcharlie-woof/issues).\n\n<p align=\"center\"><img src=\"assets/screenshot_vscode_2026-08-25.jpg\" alt=\"Woof in VSCode\" height=\"500\"></p>\n<p align=\"center\"><i>Ouestcharlie Woof photo gallery inside VSCode, an alternative to Claude CoWork for techies</i></p>\n\n---\n\n## Privacy Policy\n\nWoof is designed with privacy as a core principle.\n\n- **Data collected**: Only photo metadata (EXIF, GPS coordinates, camera make/model, dates, file paths) is read and indexed. No account or personal information is collected.\n- **Data storage**: All metadata is stored locally on your own device as XMP sidecar files and JSON manifests alongside your photos. No data is stored on any remote server.\n- **AI assistant**: Only metadata and thumbnail images are sent to your AI assistant (Claude, ChatGPT, Goose…) when you perform a search. Your original photo files are never uploaded to any AI service unless you explicitly share them.\n- **Third parties**: No metadata or usage data is shared with any third party.\n- **Retention**: All data remains under your full control. Deleting the XMP sidecars and `.ouestcharlie/` folders from your photo library completely removes all Woof metadata.\n\nFor privacy questions, please [open an issue](https://github.com/ouestcharlie/ouestcharlie-woof/issues).\n\n---\n\n## Support\n\n**Bug reports and feature requests**: [GitHub Issues](https://github.com/ouestcharlie/ouestcharlie-woof/issues)\n\n---\n\n## Developers' corner\n\nFor developer and architecture documentation, see [README_DEV.md](README_DEV.md).\n\n### Contributing\n\nSee the [Contributing section in OuEstCharlie](https://github.com/ouestcharlie/ouestcharlie#contributing)\n\n---\n\n## License\n\n[MIT license](LICENCE)\n",
  "bytes": 12399,
  "sha": "badd3698bb6841369f02903735ba077a98ee31869b2f3192fcca969c8efb5cfe",
  "repo_slug": "ouestcharlie/ouestcharlie-woof",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_ouestcharlie_ouestcharlie_woof_c2bcf8f1/readme"
}