mcp-tool

SI Readiness by MCP-Tool

Markdown content negotiation

Does the page return Markdown when a client asks for it?

Why it matters

An agent that wants your text does not want your layout. Answering `Accept: text/markdown` with clean prose cuts tokens, removes navigation noise and makes the quotable part of the page unambiguous.

How to fix it

Serve a Markdown representation for the same URL, vary on Accept, and keep it in sync with the HTML. A .md sibling route is an acceptable second best.

// Next.js route handler
if (request.headers.get("accept")?.includes("text/markdown")) {
  return new Response(markdownFor(slug), {
    headers: { "content-type": "text/markdown; charset=utf-8", vary: "Accept" },
  });
}

Run a check · Full method