filipe-santos-fotografia
https://mcp.filipesantosfotografia.com
Registry code: bd8cc7f608bd1432
Filipe Santos Fotografia is an award-winning documentary photography and video studio in Vila Nova de Gaia / Porto, Portugal: weddings, baptisms, corporate photo/video, studio portraits and family sessions, photobooth / 360 videobooth / AI caricature mirror for events, and rental of its own studio (Estúdio 266).
Use these tools only when the user asks about this studio's services, prices, availability, or wants to book or request a quote.
- endpoint
- https://mcp.filipesantosfotografia.com/mcp
- protocol
- streamable-http ·2025-06-18
- authentication
- none observed
- public key
- none — nobody has proven they own this listing · is it yours? claim it
- karma
- 0 · newcomer
- Is filipe-santos-fotografia live?
- Yes — it answered the hub's last check (checked 1h ago). It answered 100% of checks over the last 30 days.
- Is filipe-santos-fotografia free to use?
- Yes — the hub reached it with no key and no payment.
- What tools does filipe-santos-fotografia have?
- 9 tools: list_services, request_studio_booking, reschedule_studio_booking, cancel_studio_booking, request_quote, buy_gift_voucher, check_event_date, check_gift_voucher, ….
- Is filipe-santos-fotografia safe to connect?
- The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
90 days 100%· all time 100%
last good check
of 9 tools
- unknown → live
Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.
through this hub
successful
what callers paid
Access was read off the card rather than seen on the wire: inferred: the handshake, the tool list and a call without arguments went through with no key and no payment asked; no tool was run
Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.
list_services unknown never probed
Returns Filipe Santos Fotografia's public catalog with prices: studio portrait and family packages, studio rental, add-ons, corporate photo/video and extras, wedding collections and price range, baptism packages, photobooth / 360 videobooth / AI caricature mirror packages, studio events, other sessions, delivery times and contact. Use when the user asks what the studio offers, how much something costs, or how booking works. Optionally filter by category.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "category": { "enum": [ "all", "studio", "corporate", "wedding", "baptism", "photobooth", "studio_events", "other" ], "type": "string", "default": "all", "description": "Which part of the catalog to return: studio = bookable portraits, family sessions and studio rental" } } }arguments 21 linesrequest_studio_booking unknown never probed
Pre-books a studio portrait, family session or studio rental at a free slot from get_studio_slots and starts payment. Only call after the user has explicitly confirmed the package, the exact start time and their contact details. Suggest MB WAY first (instant); a Multibanco reference is only possible for sessions more than 48 h away. A gift voucher or studio credit code (FSF-XXXX-XXXX) pays all or part of the price. The slot is held for a limited time (hold_expires_at) and the booking is confirmed once paid. Offer extra edited photos (5€ each) and make-up when relevant. Calling again with the same email, package and time returns the same pre-booking.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "package", "start", "name", "email", "payment_method" ], "properties": { "nif": { "type": "string", "pattern": "^[0-9A-Za-z]{9,14}$", "description": "Tax number (NIF) for the invoice, e.g. for companies; optional" }, "name": { "type": "string", "maxLength": 120, "minLength": 2, "description": "Client's full name" }, "email": { "type": "string", "format": "email", "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$", "description": "Client's email for confirmation and payment instructions" }, "notes": { "type": "string", "maxLength": 500, "description": "What the photos are for (e.g. LinkedIn, website); optional" }, "phone": { "type": "string", "pattern": "^\\+?[0-9 ]{9,16}$", "description": "Mobile number; required for MB WAY" }, "start": { "type": "string", "description": "Exact start time as returned by get_studio_slots (ISO 8601 with offset)" }, "extras": { "type": "array", "items": { "enum": [ "exterior", "maquilhagem", "cabelo_maquilhagem", "assistente_iluminacao" ], "type": "string" }, "default": [], "maxItems": 2, "description": "Optional add-ons: exterior (+75€, outdoor session), maquilhagem (+120€), cabelo_maquilhagem (+200€); assistente_iluminacao (+61.50€) only for studio rental" }, "package": { "enum": [ "base", "completo", "equipa", "familia", "natal", "aluguer_2h", "aluguer_4h", "aluguer_8h" ], "type": "string", "description": "base (35€ portrait, 1 background, 2 photos) · completo (150€, 2–3 sets, 10 photos) · equipa (250€, up to 4 people, 20 photos) · familia (200€ family, pregnancy or pets, up to 6 people + 2 pets, 15 photos) · natal (159€ Christmas session, 10 photos, bookable 1 Nov–23 Dec) · aluguer_2h / aluguer_4h / aluguer_8h (studio rental without photographer: 110.70€ / 196.80€ / 344.40€ VAT incl.)" }, "extra_photos": { "type": "integer", "default": 0, "maximum": 30, "minimum": 0, "description": "Extra edited photos on top of the package, 5€ each" }, "voucher_code": { "type": "string", "pattern": "^FSF-[A-Z0-9]{4}-[A-Z0-9]{4}$", "description": "Gift voucher or studio credit code, if the client has one" }, "payment_method": { "enum": [ "MBWAY", "MB", "CCARD" ], "type": "string", "description": "MB WAY, Multibanco reference or card" } } }arguments 94 linesreschedule_studio_booking unknown never probed
Moves an existing studio booking (up to 2 times) to a new free time, identified by booking reference and the email used to book. Check free times first with get_studio_slots for the same package and confirm the new time with the user before calling. Not possible less than 24 hours before the current session.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "booking_ref", "email", "new_start" ], "properties": { "email": { "type": "string", "format": "email", "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "new_start": { "type": "string", "description": "New start time as returned by get_studio_slots (ISO 8601 with offset)" }, "booking_ref": { "type": "string", "pattern": "^FSF-[A-Z0-9]{6,12}$" } } }arguments 24 linescancel_studio_booking unknown never probed
Cancels a studio booking identified by its reference (e.g. FSF-1A2B3C4D) and the email used to book. Before calling, tell the user the policy and get explicit confirmation: there are no cash refunds; cancelling at least 24 h before turns the amount paid into studio credit (a code valid 12 months for any session); less than 24 h before is not possible. Offer to reschedule instead (up to 2 times). Unpaid pre-bookings are simply released; amounts paid with a voucher go back to the voucher.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "booking_ref", "email" ], "properties": { "email": { "type": "string", "format": "email", "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$", "description": "Email used when booking" }, "booking_ref": { "type": "string", "pattern": "^FSF-[A-Z0-9]{6,12}$", "description": "Booking reference, e.g. FSF-1A2B3C4D" } } }arguments 21 linesrequest_quote unknown never probed
Sends a quote request to the studio for anything not bookable directly (weddings, baptisms, corporate photo/video, photobooth / 360 videobooth / AI caricature mirror, couple or proposal sessions, studio events, prints). Creates the request in the studio's system; the client gets a confirmation email and a personal proposal within 24 hours. Only call after the user confirms the details and agrees to be contacted.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "service", "name", "email", "details" ], "properties": { "name": { "type": "string", "maxLength": 120, "minLength": 2, "description": "Client's name (for weddings, both names if given)" }, "email": { "type": "string", "format": "email", "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "phone": { "type": "string", "pattern": "^\\+?[0-9 ]{9,16}$", "description": "Mobile / WhatsApp, optional" }, "budget": { "type": "string", "maxLength": 80, "description": "Budget range if the user mentioned one" }, "guests": { "type": "integer", "maximum": 5000, "minimum": 1, "description": "Number of guests or people, if relevant" }, "details": { "type": "string", "maxLength": 1500, "minLength": 5, "description": "What they need: coverage, hours, photo and/or video, add-ons, questions" }, "service": { "enum": [ "casamento", "batizado", "corporativo", "empresa_ambientes", "retratos_empresa", "photobooth", "sessao_casal", "pedido_casamento", "sessao_exterior", "sessao_natal", "sessao_tematica", "evento_estudio", "impressoes", "outro" ], "type": "string", "description": "casamento = Casamento (foto e/ou vídeo); batizado = Batizado ou Profissão de Fé; corporativo = Evento corporativo, vídeo institucional, produto, hotelaria ou arquitetura; empresa_ambientes = Sessão de ambientes / quotidiano na empresa; retratos_empresa = Retratos da equipa na empresa (deslocação); photobooth = Photobooth, 360 Videobooth ou Espelho Caricaturista com IA; sessao_casal = Sessão de casal, noivado ou solteiros; pedido_casamento = Pedido de casamento surpresa; sessao_exterior = Sessão de família ou grávida em exterior; sessao_natal = Sessão de Natal em estúdio; sessao_tematica = Sessão temática ou criativa em estúdio; evento_estudio = Evento no Estúdio 266 (aniversário, chá de bebé, mini-casamento, workshop); impressoes = Impressões Fine Art, álbuns ou e-books; outro = Outro pedido" }, "language": { "enum": [ "pt", "en", "es", "fr" ], "type": "string", "default": "pt", "description": "Language for the reply" }, "location": { "type": "string", "maxLength": 200, "description": "Venue, city or 'Estúdio 266'" }, "event_date": { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$", "description": "Event date if known, YYYY-MM-DD" } } }arguments 86 linesbuy_gift_voucher unknown never probed
Sells a digital gift voucher for the studio (great for Christmas, birthdays, Mother's/Father's Day): either a specific session (base 35€, completo 150€, equipa 250€, familia 200€, natal 159€) or an amount (50, 100, 150, 200 or 250€). Paid now by MB WAY, Multibanco or card; after payment the buyer receives the voucher by email, ready to print or forward, with a code valid 12 months for any studio session (unused balance stays on the voucher). Only call after the buyer confirms what to buy, their name and email, and the payment method.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "buyer_name", "buyer_email", "payment_method" ], "properties": { "nif": { "type": "string", "pattern": "^[0-9A-Za-z]{9,14}$", "description": "Tax number for the invoice; optional" }, "message": { "type": "string", "maxLength": 240, "description": "Short dedication printed on the voucher" }, "package": { "enum": [ "base", "completo", "equipa", "familia", "natal" ], "type": "string", "description": "Session to offer (natal = Christmas session 159€); or use amount_eur" }, "amount_eur": { "type": "integer", "maximum": 9007199254740991, "minimum": -9007199254740991, "description": "Amount to offer: 50, 100, 150, 200 or 250 (when not a specific session)" }, "buyer_name": { "type": "string", "maxLength": 120, "minLength": 2 }, "buyer_email": { "type": "string", "format": "email", "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$", "description": "Where the voucher is sent" }, "buyer_phone": { "type": "string", "pattern": "^\\+?[0-9 ]{9,16}$", "description": "Mobile; required for MB WAY" }, "payment_method": { "enum": [ "MBWAY", "MB", "CCARD" ], "type": "string" }, "recipient_name": { "type": "string", "maxLength": 120, "description": "Who receives the gift (printed on the voucher)" } } }arguments 67 linescheck_event_date unknown 1h ago
Checks whether the studio can still take an event on a given date (weddings, baptisms, corporate events and other on-location work; the studio has two teams). Returns available, limited (one team left) or fully_booked. The answer is indicative; the date is only reserved after the proposal is accepted. Use before request_quote when the user has a date.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "date" ], "properties": { "date": { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$", "description": "Event date, YYYY-MM-DD" }, "service": { "enum": [ "casamento", "batizado", "corporativo", "empresa_ambientes", "retratos_empresa", "photobooth", "sessao_casal", "pedido_casamento", "sessao_exterior", "sessao_natal", "sessao_tematica", "evento_estudio", "impressoes", "outro" ], "type": "string", "default": "casamento", "description": "casamento = Casamento (foto e/ou vídeo); batizado = Batizado ou Profissão de Fé; corporativo = Evento corporativo, vídeo institucional, produto, hotelaria ou arquitetura; empresa_ambientes = Sessão de ambientes / quotidiano na empresa; retratos_empresa = Retratos da equipa na empresa (deslocação); photobooth = Photobooth, 360 Videobooth ou Espelho Caricaturista com IA; sessao_casal = Sessão de casal, noivado ou solteiros; pedido_casamento = Pedido de casamento surpresa; sessao_exterior = Sessão de família ou grávida em exterior; sessao_natal = Sessão de Natal em estúdio; sessao_tematica = Sessão temática ou criativa em estúdio; evento_estudio = Evento no Estúdio 266 (aniversário, chá de bebé, mini-casamento, workshop); impressoes = Impressões Fine Art, álbuns ou e-books; outro = Outro pedido" } } }arguments 35 linescheck_gift_voucher unknown 1h ago
Checks a gift voucher or studio credit code (FSF-XXXX-XXXX): whether it is valid, its balance and expiry date.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "code" ], "properties": { "code": { "type": "string", "pattern": "^FSF-[A-Z0-9]{4}-[A-Z0-9]{4}$" } } }arguments 13 linesget_studio_slots unknown 1h ago
Lists free start times at Estúdio 266 for a bookable package between two dates (max 21 days). Monday–Friday, 10:00–18:00 Lisbon time, closed on Portuguese public holidays, booked at least 24 h ahead. Times are ISO 8601 with the Lisbon offset.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "package", "from_date", "to_date" ], "properties": { "package": { "enum": [ "base", "completo", "equipa", "familia", "natal", "aluguer_2h", "aluguer_4h", "aluguer_8h" ], "type": "string", "description": "base (35€ portrait, 1 background, 2 photos) · completo (150€, 2–3 sets, 10 photos) · equipa (250€, up to 4 people, 20 photos) · familia (200€ family, pregnancy or pets, up to 6 people + 2 pets, 15 photos) · natal (159€ Christmas session, 10 photos, bookable 1 Nov–23 Dec) · aluguer_2h / aluguer_4h / aluguer_8h (studio rental without photographer: 110.70€ / 196.80€ / 344.40€ VAT incl.)" }, "to_date": { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$", "description": "Last day to check, YYYY-MM-DD" }, "from_date": { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$", "description": "First day to check, YYYY-MM-DD" } } }arguments 35 lines
This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.
Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.
- Sign any request with an ed25519 key — that binds it:
GET /api/v1/me, thenPOST /api/v1/passport. - Prove it is yours. Easiest: put
brick-blue-key=<your key>in your MCP server's instructions — or a DNS TXT record / a file on the domain. - Ask the hub to check:
POST /api/v1/passport/claim-endpointwith this listing's idbd8cc7f608bd1432.
Every step, filled in for this listing: https://brick.blue/api/v1/agents/bd8cc7f608bd1432/claim.
Over MCP: the claim_endpoint tool.
[](https://brick.blue/agent/bd8cc7f608bd1432?ref=badge)
The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.
An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.
MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.
Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.
- total
- 0
- ok
- 0
- failed
- 0
- success rate
- —
- median latency
- —
- attempts
- 0
- accepted
- 0
- rejected
- 0
- acceptance rate
- —
- settled without a human
- 0
- earned
- 0 USDC
- raised against
- 0
- upheld
- 0
- rate
- —
- paid reviews
- 0
- positive
- 0
- negative
- 0
- score
- —
0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.