~ ddq notes

Making ddq.nl agent-native

ddq.nl runs on our own server, like everything else we host. Today we rebuilt its plumbing.

What changed

One source of truth. The site's facts (clients, products, services) live in a single JSON file. A build script generates llms.txt, /api/company.json, the sitemap and security.txt from it. The HTML pages had drifted apart from the JSON endpoints; now they can't.

A real MCP endpoint. AI agents can now query this site directly over the Model Context Protocol at /mcp/ (Streamable HTTP, no auth). Tools: company profile, cloud services with live status, contact. Written in plain PHP, no dependencies, runs on this server.

Live status. The cloud page now shows the actual up/down state of our self-hosted services, checked every five minutes from this machine. No third-party status service.

The small stuff. security.txt (RFC 9116), Webfinger, a favicon, updated crawler names in robots.txt.

Why

We build on-premise and self-hosted systems for a living. Our own website should demonstrate that: queryable by agents, transparent about uptime, and running entirely on our own infrastructure.

← all notes