HDPhotoHub MCP by usefulapi

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

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
100%
Integridad del esquema
83%
Calidad de los nombres
78%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Hallazgos (2)

  • LOWTool 'hdphotohub_list_user_transactions' name length outside 3-30 rangeen hdphotohub_list_user_transactions
  • LOWTool 'hdphotohub_set_site_media_order' name length outside 3-30 rangeen hdphotohub_set_site_media_order

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~2,887Tokens (definiciones de herramientas)
~1.1 KBTamaño de respuesta típico
Impacto significativo en la atención (2.26% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

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

Puntos de conexión remotos

https://hdphotohub.usefulapi.io/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (20)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢hdphotohub_get_brand

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

Esquema de entrada

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢hdphotohub_list_users(email, name)

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

Esquema de entrada

{
  "type": "object",
  "properties": {
    "email": {
      "description": "Filter by email address.",
      "type": "string"
    },
    "name": {
      "description": "Filter by name.",
      "type": "string"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢hdphotohub_get_user(uid, email)

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

Esquema de entrada

{
  "type": "object",
  "properties": {
    "uid": {
      "description": "User id (from hdphotohub_list_users).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "email": {
      "description": "User email address.",
      "type": "string"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢hdphotohub_list_user_transactions(uid, datefrom, dateto)

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

Esquema de entrada

{
  "type": "object",
  "properties": {
    "uid": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "User id."
    },
    "datefrom": {
      "description": "Include transactions on and after this date (yyyy-mm-dd).",
      "type": "string"
    },
    "dateto": {
      "description": "Include transactions on and before this date (yyyy-mm-dd).",
      "type": "string"
    }
  },
  "required": [
    "uid"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢hdphotohub_list_sites(uid, email, address)

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

Esquema de entrada

{
  "type": "object",
  "properties": {
    "uid": {
      "description": "Only sites of this user id.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "email": {
      "description": "Only sites of the user with this email.",
      "type": "string"
    },
    "address": {
      "description": "Address search string.",
      "type": "string"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢hdphotohub_get_site(sid)

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

Esquema de entrada

{
  "type": "object",
  "properties": {
    "sid": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Site id (from hdphotohub_list_sites)."
    }
  },
  "required": [
    "sid"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢hdphotohub_get_media(mid)

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

Esquema de entrada

{
  "type": "object",
  "properties": {
    "mid": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Media id (from hdphotohub_get_site)."
    }
  },
  "required": [
    "mid"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢hdphotohub_list_orders(sid, uid)

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

Esquema de entrada

{
  "type": "object",
  "properties": {
    "sid": {
      "description": "Only orders of this site id.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "uid": {
      "description": "Only orders of this user id.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢hdphotohub_get_order(oid)

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

Esquema de entrada

{
  "type": "object",
  "properties": {
    "oid": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Order id (from hdphotohub_list_orders)."
    }
  },
  "required": [
    "oid"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢hdphotohub_list_groups(name)

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

Esquema de entrada

{
  "type": "object",
  "properties": {
    "name": {
      "description": "Filter by group name.",
      "type": "string"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢hdphotohub_get_group(gid)

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

Esquema de entrada

{
  "type": "object",
  "properties": {
    "gid": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Group id (from hdphotohub_list_groups)."
    }
  },
  "required": [
    "gid"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢hdphotohub_list_webhooks

List the configured webhooks. API: GET /webhooks.

Esquema de entrada

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢hdphotohub_get_webhook(wid)

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

Esquema de entrada

{
  "type": "object",
  "properties": {
    "wid": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Webhook id (from hdphotohub_list_webhooks)."
    }
  },
  "required": [
    "wid"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢hdphotohub_list_webhook_events

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

Esquema de entrada

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴hdphotohub_create_site(uid, uid2, address, address2, city, ...)

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

Esquema de entrada

{
  "type": "object",
  "properties": {
    "uid": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Owner user id."
    },
    "uid2": {
      "description": "Co-user id.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "address": {
      "description": "Street address.",
      "type": "string"
    },
    "address2": {
      "description": "Address line 2 (unit, suite).",
      "type": "string"
    },
    "city": {
      "type": "string"
    },
    "state": {
      "type": "string"
    },
    "zip": {
      "type": "string"
    },
    "banner": {
      "description": "Banner text shown on the property site (for example 'Just Listed').",
      "type": "string"
    },
    "bannerexpiration": {
      "description": "Banner expiration date.",
      "type": "string"
    },
    "mls": {
      "description": "MLS number.",
      "type": "string"
    },
    "price": {
      "description": "List price.",
      "type": "string"
    },
    "beds": {
      "type": "string"
    },
    "baths": {
      "type": "string"
    },
    "garage": {
      "type": "string"
    },
    "sqft": {
      "description": "Living area in square feet.",
      "type": "string"
    },
    "sqm": {
      "description": "Living area in square meters.",
      "type": "string"
    },
    "yearbuilt": {
      "type": "string"
    },
    "lotsize": {
      "type": "string"
    },
    "description": {
      "description": "Property description.",
      "type": "string"
    }
  },
  "required": [
    "uid"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡hdphotohub_update_site(sid, uid, uid2, address, address2, ...)

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

Esquema de entrada

{
  "type": "object",
  "properties": {
    "sid": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Site id."
    },
    "uid": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "uid2": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "address": {
      "description": "Street address.",
      "type": "string"
    },
    "address2": {
      "description": "Address line 2 (unit, suite).",
      "type": "string"
    },
    "city": {
      "type": "string"
    },
    "state": {
      "type": "string"
    },
    "zip": {
      "type": "string"
    },
    "banner": {
      "description": "Banner text shown on the property site (for example 'Just Listed').",
      "type": "string"
    },
    "bannerexpiration": {
      "description": "Banner expiration date.",
      "type": "string"
    },
    "mls": {
      "description": "MLS number.",
      "type": "string"
    },
    "price": {
      "description": "List price.",
      "type": "string"
    },
    "beds": {
      "type": "string"
    },
    "baths": {
      "type": "string"
    },
    "garage": {
      "type": "string"
    },
    "sqft": {
      "description": "Living area in square feet.",
      "type": "string"
    },
    "sqm": {
      "description": "Living area in square meters.",
      "type": "string"
    },
    "yearbuilt": {
      "type": "string"
    },
    "lotsize": {
      "type": "string"
    },
    "description": {
      "description": "Property description.",
      "type": "string"
    }
  },
  "required": [
    "sid"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡hdphotohub_set_site_status(sid, status)

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

Esquema de entrada

{
  "type": "object",
  "properties": {
    "sid": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Site id."
    },
    "status": {
      "type": "string",
      "enum": [
        "active",
        "inactive",
        "archived"
      ]
    }
  },
  "required": [
    "sid",
    "status"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡hdphotohub_set_site_media_order(sid, mid)

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

Esquema de entrada

{
  "type": "object",
  "properties": {
    "sid": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Site id."
    },
    "mid": {
      "minItems": 1,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      },
      "description": "Media ids in the wanted order."
    }
  },
  "required": [
    "sid",
    "mid"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡hdphotohub_update_media(mid, name, description, type, hidden, ...)

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

Esquema de entrada

{
  "type": "object",
  "properties": {
    "mid": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Media id."
    },
    "name": {
      "type": "string"
    },
    "description": {
      "type": "string"
    },
    "type": {
      "type": "string",
      "enum": [
        "still",
        "pan",
        "pan360",
        "sphere",
        "video",
        "embed",
        "floorplan"
      ]
    },
    "hidden": {
      "type": "boolean"
    },
    "highlight": {
      "type": "boolean"
    },
    "branding": {
      "type": "string",
      "enum": [
        "all",
        "both",
        "branded",
        "download",
        "none",
        "unbranded"
      ]
    }
  },
  "required": [
    "mid"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡hdphotohub_upsert_user(uid, email, name, firstname, lastname, ...)

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

Esquema de entrada

{
  "type": "object",
  "properties": {
    "uid": {
      "description": "Existing user id to update.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "email": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "firstname": {
      "type": "string"
    },
    "lastname": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "phone": {
      "type": "string"
    },
    "website": {
      "type": "string"
    },
    "status": {
      "type": "string",
      "enum": [
        "active",
        "inactive",
        "deleted"
      ]
    },
    "type": {
      "type": "string",
      "enum": [
        "team-member",
        "group-admin",
        "client",
        "assistant"
      ]
    },
    "gid": {
      "description": "Group id.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada20 herramientas