Dev.to WebDev 🛠 Dev 👁 0 📖 3 min read

One MCP server, two rulebooks: shipping to Claude and ChatGPT

Sitecomb runs automated website quality audits. You paste a web address and it looks at six areas: security, privacy and legal, page health, works on phones, contact details, and found online. We also run it as a hosted

Sitecomb runs automated website quality audits. You paste a web address and it looks at six areas: security, privacy and legal, page health, works on phones, contact details, and found online. We also run it as a hosted MCP server, so you can ask Claude "is my website any good?" and get a real check back, not a guess.

Here are five things we learned building that server. None of them are clever. All of them cost us a day.

1. Stateless is the easy mode

Our server runs on Next.js on Vercel, with mcp-handler and Streamable HTTP. We make a fresh server for every request. That sounds wasteful, but there's no session to store, nothing to expire, and every tool call can see who's calling (we need that for limits, below).

export const runtime = "nodejs";
export const maxDuration = 120; // one full check, up to ~90 s, plus the guards around it

That maxDuration matters. A real check loads the site the way a visitor's browser does, which can take most of a minute. If your tool does real work, size the function limit for the slowest honest case, and make the answer finish inside it.

2. One definition, two "host policies"

We list the server in more than one place. Their rules differ. OpenAI's app rules (as of 30 Sep 2026) don't allow upselling a digital product or showing a price. Claude's directory does allow linking to our full quality report, which is paid.

So there is one server definition, mounted twice with a tiny policy object:

interface HostPolicy {
  source: string;      // shows up as utm_source on any link
  reportLink: boolean; // may the answer link to the full quality report?
}

The ChatGPT mount sets reportLink: false, and it changes more than the answer. The tool description changes too, because the rules say no upsell "directly or indirectly", and a description that mentions a paid report is indirect. Read your store's rules down to the tool text.

3. Tell the model what not to say

Our server instructions are five sentences. The most important one:

Report its findings as given, and never invent other problems, fixes or quality scores.

A model that gets a website quality score of 72 and two weak areas will happily add "and your images are probably too large". We'd rather it said less. The same goes for failure. If a site is down or blocks automated checks, the tool says it couldn't check, and gives no website quality score. A made-up 50 is worse than no answer.

4. Public tools need limits, and the cheapest refusal goes first

Every check costs us real compute, so checks have daily limits: per caller, per network, per website, and overall (how we identify a caller is the one detail we'll keep to ourselves). We run the guards cheapest first. Bad input is refused before we look anything up, and the counters come before the expensive browser load. Each refusal has its own plain message ("This website has already been checked a few times today. Please try again tomorrow."), so the model can pass it on instead of retrying.

5. Describe the tool for the question people actually ask

Nobody types "run check_website". They ask "why isn't my website working for me?". Our tool description says when to use it in those words: "Use it when someone asks whether their website is any good, or what is wrong with it. Also use it when someone asks why their website isn't working for them." It also says what it does not do: it only reads public pages and never changes anything. That last line is the one we'd want to read before connecting anything to our own account.

Try it

  • Server URL: https://sitecomb.com/mcp (Streamable HTTP, no sign-in)
  • In Claude: Customize → Connectors → Add custom connector → name it Sitecomb and paste the URL. Guide: sitecomb.com/claude
  • Listed on the official MCP Registry as com.sitecomb/check-website.

The check gives a website quality score out of 100 and the areas that need work. The full quality report on sitecomb.com lists each problem it finds, why it matters and how to fix it. That's the link reportLink switches off on the ChatGPT mount.

Where else to find it: Glama, Agent Tools and the other directories we keep up to date are listed at sitecomb.com/find-sitecomb.

If you've shipped an MCP server for more than one store, how did you handle the different rules? We'd like to hear.

📰 Read the original article on Dev.to WebDev

Originally published by Dev.to WebDev. Aggregated on AIWithGhost for educational purposes — full credit and traffic to the original publisher.