This site is an MCP server. Point your agent at one URL and it reads my work as data, rather than scraping a page that pretends to be a cathode ray tube.

endpointhttps://fergusoreilly.dev/api/mcp
claude mcp add --transport http fergus-oreilly https://fergusoreilly.dev/api/mcp
ask itReal calls to the live server, from your browser.

request

answer

Pick a question to send it.

tools

  • search_writingsearch every article
  • get_articleone article in full
  • list_writingeverything published, newest first
  • get_profilewho he is and what he does now
  • list_projectsevery project, his role and the stack
  • list_experiencewhere he has worked, newest first
  • check_voicea draft against a saved Drift voice profile

Every answer comes from the same files these pages are built from, so an agent cannot hear something the site does not say.

The protocol, and why this exists

Streamable HTTP, no authentication because everything it returns is already public. It implements revision 2026-07-28 of the spec and still answers the older initialize handshake used by 2025-11-25, 2025-06-18, 2025-03-26, because that is what most clients open with. There is a machine-readable description at /.well-known/mcp.json.

I have no evidence this helps the site rank for anything. No search engine has said it reads MCP servers, and there is no ratified way to advertise one, so the discovery file is a bet on a convention that may never land. It cost one static file, which is about what the bet is worth.

What it does do is real enough. If you are talking to an agent and it wants to know what I have built, it can ask this and get an answer I wrote, instead of guessing from training data that went stale months ago. Building it also meant reading the specification properly rather than installing an SDK for six methods: the current revision deleted the initialize handshake and moved the whole protocol to per-request metadata, which I would not have got from memory, and neither would a model.