MCP server for the PicDefense.io API — image risk scoring, EXIF, reverse-image backlinks, and Google Cloud Vision detection (face, landmark, logo, labels, SafeSearch) for AI agents.
- ✓Open-source license (MIT)
- ✓Actively maintained (<30d)
- ✓Clear description
- ✓Documented (README)
git clone https://github.com/rchanllc/picdefenseio-mcp-server{
"mcpServers": {
"picdefenseio": {
"command": "node",
"args": ["/path/to/picdefenseio-mcp-server/dist/index.js"]
}
}
}Resumen de MCP Servers
# PicDefense.io MCP Server
A [Model Context Protocol](https://modelcontextprotocol.io) server for the
[PicDefense.io](https://picdefense.io) API — let AI agents run reverse-image risk
analysis, EXIF extraction, image backlink discovery, and image content
detection (face / landmark / logo / label / SafeSearch) on any image URL.
## Features
- 🔐 **Per-user authentication** — each connection carries its own PicDefense API token; the server holds no keys
- 🚀 **Dual transport** — modern Streamable HTTP (`/mcp`) and legacy SSE (`/sse`)
- 🧰 **11 tools** covering the full PicDefense API v2
- 🐳 **Docker-ready** — production container behind nginx
- 📖 **Built-in docs** — Swagger UI at `/docs`
## Tools
| Tool | Description |
|------|-------------|
| `picdefense_get_credits` | Remaining account credit balance |
| `picdefense_check_image_risk` | Reverse-image risk analysis + **picrisk** score (core tool) |
| `picdefense_extract_exif` | Extract EXIF metadata (camera, timestamps, GPS) |
| `picdefense_detect_face` | Detect a human face in an image |
| `picdefense_detect_landmark` | Detect a recognizable landmark |
| `picdefense_detect_logo` | Detect a brand logo |
| `picdefense_safesearch` | Content-safety (adult/violence/racy/…) assessment |
| `picdefense_find_backlinks` | Find pages where an image appears |
| `picdefense_detect_labels` | Detect descriptive labels for image contents |
| `picdefense_extract_text` | Extract text from an image via OCR |
| `picdefense_detect_watermark` | Detect a visible stock/photographer watermark (source + confidence) |
All image tools take a single `url` (a public http/https image URL). **Most tools
consume account credits per call** — use `picdefense_get_credits` to check your balance.
## Authentication
Every request authenticates with your PicDefense **API token**, which is your
**user id and API key joined by a colon**:
```
USERID:APIKEY
```
Find both in your PicDefense.io account settings:
**https://app.picdefense.io/?returnUrl=https://app.picdefense.io/dashboard/settings**
The token is sent as the `X-API-TOKEN` header to the API (`https://app.picdefense.io/api/v2`).
## Quick start
### Hosted server (recommended)
The hosted server runs at **https://mcp.picdefense.io**. Add it to Claude Code:
```bash
# Streamable HTTP (recommended)
claude mcp add -t http picdefense "https://mcp.picdefense.io/mcp" \
--header "X-API-Token: USERID:APIKEY"
# or SSE
claude mcp add -t sse picdefense "https://mcp.picdefense.io/sse?token=USERID:APIKEY"
```
Quick HTTP smoke test:
```bash
curl -X POST https://mcp.picdefense.io/mcp \
-H "Content-Type: application/json" \
-H "X-API-Token: USERID:APIKEY" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
```
### Claude Desktop (hosted)
Claude Desktop launches MCP servers as local commands, so reach the hosted server
through the [`mcp-remote`](https://www.npmjs.com/package/mcp-remote) bridge (requires
Node.js installed). See [`claude_desktop_config.example.json`](claude_desktop_config.example.json):
```json
{
"mcpServers": {
"picdefense": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://mcp.picdefense.io/sse?token=YOUR_USERID:YOUR_APIKEY"
]
}
}
}
```
Edit your `claude_desktop_config.json` (Settings → Developer → Edit Config), add the
`mcpServers` block above with your `USERID:APIKEY`, then fully quit and reopen Claude Desktop.
> Testing against a plain-HTTP server (e.g. `http://<host>:6910`) instead of HTTPS?
> `mcp-remote` blocks non-HTTPS origins unless the host is `localhost` — append
> `"--allow-http"` to the `args` array, or reach it over an SSH tunnel to `localhost`.
### Local (stdio) via npx — no clone needed
Run the published package directly. Requires Node.js installed.
```json
{
"mcpServers": {
"picdefense": {
"command": "npx",
"args": [
"-y",
"@picdefenseio/mcp-server",
"--api-token",
"USERID:APIKEY"
]
}
}
}
```
You can also pass the token via the `PICDEFENSE_API_TOKEN` env var instead of `--api-token`.
### Local (stdio) from source
Clone and build, then point Claude Desktop at the built entry point:
```bash
git clone https://github.com/rchanllc/picdefenseio-mcp-server.git
cd picdefenseio-mcp-server
npm install
npm run build
```
Then use `"command": "node"` with `"args": ["/absolute/path/to/dist/index.js", "--api-token", "USERID:APIKEY"]`.
## Configuration
| Variable | Default | Description |
|----------|---------|-------------|
| `PICDEFENSE_API_TOKEN` | — | `USERID:APIKEY` (stdio only; hosted server reads it per-connection) |
| `PICDEFENSE_API_BASE_URL` | `https://app.picdefense.io/api/v2` | API base URL |
| `PORT` | `6910` | Hosted server listen port |
## Running the hosted server
### Development
```bash
npm run dev:sse # tsx watch, auto-reload
```
### Production (Docker)
```bash
# via docker compose
docker compose up --build -d
# or the helper script (handles build + health check)
./deploy.sh
```
The container is named `picdefenseio_mcp` and listens on port **6910**.
### HTTP endpoints
| Method | Path | Purpose |
|--------|------|---------|
| GET | `/health` | Health check (used by Docker + CI) |
| GET | `/api/info` | Server + transport info |
| GET | `/tools` | List available tools |
| GET | `/docs` | Swagger UI for the underlying API |
| GET | `/sse?token=USERID:APIKEY` | Open an SSE MCP session |
| POST | `/messages?sessionId=<id>` | SSE session message channel |
| POST | `/mcp` | Streamable HTTP MCP (header `X-API-Token`) |
## Self-hosting
There is no CI/CD in this repo — host it yourself. On your server:
```bash
git clone https://github.com/rchanllc/picdefenseio-mcp-server.git
cd picdefenseio-mcp-server
docker compose up --build -d # or: ./deploy.sh
```
The container is named `picdefenseio_mcp` and listens on **6910**. To update,
`git pull` and re-run `docker compose up --build -d`.
Front it with nginx at `https://mcp.picdefense.io` → `127.0.0.1:6910`
(`proxy_buffering off` and a long read timeout are recommended for the `/sse` path).
## Architecture
```
┌──────────────┐ ┌────────────────────────┐ ┌─────────────────────────┐
│ MCP Client │───▶│ PicDefense MCP Server │───▶│ PicDefense.io API v2 │
│ (Claude etc.)│ │ (port 6910) │ │ app.picdefense.io/api/v2│
└──────────────┘ └────────────────────────┘ └─────────────────────────┘
token (USERID:APIKEY) forwarded as X-API-TOKEN ───────────▶
```
Each connection builds its own API client + MCP server bound to the caller's token,
so the service is multi-tenant and stateless with respect to credentials.
## License
MIT — see [LICENSE](LICENSE).
Lo que la gente pregunta sobre picdefenseio-mcp-server
¿Qué es rchanllc/picdefenseio-mcp-server?
+
rchanllc/picdefenseio-mcp-server es mcp servers para el ecosistema de Claude AI. MCP server for the PicDefense.io API — image risk scoring, EXIF, reverse-image backlinks, and Google Cloud Vision detection (face, landmark, logo, labels, SafeSearch) for AI agents. Tiene 0 estrellas en GitHub y su última actualización registrada es del 2026-10-14.
¿Cómo se instala picdefenseio-mcp-server?
+
Puedes instalar picdefenseio-mcp-server clonando el repositorio (https://github.com/rchanllc/picdefenseio-mcp-server) o siguiendo las instrucciones del README en GitHub. ClaudeWave también te ofrece bloques de instalación rápida en esta misma página.
¿Es seguro usar rchanllc/picdefenseio-mcp-server?
+
Nuestro agente de seguridad ha analizado rchanllc/picdefenseio-mcp-server y le ha asignado un Trust Score de 87/100 (tier: Trusted). Revisa el desglose completo de comprobaciones superadas y flags en esta página.
¿Quién mantiene rchanllc/picdefenseio-mcp-server?
+
rchanllc/picdefenseio-mcp-server es mantenido por rchanllc. La última actividad registrada en GitHub es del 2026-10-14, con 0 issues abiertos.
¿Hay alternativas a picdefenseio-mcp-server?
+
Sí. En ClaudeWave puedes explorar mcp servers similares en /categories/mcp, ordenados por popularidad o actividad reciente.
Despliega picdefenseio-mcp-server en tu cloud
Lleva este repo a producción en minutos. Cada plataforma genera su propio entorno con variables de entorno editables.
¿Mantienes este repo? Añade un badge a tu README
Pega el badge en tu README de GitHub para mostrar que está auditado por ClaudeWave. Cada badge enlaza de vuelta a esta página y muestra el Trust Score actual.
[](https://claudewave.com/repo/rchanllc-picdefenseio-mcp-server)<a href="https://claudewave.com/repo/rchanllc-picdefenseio-mcp-server"><img src="https://claudewave.com/api/badge/rchanllc-picdefenseio-mcp-server" alt="Featured on ClaudeWave: rchanllc/picdefenseio-mcp-server" width="320" height="64" /></a>Más MCP Servers
Reverse engineer anything with agents, from app behavior down to native binaries.
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
An open-source AI agent that brings the power of Gemini directly into your terminal.
Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface
🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scrapling_dev