Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add commands/erhangundogan/videre/mcpgit clone --depth 1 https://github.com/erhangundogan/videreWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/commands/erhangundogan/videre/mcp)<a href="https://agentmods.dev/commands/erhangundogan/videre/mcp"><img src="https://agentmods.dev/badge/commands/erhangundogan/videre/mcp.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00018 | $0.02036 |
| Opus 5 | $0.00009 | $0.01018 |
| Sonnet 5 | $0.00004 | $0.00407 |
| Haiku 4.5 | $0.00002 | $0.00204 |
Grade A, and why
mcp scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 5d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 253 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Serves read-only tools to an AI assistant using the Model Context Protocol. No server to run, no port to open, nothing listening: the client starts videre as a child process and talks to it over stdin and stdout.
videre mcp # serve using the default database
videre mcp --db ~/photos.db # serve a specific database
videre mcp --model <model-id> # serve searches from a specific model
You do not usually run this yourself. Your client runs it for you, using one of the configurations below.
The three tools
| Tool | Parameters | What it does |
|---|---|---|
stats |
none | Library summary: files, size, embeddings, faces, people, GPS coverage, date range |
find_duplicates |
include_similar |
Exact-duplicate groups as keep and remove, plus review-only look-alikes |
search |
query, image_path, person, category, location, radius_km, after, before, date, sort, top_k |
Composed search: filters narrow, a ranker orders |
search takes at most one ranker (query or image_path) and any number of
filters (person, category, location + radius_km, and after/before/date),
which AND together. At least one of the two is required. sort accepts a
comma-separated field[:asc|desc] list.
Text and image search need videre embed; person needs
videre faces plus naming; category needs
videre classify.
The MCP server and the CLI run the identical code path, so a composed tool call
and the equivalent videre search invocation return the same results by
construction. See compositional searches for
what composes with what.
:::caution[location is the one parameter that reaches the network]
Geocoding a place name makes an outbound request on a cache miss and writes the
answer to the geocode_cache table, so it is also the only part of this
read-only server that writes anything. Repeats are served locally.
:::
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 5d ago First seen · 253 lines · 18 tokens per session scan A fd9b8ed40a4b
mcp is a command published in the GitHub repository erhangundogan/videre (2 stars, last pushed yesterday), licensed Apache-2.0. It adds 18 tokens to every session and 2,036 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other commands, from other repositories
deslop
Check the diff against main, and remove all AI generated slop introduced in this branch.
contrib
Profile how top GitHub contributors work — ingest, build personas, and synthesise a capability model + learnable playbook.
memory-init
Initialize local memory store + vector index for this project.
graph
Generate an interactive visual graph of your memories. Powered by graphify (github.com/safishamsi/graphify, MIT).
checklist
Generate a custom checklist for the current feature based on user requirements.
clarify
Identify underspecified areas in the current feature spec by asking up to 5 highly targeted clarification questions and encoding answers back into the spec.