# HDPhotoHub MCP by usefulapi (remote · hdphotohub.usefulapi.io)

Manage HDPhotoHub sites, clients, orders and media for real estate photography.

- Trust score: 18/100 (low)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-05

## Components

- remote · `hdphotohub.usefulapi.io`: 18/100 (this document), [markdown](https://verifymcp.io/servers/io-usefulapi-hdphotohub/hdphotohub.md), [page](https://verifymcp.io/servers/io-usefulapi-hdphotohub/hdphotohub)

## Channel facts

- Endpoint: `https://hdphotohub.usefulapi.io/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.5.2`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-11-05.

- **Endpoint Security**: 46/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation not yet verified: we couldn't confirm whether this endpoint requires it.
  - HTTPS enforcement could not be verified: the plaintext port redirected somewhere other than https, so enforcement is unproven.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 0/100
  - Transport check failed: declared streamable-http, but the endpoint redirected instead of responding directly.
- **Schema Quality & AI Usability**: 0/100
  - Schema not yet verified: we couldn't read the endpoint's schema, or could read only part of its tool list.
- **Stability & Change Management**: 0/100
  - Stability not yet verified: not enough scan history yet (needs a 30-day window).
- **Tool Coverage**: 0/100
  - Tool coverage not yet verified: we couldn't read the endpoint's tools, or could read only part of the list.
- **Tool Safety**: 0/100
  - Tool safety not yet verified: we couldn't read the endpoint's tools, or could read only part of the list.
- **Capabilities**: 0/100
  - Capabilities not yet verified: we couldn't read the endpoint's capabilities.

**Unverified: 5 categories.** Categories scored 0 because we could not verify them: authentication we do not have, an unreachable endpoint, or not enough scan history. We only credit what we can confirm.

## Install

### How do I install the HDPhotoHub MCP by usefulapi server?

HDPhotoHub MCP by usefulapi is a hosted endpoint at https://hdphotohub.usefulapi.io/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http io-usefulapi-hdphotohub 'https://hdphotohub.usefulapi.io/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "io-usefulapi-hdphotohub": {
      "url": "https://hdphotohub.usefulapi.io/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "io-usefulapi-hdphotohub": {
      "type": "http",
      "url": "https://hdphotohub.usefulapi.io/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.io-usefulapi-hdphotohub]
url = "https://hdphotohub.usefulapi.io/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "io-usefulapi-hdphotohub": {
      "type": "remote",
      "url": "https://hdphotohub.usefulapi.io/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add io-usefulapi-hdphotohub --url 'https://hdphotohub.usefulapi.io/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  io-usefulapi-hdphotohub:
    url: "https://hdphotohub.usefulapi.io/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "io-usefulapi-hdphotohub": {
      "Transport": "http",
      "Url": "https://hdphotohub.usefulapi.io/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add io-usefulapi-hdphotohub -t streamable-http -u 'https://hdphotohub.usefulapi.io/mcp'
```

### Other

```json
{
  "mcpServers": {
    "io-usefulapi-hdphotohub": {
      "type": "http",
      "url": "https://hdphotohub.usefulapi.io/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-11-02 (score 18, −46)

- [security regression] Endpoint reachability: reachable → not serving MCP
- [security regression] Tool safety: pass → unverified
- [security regression] Authorization: pass → unverified
- [security regression] Stability: 0.03 → unverified
- [functional regression] Schema quality: 100 → unverified
- [functional regression] Capabilities: pass → unverified
- [functional regression] Tool coverage: 100 → unverified

### 2026-11-01 (score 64, 0)

- [functional improvement] Stability: unverified → 0.03

### 2026-10-31 (score 64)

First indexed and scored.

## MCP tools (20)

### `hdphotohub_get_brand` (~34 tokens)

Get brand

Get the business (brand) the API key belongs to: id and name. API: GET /brand.

### `hdphotohub_list_users` (~52 tokens)

List users

List clients and team members, optionally filtered by email or name. API: GET /users.

Input parameters:

- `email` (string): Filter by email address.
- `name` (string): Filter by name.

### `hdphotohub_get_user` (~58 tokens)

Get a user

Get one user by id or email. Pass uid or email. API: GET /user.

Input parameters:

- `email` (string): User email address.
- `uid` (integer): User id (from hdphotohub_list_users).

### `hdphotohub_list_user_transactions` (~81 tokens)

List user transactions

List the transactions of a user, optionally within a date range. API: GET /user/transactions.

Input parameters:

- `datefrom` (string): Include transactions on and after this date (yyyy-mm-dd).
- `dateto` (string): Include transactions on and before this date (yyyy-mm-dd).
- `uid` (integer, required): User id.

### `hdphotohub_list_sites` (~73 tokens)

List sites

List property sites, filtered by user id, user email or an address search string. API: GET /sites.

Input parameters:

- `address` (string): Address search string.
- `email` (string): Only sites of the user with this email.
- `uid` (integer): Only sites of this user id.

### `hdphotohub_get_site` (~59 tokens)

Get a site

Get one property site with its status, purchase state, users and all media items (download URL, type, order). API: GET /site.

Input parameters:

- `sid` (integer, required): Site id (from hdphotohub_list_sites).

### `hdphotohub_get_media` (~50 tokens)

Get a media item

Get one media item (photo, video, floor plan) by id. API: GET /media.

Input parameters:

- `mid` (integer, required): Media id (from hdphotohub_get_site).

### `hdphotohub_list_orders` (~66 tokens)

List orders

List orders, optionally for one site or one user. Orders carry totals, balance due, tasks and payments. API: GET /orders.

Input parameters:

- `sid` (integer): Only orders of this site id.
- `uid` (integer): Only orders of this user id.

### `hdphotohub_get_order` (~50 tokens)

Get an order

Get one order by id with tasks, taxes, payments and invoice URL. API: GET /order.

Input parameters:

- `oid` (integer, required): Order id (from hdphotohub_list_orders).

### `hdphotohub_list_groups` (~42 tokens)

List groups

List groups (brokerages and teams), optionally filtered by name. API: GET /groups.

Input parameters:

- `name` (string): Filter by group name.

### `hdphotohub_get_group` (~41 tokens)

Get a group

Get one group by id. API: GET /group.

Input parameters:

- `gid` (integer, required): Group id (from hdphotohub_list_groups).

### `hdphotohub_list_webhooks` (~26 tokens)

List webhooks

List the configured webhooks. API: GET /webhooks.

### `hdphotohub_get_webhook` (~45 tokens)

Get a webhook

Get one webhook by id. API: GET /webhook.

Input parameters:

- `wid` (integer, required): Webhook id (from hdphotohub_list_webhooks).

### `hdphotohub_list_webhook_events` (~32 tokens)

List webhook events

List the available webhook event types and payload options. API: GET /webhook/events.

### `hdphotohub_create_site` (~229 tokens)

Create a site

WRITE: create a new property site for a user. Not idempotent: a repeat call creates a second site. API: POST /site.

Input parameters:

- `address` (string): Street address.
- `address2` (string): Address line 2 (unit, suite).
- `banner` (string): Banner text shown on the property site (for example 'Just Listed').
- `bannerexpiration` (string): Banner expiration date.
- `baths` (string)
- `beds` (string)
- `city` (string)
- `description` (string): Property description.
- `garage` (string)
- `lotsize` (string)
- `mls` (string): MLS number.
- `price` (string): List price.
- `sqft` (string): Living area in square feet.
- `sqm` (string): Living area in square meters.
- `state` (string)
- `uid` (integer, required): Owner user id.
- `uid2` (integer): Co-user id.
- `yearbuilt` (string)
- `zip` (string)

### `hdphotohub_update_site` (~225 tokens)

Update a site

WRITE: update fields of an existing property site. Only the fields you pass change. API: PUT /site.

Input parameters:

- `address` (string): Street address.
- `address2` (string): Address line 2 (unit, suite).
- `banner` (string): Banner text shown on the property site (for example 'Just Listed').
- `bannerexpiration` (string): Banner expiration date.
- `baths` (string)
- `beds` (string)
- `city` (string)
- `description` (string): Property description.
- `garage` (string)
- `lotsize` (string)
- `mls` (string): MLS number.
- `price` (string): List price.
- `sid` (integer, required): Site id.
- `sqft` (string): Living area in square feet.
- `sqm` (string): Living area in square meters.
- `state` (string)
- `uid` (integer)
- `uid2` (integer)
- `yearbuilt` (string)
- `zip` (string)

### `hdphotohub_set_site_status` (~55 tokens)

Set site status

WRITE: set a site to active, inactive or archived. This does not purchase the site. API: PUT /site/status.

Input parameters:

- `sid` (integer, required): Site id.
- `status` (string, required)

### `hdphotohub_set_site_media_order` (~65 tokens)

Set media order

WRITE: set the sort order of the media of a site. Pass media ids in the wanted order. API: PUT /site/mediaorder.

Input parameters:

- `mid` (array, required): Media ids in the wanted order.
- `sid` (integer, required): Site id.

### `hdphotohub_update_media` (~88 tokens)

Update a media item

WRITE: update name, description, type, visibility, highlight or branding of one media item. API: PUT /media.

Input parameters:

- `branding` (string)
- `description` (string)
- `hidden` (boolean)
- `highlight` (boolean)
- `mid` (integer, required): Media id.
- `name` (string)
- `type` (string)

### `hdphotohub_upsert_user` (~124 tokens)

Create or update a user

WRITE: create a user (no uid) or update one (uid or email of an existing user). API: PUT /user.

Input parameters:

- `email` (string)
- `firstname` (string)
- `gid` (integer): Group id.
- `lastname` (string)
- `name` (string)
- `phone` (string)
- `status` (string)
- `title` (string)
- `type` (string)
- `uid` (integer): Existing user id to update.
- `website` (string)

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/io-usefulapi-hdphotohub/hdphotohub#diagnostics

## Score history

- 2026-11-05: 18
- 2026-11-04: 18
- 2026-11-03: 18
- 2026-11-02: 18
- 2026-11-01: 64
- 2026-10-31: 64

## Common questions

### What is the HDPhotoHub MCP by usefulapi server?

HDPhotoHub MCP by usefulapi is listed in the public MCP registry as io.usefulapi/hdphotohub. Manage HDPhotoHub sites, clients, orders and media for real estate photography. This page covers its hosted endpoint (https://hdphotohub.usefulapi.io/mcp).

### Is the HDPhotoHub MCP by usefulapi server safe to use?

HDPhotoHub MCP by usefulapi scores 18 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the HDPhotoHub MCP by usefulapi server expose?

HDPhotoHub MCP by usefulapi exposes 20 tools: hdphotohub_get_brand, hdphotohub_list_users, hdphotohub_get_user, hdphotohub_list_user_transactions, hdphotohub_list_sites, and 15 more. Their descriptions and schemas cost roughly 1,495 tokens of context every time the server is loaded.

### Does the HDPhotoHub MCP by usefulapi server require authentication?

Its publisher declares no required credentials for HDPhotoHub MCP by usefulapi. We have not been able to confirm that against the live endpoint, and a server can require authorisation without declaring it here.

### Is the HDPhotoHub MCP by usefulapi server still maintained?

HDPhotoHub MCP by usefulapi is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://hdphotohub.usefulapi.io/mcp
- Repository: https://github.com/m190/usefulapi-mcp
- Website: https://usefulapi.io/hdphotohub/
- Changelog RSS feed: https://verifymcp.io/servers/io-usefulapi-hdphotohub/hdphotohub.xml
- Changelog JSON feed: https://verifymcp.io/servers/io-usefulapi-hdphotohub/hdphotohub.json
- HTML version of this page: https://verifymcp.io/servers/io-usefulapi-hdphotohub/hdphotohub
