FotoRent tools for assistants
Public, read-only tools for camera rental in Diemen, near Amsterdam. You can prepare an estimate; bookings are confirmed and paid on Gearbooker.
Browser tools use document.modelContext when WebMCP is supported. Other assistants can use the remote MCP server or HTTP JSON API.
Remote MCP endpoint · HTTP tool definitions
Browser tools
list_equipmentJSON Schema
{ "type": "object", "properties": { "category": { "type": "string", "enum": [ "cameras", "lenses", "drones" ] } }, "required": [], "additionalProperties": false }get_equipment_detailsJSON Schema
{ "type": "object", "properties": { "slug": { "type": "string", "description": "Exact slug from list_equipment" } }, "required": [ "slug" ], "additionalProperties": false }get_rental_quoteJSON Schema
{ "type": "object", "properties": { "slug": { "type": "string", "description": "Exact slug from list_equipment" }, "from_date": { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$", "description": "YYYY-MM-DD" }, "to_date": { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$", "description": "YYYY-MM-DD" }, "locale": { "type": "string", "enum": [ "en", "nl" ], "description": "Language for customer-facing planner links and estimate cards; agent text remains English" } }, "required": [ "slug", "from_date", "to_date" ], "additionalProperties": false }check_availabilityJSON Schema
{ "type": "object", "properties": { "slug": { "type": "string", "description": "Exact slug from list_equipment" }, "from_date": { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$", "description": "YYYY-MM-DD" }, "to_date": { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$", "description": "YYYY-MM-DD" } }, "required": [ "slug" ], "additionalProperties": false }how_to_rentJSON Schema
{ "type": "object", "properties": {}, "required": [], "additionalProperties": false }start_bookingJSON Schema
{ "type": "object", "properties": { "slug": { "type": "string", "description": "Exact slug from list_equipment" }, "from_date": { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$", "description": "YYYY-MM-DD" }, "to_date": { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$", "description": "YYYY-MM-DD" }, "locale": { "type": "string", "enum": [ "en", "nl" ], "description": "Language for customer-facing planner links and estimate cards; agent text remains English" } }, "required": [ "slug" ], "additionalProperties": false }check_compatibilityJSON Schema
{ "type": "object", "properties": { "slug": { "type": "string", "description": "Exact slug from list_equipment" }, "camera_mount": { "type": "string", "enum": [ "canon_rf", "canon_ef", "sony_e", "nikon_z", "fujifilm_x", "micro_four_thirds", "unknown" ], "description": "Your camera's lens mount, e.g. canon_rf for Canon R8/R6; model names are not mount identifiers" } }, "required": [ "slug", "camera_mount" ], "additionalProperties": false }quote_kitJSON Schema
{ "type": "object", "properties": { "slugs": { "type": "array", "items": { "type": "string", "description": "Exact slug from list_equipment" }, "minItems": 1, "maxItems": 10, "uniqueItems": true }, "from_date": { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$", "description": "YYYY-MM-DD" }, "to_date": { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$", "description": "YYYY-MM-DD" }, "locale": { "type": "string", "enum": [ "en", "nl" ], "description": "Language for customer-facing planner links and estimate cards; agent text remains English" } }, "required": [ "slugs", "from_date", "to_date" ], "additionalProperties": false }recommend_kitJSON Schema
{ "type": "object", "properties": { "use_case": { "type": "string", "enum": [ "portrait", "events", "interview", "travel", "instant", "fpv" ] }, "from_date": { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$", "description": "YYYY-MM-DD" }, "to_date": { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$", "description": "YYYY-MM-DD" }, "budget_total": { "type": "number", "exclusiveMinimum": 0, "maximum": 100000 }, "owned_camera_mount": { "type": "string", "enum": [ "canon_rf", "canon_ef", "sony_e", "nikon_z", "fujifilm_x", "micro_four_thirds", "unknown" ], "description": "Your camera's lens mount, e.g. canon_rf for Canon R8/R6; model names are not mount identifiers" }, "locale": { "type": "string", "enum": [ "en", "nl" ], "description": "Language for customer-facing planner links and estimate cards; agent text remains English" } }, "required": [ "use_case", "from_date", "to_date", "budget_total" ], "additionalProperties": false }
Example workflow
For a portrait shoot, call recommend_kit with dates and a total budget. If the customer has a camera, specify its mount. Use quote_kit for selected items and return its quoteUrl to the customer.
{
"tool": "recommend_kit",
"arguments": {
"use_case": "portrait",
"from_date": "YYYY-MM-DD",
"to_date": "YYYY-MM-DD",
"budget_total": 70,
"locale": "en"
}
}How to interpret results
available_in_snapshot means no blocked dates in a fresh, covered interval. blocked means a known conflict. unknown means the dates or snapshot do not support a reliable answer. Multi-item inventory and final checkout need confirmation. Prices are estimates, and no tool creates a booking.
Result format
Each tool returns a short text summary and structuredContent with status, values and source evidence; errors use isError and a code. WebMCP does not currently declare outputSchema, so the fields are described here.
{
"status": "ok",
"currency": "EUR",
"estimated": true,
"availability": {
"status": "unknown",
"reason": "outside_coverage",
"checkedAt": "ISO-8601",
"coverageStart": "YYYY-MM-DD",
"coverageEnd": "YYYY-MM-DD (exclusive)",
"validUntil": "ISO-8601",
"sourceUrl": "Gearbooker listing URL"
},
"quoteUrl": "FotoRent planner URL"
}Use only the documented fields. Names, phone numbers and other personal details are not accepted by these tools. Quotes are stored in the link, without an account or a database.