{
  "$schema": "https://modelcontextprotocol.io/schema/mcp-discovery.json",
  "name": "hendrikschakel",
  "title": "Hendrik Schakel",
  "description": "Agent interface for Hendrik Schakel, consultant financial advice & AI for the Dutch mortgage and financial-planning sector, based in Amsterdam & Mexico City. Read profile, services and views; check availability, request a booking (free introduction) or a consultancy/advisory quote. All write actions require human email confirmation (double opt-in).",
  "version": "1.0.0",
  "contact": "hendrik@titolab.nl",
  "documentation": "https://hendrikschakel.nl/llms.txt",
  "transport": {
    "type": "streamable-http",
    "url": "https://hendrikschakel.nl/api/mcp"
  },
  "endpoints": {
    "mcp": "https://hendrikschakel.nl/api/mcp"
  },
  "capabilities": {
    "tools": {
      "read": [
        {
          "name": "get_profile",
          "description": "Returns Hendrik's professional and personal profile."
        },
        {
          "name": "list_services",
          "description": "Lists how to work with Hendrik: a free introduction (bookable) and consultancy/advisory on request."
        },
        {
          "name": "get_views",
          "description": "Returns Hendrik's vision on financial advice and AI."
        }
      ],
      "write": [
        {
          "name": "check_availability",
          "description": "Returns free time slots for a given session type within the next two weeks."
        },
        {
          "name": "book_appointment",
          "description": "Requests a booking. Confirmed only after the requester clicks an email confirmation link (double opt-in)."
        },
        {
          "name": "request_quote",
          "description": "Submits a custom (maatwerk) intake request and triggers a proposal by email."
        }
      ]
    }
  },
  "policies": {
    "advice": "Information provided is general and informational, not personalised financial advice under Dutch advisory rules (Wft).",
    "writeConfirmation": "double-opt-in",
    "rateLimited": true
  }
}
