machines.rafeblandford.com

An MCP endpoint for rafeblandford.com

A small, read-only MCP endpoint serving what rafeblandford.com publishes about Rafe Blandford's career and writing. Connect an agent to it and ask it real questions.

This is an experimental feature, because the web is being asked to prepare for machine and agentic users.

Connect it

https://machines.rafeblandford.com/mcp
Connect to Claude rafeblandford.com

The button opens Claude's custom-connector dialogue with the URL filled in. Everything else — Claude Code, ChatGPT's custom MCP, your own client — takes the URL above. No sign-in, no token, no account.

Claude Code

claude mcp add --transport http rafe https://machines.rafeblandford.com/mcp

What it can answer

get_evidence(section)

One section of the published record: profile, career, case-studies or provenance.

search_writing(query, limit?, topic?)

Keyword search over the full text of every post and page. Deterministic — no model, no embeddings, so the same query always returns the same results. A blank query returns the most recent.

get_post(slug)

One post or page in full, with its tags, dates and authorship label.

check_experience(topic)

Whether this site publishes anything evidencing a topic, with sources. Returns supported, partial or not_found.

Clients that support prompts (Claude's connectors do) also get four starting points, so you are not staring at a blank box: Assess fit against a role, Brief me on Rafe, What does he think about…, and Interrogate the evidence — the last of which is deliberately adversarial, and asks what this site does not substantiate.

The same data is available as resources for clients that support them — rafe://profile, rafe://career, rafe://case-studies, rafe://provenance and rafe://writing/{slug}. Tools are the primary interface; the resources are canonical projections of the same files, so the two cannot drift.

What it deliberately will not do

not_found is a statement about this website, not about Rafe. The site publishes a selection of twenty years of work. When check_experience finds nothing, it says that nothing published here evidences the topic — and points at LinkedIn, which is the fuller record. If an agent turns that into "Rafe has no experience of X", it has overstepped what this tool told it.

What gets logged

Calls to this endpoint are logged, in the interest of full disclosure. Each one records the method or tool used, how long it took, how many results came back, which pages were cited, and the client identity and protocol version the caller asserts. No authentication, no cookies, no tracking across requests.

Query text from search_writing and check_experience is kept for 180 days and never published without consent. Before it is written, contact details are stripped — email addresses, phone numbers, URLs, long digit strings and @handles. That is pattern matching, not anonymisation: it will not remove a name or a company typed in plain, so please do not paste anything into a query that you would not want kept.

Separately and permanently, the normalised terms of each query are kept with no free text at all — that is the list of things people looked for and did not find. The long-lived call log holds counts, timings, cited pages and a hash, never the words. Full detail: /instrument.