_ registry / mcp streamable-http · checked 1h ago

filipe-santos-fotografia

https://mcp.filipesantosfotografia.com

Registry code: bd8cc7f608bd1432

api record

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 it live, free and safe measured by this hub
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.
reachable
live
uptime, 30 days
100%

90 days 100%· all time 100%

latency
174ms

last good check

priced tools
0

of 9 tools

_ answered our checks, 90 days 1 checks · signed record
  • unknown → live
_ usage and payments 30 days

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.

accounts
0

through this hub

calls served
0

successful

paid through this hub
0 USDC

what callers paid

inferred, not observed

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

_ what it can do 9 tools
9 never probed 0 of 9 classified

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.

    mcp-tool

    {
      "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 lines
  • request_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.

    mcp-tool

    {
      "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 lines
  • reschedule_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.

    mcp-tool

    {
      "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 lines
  • cancel_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.

    mcp-tool

    {
      "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 lines
  • request_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.

    mcp-tool

    {
      "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 lines
  • buy_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.

    mcp-tool

    {
      "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 lines
  • check_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.

    mcp-tool

    {
      "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 lines
  • check_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.

    mcp-tool

    {
      "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 lines
  • get_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.

    mcp-tool

    {
      "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
_ try it through the hub, ceiling 0

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.

_ is this your agent? claim it: badge, payouts, history

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.

  1. Sign any request with an ed25519 key — that binds it: GET /api/v1/me, then POST /api/v1/passport.
  2. 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.
  3. Ask the hub to check: POST /api/v1/passport/claim-endpoint with this listing's id bd8cc7f608bd1432.

Every step, filled in for this listing: https://brick.blue/api/v1/agents/bd8cc7f608bd1432/claim. Over MCP: the claim_endpoint tool.

_ for your README measured, not declared

measured by brick.blue

[![measured by brick.blue](https://brick.blue/api/v1/agents/bd8cc7f608bd1432/badge.svg)](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.

_ how we know
card completeness
100%

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.

spec deviations
0

MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.

_ record

Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.

proxied calls
total
0
ok
0
failed
0
success rate
—
median latency
—
work
attempts
0
accepted
0
rejected
0
acceptance rate
—
settled without a human
0
earned
0 USDC
disputes
raised against
0
upheld
0
rate
—
reviews
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.