# mcp

Постоянная память для визуального анализа: фото распознаётся один раз, а повторные обращения к нему бесплатны. Пригодится агентам, которые читают одни и те же снимки.

- MCP-сервер · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 1
- Автор: phototology-ai
- Лицензия: MIT · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/phototology-ai/phototology/tree/HEAD/packages/mcp
- Обновлён: 2026-10-18
- HTML: https://affpapa.org/nevibecode/mcp/phototology-ai-mcp

## Что делает

Это MCP-сервер от Phototology, который подключает агента к реестру изображений. Первый анализ фото списывает 1 кредит за каждую линзу, а дальше результат отдаётся бесплатно — запись хранится по perceptual hash и sha256, поэтому повторный вызов на тот же снимок ничего не стоит. Запускается через `npx -y @phototology/mcp`, работает по stdio.

Внутри 7 инструментов. `lookup_photo` проверяет, есть ли фото в реестре, `analyze_photo` разбирает одну картинку по линзам, `analyze_batch` берёт от 1 до 200 снимков за раз, `enrich_photo` записывает результат в EXIF, IPTC и XMP файла. Ещё три бесплатных помощника: `list_lenses`, `get_credits` и `purchase_credits`. Перед большим прогоном стоит вызвать `analyze_batch` с `dryRun: true` — так видно стоимость без списания.

Без ключа `PHOTOTOLOGY_API_KEY` сервер не заработает: каждый вызов анализа уходит на hosted API Phototology, локальной модели нет. Идентификацию людей сервер не делает — линза `people` считает головы и описывает внешность, но не сопоставляет лица. Подписи C2PA тоже нет: `formats: ["c2pa"]` отклоняется.

## Требования
- Нужно: Node.js (команды через npx)
- Переменные окружения: `PHOTOTOLOGY_API_KEY`, `PHOTOTOLOGY_BASE_URL`, `PHOTOTOLOGY_MCP_NO_TELEMETRY`, `DO_NOT_TRACK`, `PHOTOTOLOGY_MCP_ALLOWED_DIRS` — это ключи и токены: значения спроси у человека, в репозиторий и общие файлы не записывай.

## Установка

### Claude Code (родная платформа)

**Командой платформы**
```bash
claude mcp add --env PHOTOTOLOGY_API_KEY=<PHOTOTOLOGY_API_KEY> --env PHOTOTOLOGY_BASE_URL=<PHOTOTOLOGY_BASE_URL> --env PHOTOTOLOGY_MCP_NO_TELEMETRY=<PHOTOTOLOGY_MCP_NO_TELEMETRY> --env DO_NOT_TRACK=<DO_NOT_TRACK> --env PHOTOTOLOGY_MCP_ALLOWED_DIRS=<PHOTOTOLOGY_MCP_ALLOWED_DIRS> --transport stdio mcp -- npx -y @phototology/mcp
```
Вместо <…> подставьте свои значения

### Codex

**Командой платформы**
```bash
codex mcp add mcp --env PHOTOTOLOGY_API_KEY=<PHOTOTOLOGY_API_KEY> --env PHOTOTOLOGY_BASE_URL=<PHOTOTOLOGY_BASE_URL> --env PHOTOTOLOGY_MCP_NO_TELEMETRY=<PHOTOTOLOGY_MCP_NO_TELEMETRY> --env DO_NOT_TRACK=<DO_NOT_TRACK> --env PHOTOTOLOGY_MCP_ALLOWED_DIRS=<PHOTOTOLOGY_MCP_ALLOWED_DIRS> -- npx -y @phototology/mcp
```
Вместо <…> подставьте свои значения

### Cursor

**Файл настроек**
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "mcp": {
            "command": "npx",
            "args": [
                "-y",
                "@phototology/mcp"
            ],
            "env": {
                "PHOTOTOLOGY_API_KEY": "<PHOTOTOLOGY_API_KEY>",
                "PHOTOTOLOGY_BASE_URL": "<PHOTOTOLOGY_BASE_URL>",
                "PHOTOTOLOGY_MCP_NO_TELEMETRY": "<PHOTOTOLOGY_MCP_NO_TELEMETRY>",
                "DO_NOT_TRACK": "<DO_NOT_TRACK>",
                "PHOTOTOLOGY_MCP_ALLOWED_DIRS": "<PHOTOTOLOGY_MCP_ALLOWED_DIRS>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения

### GitHub Copilot

**Файл настроек**
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "mcp": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "@phototology/mcp"
            ],
            "env": {
                "PHOTOTOLOGY_API_KEY": "<PHOTOTOLOGY_API_KEY>",
                "PHOTOTOLOGY_BASE_URL": "<PHOTOTOLOGY_BASE_URL>",
                "PHOTOTOLOGY_MCP_NO_TELEMETRY": "<PHOTOTOLOGY_MCP_NO_TELEMETRY>",
                "DO_NOT_TRACK": "<DO_NOT_TRACK>",
                "PHOTOTOLOGY_MCP_ALLOWED_DIRS": "<PHOTOTOLOGY_MCP_ALLOWED_DIRS>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения

### Gemini CLI

**Командой платформы**
```bash
gemini mcp add -e PHOTOTOLOGY_API_KEY=<PHOTOTOLOGY_API_KEY> -e PHOTOTOLOGY_BASE_URL=<PHOTOTOLOGY_BASE_URL> -e PHOTOTOLOGY_MCP_NO_TELEMETRY=<PHOTOTOLOGY_MCP_NO_TELEMETRY> -e DO_NOT_TRACK=<DO_NOT_TRACK> -e PHOTOTOLOGY_MCP_ALLOWED_DIRS=<PHOTOTOLOGY_MCP_ALLOWED_DIRS> mcp npx -y @phototology/mcp
```
Вместо <…> подставьте свои значения

## Когда брать
- переиспользовать один и тот же разбор фото между вызовами агента
- узнать стоимость батча до его запуска
- записать структурированные поля снимка прямо в метаданные файла
- найти дубликаты по perceptual hash
- получить даты, текст и локацию с фото в виде JSON, а не прозы

## Примеры запросов агенту
- Проверь через `lookup_photo`, есть ли это фото в реестре, прежде чем анализировать
- Разбери папку снимков через `analyze_batch` с `dryRun: true` и покажи, сколько это будет стоить
- Запиши результат анализа в EXIF файла `photo.jpg` через `enrich_photo`

## Похожие
- [vision-analysis](https://affpapa.org/nevibecode/skills/vision-analysis.md) — скилл · 2700 установок
- [gemini-image](https://affpapa.org/nevibecode/skills/gemini-image.md) — скилл · 1200 установок
- [modlens](https://affpapa.org/nevibecode/skills/modlens.md) — скилл · 923 установки
- [minimax-image-understanding](https://affpapa.org/nevibecode/skills/minimax-image-understanding.md) — скилл · 556 установок
- [three.ws Vision](https://affpapa.org/nevibecode/mcp/threews-vision.md) — MCP-сервер · ★ 250
- [VLM](https://affpapa.org/nevibecode/skills/vlm.md) — скилл · 343 установки

## Другие версии с тем же именем

_Часть страницы не вошла по размеру — она есть в HTML-версии._

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
