woof

woof

Enables AI assistants to browse and search local photo galleries without uploading photos, using metadata-only indexing and local thumbnail serving.

Category
访问服务器

README

<p align="center"><img src="assets/woof_large_850.png" alt="Woof" height="360"></p>

Woof — See your Photo Gallery in your AI assistant

Early preview release. Woof is functional but rough around the edges. Expect missing features, occasional errors, and breaking changes between releases. See the status section below.

Woof is the MCP App to "Où est Charlie ?", a media management system that keeps your photos (later movies and other media) exactly where they are — on your own drives — while giving you a beautiful, searchable gallery powered by your AI assistant (Claude, Goose...).

No cloud subscription. No proprietary lock-in. Your library, your way.

Où est Charlie?? That's "Where is Wally?" in French.

What makes it different

Most 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:

  • Conversation as your gallery. Woof connects to your AI assistant (Claude Desktop, ChatGPT, Goose…) and turns it into a full photo browser. Ask in plain language, get results inline. No separate app to learn.
  • 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.
  • No database. 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.
  • 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.
  • 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.
  • Works with your existing folder structure. Just point Woof at your photos folder. No migration, no reorganization required.

More about OuEstCharlie and Woof on the OuEstCharlie Blog


Installation

Woof runs as a local MCP server. It connects to your AI desktop client and exposes your photo library as a set of tools.

Option A — Bundle install (recommended but Claude Desktop only)

Connect to Claude Desktop

Download the latest ouestcharlie-woof.mcpb from the Releases page and double-click it. Claude Desktop will prompt you to install Woof in one click — no configuration file to edit.

See also in Woof Blog:

Step by Step install of OuEstCharlie Woof in Claude Desktop

Option B — Manual uvx configuration

Prerequisites

Python packages of OuEstCharlie Woof are managed by uv and the command uvx. uv might be already available on your system.

Connect to Claude Desktop

Reference: Getting Started with Local MCP Servers on Claude Desktop

Open (or create) ~/Library/Application Support/Claude/claude_desktop_config.json and add or update mcpServers:

{
  "mcpServers": {
    "woof": {
      "command": "uvx",
      "args": ["--python", "3.12", "--from", "ouestcharlie-woof", "woof"]
    }
  }
}

Restart Claude Desktop. Woof will appear as an MCP integration, and the gallery will render as an interactive panel inside your conversation.

Connect to ChatGPT Desktop

NOTE: As o May 2026, ChatGPT is no longer supporting local MCP servers. Following is not longer available!

Connect to Goose

Reference: Goose MCP extensions documentation

Goose supports MCP servers via its extension system.

Either add through the user interface as a Custom Extension: <p align="center"><img src="assets/goose_custom_extension_setup.jpg" alt="Setup Woof extension in Goose" height="360"></p> <p align="center"><i>Setup Woof extension in Goose</i></p>

Or add the following to your Goose configuration (~/.config/goose/config.yaml):

extensions:
  woof:
    type: stdio
    cmd: uvx
    args: ["--python", "3.12", "--from", "ouestcharlie-woof", "woof"]
    enabled: true

Other supported AI Assistants

Other clients support MCP Apps, for example VSCode Github Copilot or Codex.

See the MCP Extension Support Matrix


First Steps

1. Register your photos folder

Once Woof is connected to your AI client, ask it to register your photo folder:

"Add a local library to Woof pointing to /Users/yourname/Pictures"

Woof 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.

2. Index your library

Trigger the indexer to scan your photos and build the metadata index:

"Index my local library"

Woof will launch the indexing agent, which will:

  • Read EXIF/XMP metadata from each photo
  • Write XMP sidecar files alongside your originals (never modifying the originals)
  • Generate thumbnails and previews
  • Build a fast index for querying

Indexing speed is roughly 10 to 100 seconds per 1,000 photos depending on format and hardware.

3. Start browsing

Once indexing is complete, just ask:

"Show me photos in Woof from last July"

"In Woof, show me pictures taken near Paris"

"Search Woof for photos with 'Tour Eiffel' in the description"

"How many photos do I have in Woof?"

The gallery panel will appear inline in your conversation with matching results.

<p align="center"><img src="assets/screenshot_2024-07-05.jpg" alt="Woof in Claude Desktop" height="500"></p> <p align="center"><i>Ouestcharlie Woof photo gallery inside Claude Desktop</i></p>


Storage

V1 supports local filesystem and cloud_mount libraries on macOS, Linux, and Windows:

  • filsystem for a standard local hard drive or SSD, including local network drive (e.g. NAS)
  • clound_mount for a folder synced from iCloud Drive, OneDrive, Google Drive, or Infomaniak kDrive — as long as files are downloaded and locally accessible

Native cloud storage (S3, Azure, GCS, OneDrive API) is planned for V2.


Status

Woof is an early preview targeting a focused V1 scope:

Feature Status
Local filesystem indexing (macOS, Linux, Windows) Working
Mounted cloud drives (iCloud Drive, OneDrive, kDrive) Working — files must be locally synced
JPEG, PNG, TIFF, HEIC, RAW support Working (HEIC and RAW dependant on the build options)
Date, GPS bounding box, camera make and model, dimensions, tags search Working
Full-text search on photo description Working
Gallery view (Claude Desktop) Working
Video support Planned for V2
Albums and smart filters Planned for V2
Share pictures with host (Claude Desktop, ChatGPT, Goose...) Planned for V2
Enrichment agents (faces, scene recognition) Planned for V2
Change detection / automatic re-indexing Partial (added and removed pictures)
Mobile companion app Planned for V3
Native cloud libraries (S3, OneDrive, GCS…) Planned for V3

What this means for you: V1 works well for browsing and searching a local photo library. If you hit a bug or unexpected behavior, please open an issue.


Privacy Policy

Woof is designed with privacy as a core principle.

  • 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.
  • 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.
  • 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.
  • Third parties: No metadata or usage data is shared with any third party.
  • Retention: All data remains under your full control. Deleting the XMP sidecars and .ouestcharlie/ folders from your photo library completely removes all Woof metadata.

For privacy questions, please open an issue.


Support

Bug reports and feature requests: GitHub Issues


Developers' corner

For developer and architecture documentation, see README_DEV.md.


License

MIT license

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选