Skip to content
Redman Studio · Watford, Hertfordshire

Blog · Redman Studio, Watford: My AI-friendly website told Claude nothing. Here is the bug.

The first version of my studio's MCP server passed every test I ran and still gave Claude a link instead of my prices. What went wrong, why curl will not catch it, and the one check to run on any tool you expect an AI assistant to use.

I build websites that AI assistants can read, so mine had better work. In late September I put a small MCP server on this site, at redmanstudio.co.uk/mcp, so an assistant can look up my published prices without guessing. I tested it, it passed, and I shipped it. Then I connected it to Claude and asked what a Launch build costs.

Claude gave me a link to my pricing page.

Why that was wrong

The server had answered correctly. I had checked: call the tool, and the reply came back with the full price list, tier by tier, in plain text. The data was there. The assistant never saw it.

An MCP tool can return its answer in two places. One is content, a block of text meant to be read. The other is structuredContent, the same answer as machine-readable data. My first version put the real answer in content and a short pointer in structuredContent: a title and a URL, because it seemed tidy to keep the structured part small.

Claude hands the model the structured part when there is one, and not the text. So the model received "see this page" and nothing else, and did the sensible thing with it. It pointed me at the page.

Why my tests missed it

I had tested with curl, which prints both halves and lets me read whichever I like. Every check I ran passed because I was the one deciding what to look at. A person reading the raw reply sees the text and thinks it works. The assistant sees something different, and the only way to find out what is to ask the assistant.

I would call this the general shape of the bug rather than a quirk of MCP. Anything that is built for a machine to read has a second reader whose view of the output you are not looking at. It is the same reason a site that looks fine in your browser can be empty to a crawler. I wrote about that version of it a few weeks ago.

What I changed

Every tool now carries its full answer in both places. get_prices returns all five price areas with their tiers, inclusions, timelines, how pricing works and what moves the price, as data. get_studio_profile, list_work and the enquiry confirmation do the same. The text is still there for clients that show it. The fix is the commit labelled "return the full answer in structuredContent", and it was about sixty lines.

Then I did the check I should have done first: connected it to Claude and asked the question again. It quoted £3,500, one week, and listed what is included.

A check you can run

If you have, or are paying for, anything an AI assistant is meant to call, do this before you believe it works.

  1. Look at the raw reply. This is the part everyone does. Send a tools/call request for get_prices to redmanstudio.co.uk/mcp with any HTTP tool, such as curl with a JSON body, and read what comes back. My server answers without a login.
  1. Find every place the answer can live, and confirm each one carries the whole answer, not a pointer.
  2. Connect it to a real assistant and ask the real question. Do not ask "what tools do you have". Ask what a customer would ask, and compare the reply with the truth.

Step three is the one I skipped, and it is the only one that tests what a customer's assistant will actually do.

What this does not tell you

It is one client's behaviour on one date. Other assistants may read the text and ignore the structure, and Claude may change. That is the argument for putting the full answer in both places rather than choosing one.

Also, as I said in what the assistant says about you, nobody browses for MCP servers yet, so this is more proof of discipline than a lead channel today. I would still rather the thing be right when someone does connect it.

If you want an assistant-readable site that has been tested the way an assistant reads it

Send me a URL. I will run the checks, including asking real assistants real questions about your business, and send you what they say. No charge, no obligation.

Paul Redman runs Redman Studio, an independent web design and engineering studio in Watford, Hertfordshire. The published price list and the proof page are on this site.

Published
Length
766 words · 3 min
Written by
Paul Redman, Redman Studio, Watford
Set in
Schibsted Grotesk and Geist Mono
Printed as
Static HTML. Readable with JavaScript off.
Filed under
mcp, aeo, testing, engineering
  • Search for your own business by name. Does it come up?

    The easiest search a customer can do is your business's exact name, and plenty of small firms fail it. Why it happens, what I found when I searched my own name, and a five-minute check across Google, Bing and the AI assistants.

  • PHP2Shell: if your website runs on WordPress, check it today

    Two critical PHP flaws were patched on Wednesday and attacks have already started. Government sites went offline as a precaution. Here is how to tell whether your site is exposed, the one email to send your host today, and why the sites I build had nothing to patch.

  • Google could see my whole site. Bing had read three pages.

    I build sites so AI assistants can read them, then found Bing had indexed three pages of my own. Here is why that matters for ChatGPT and Copilot, the four-minute check you can run on yours, what I changed, and what it has and has not done two weeks on.

Send me a URL.

I will run the checks in these posts on your site and reply with what a search engine and an AI assistant currently see. No charge, no obligation, occasionally uncomfortable.