Naar hoofdinhoud

Wat is er veranderd?

Er is een MCP (Model Context Protocol) server toegevoegd aan de website. Via een enkel HTTP-endpoint kunnen AI-assistenten gestructureerd communiceren met de blogcontent.

Waarom een MCP server?

MCP is een open standaard waarmee AI-assistenten veilig en gestructureerd externe data kunnen raadplegen. Door een MCP server aan te bieden voor de blog, kan een AI-assistent:

  • Alle gepubliceerde blogposts opvragen
  • Een specifieke blogpost ophalen op basis van de slug
  • De volledige markdown-content lezen, inclusief metadata

Dit maakt het mogelijk om de blogcontent te gebruiken als kennisbron in AI-gesprekken — zonder dat de gebruiker handmatig tekst hoeft te kopiëren.

Waarom in Symfony?

De MCP server is gebouwd als onderdeel van de bestaande Symfony-applicatie. Dat is een bewuste keuze:

  • Geen extra runtime nodig — geen Node.js proces, geen aparte server
  • Directe toegang tot de BlogService — dezelfde service die de website gebruikt
  • Eén codebase — deployment, testen en onderhoud blijven eenvoudig
  • Symfony autowiring — de MCP server wordt automatisch geïnjecteerd via dependency injection

Beschikbare tools

De MCP server biedt twee tools:

  • list_blog_posts — Geeft een overzicht van alle gepubliceerde posts met titel, slug, datum, auteur en samenvatting.
  • get_blog_post — Haalt de volledige markdown-content op van een specifieke post aan de hand van de slug.

Technische details

  • Protocol: JSON-RPC 2.0 over HTTP (Streamable HTTP transport)
  • Endpoint: POST https://www.hvsoftware.nl/mcp
  • Controller: McpController.php
  • Server logica: McpServer.php en McpResponse.php
  • BlogPost model: uitgebreid met markdownContent zodat de ruwe markdown beschikbaar is naast de HTML

Het endpoint accepteert standaard MCP-methodes: initialize, ping, tools/list en tools/call. Notificaties (berichten zonder id) worden beantwoord met HTTP 204.