# WebMCP status is not platform-neutral

Canonical: https://mudpie.ai/blog/platform-concentration/
Breadcrumb: [Home](https://mudpie.ai/) / [Field notes](https://mudpie.ai/blog/) / [WebMCP status is not platform-neutral](https://mudpie.ai/blog/platform-concentration/)
Author: Ali Abouelatta (https://mudpie.ai/authors/ali-abouelatta/)
Published: 2026-09-19
Updated: 2026-09-19
Research type: Original analysis of archived observations
Method: Computed from the 6,934 public directory records dated September 3–4, 2026. Public and local DATA payloads matched on September 18. No new tool execution or organic usage measurement.

WebMCP is not one market. It is a set of platform distributions wearing one label.

That distinction matters because a single average can make the technology look more evenly deployed than it is. In the archived [Mudpie WebMCP directory](https://mudpie.ai/webmcp/), the three largest raw platform labels are `custom`, `Shopify Liquid`, and `WordPress`. Together they account for 6,337 of 6,934 records: 91.4% of the snapshot.

But those three groups do not have the same status profile.

| Raw platform label | Records | Share of snapshot | `live` records | `live` share within label |
|---|---:|---:|---:|---:|
| `custom` | 3,516 | 50.7% | 241 | 6.9% |
| `Shopify Liquid` | 2,145 | 30.9% | 1,938 | 90.3% |
| `WordPress` | 676 | 9.7% | 35 | 5.2% |
| `Cloudflare edge` | 275 | 4.0% | 1 | 0.4% |

These are not normalized platform identities. They are exact values in the snapshot's `pf` field. `custom` can include many kinds of sites. A label such as `nextjs;vercel` is not necessarily merged with `Next.js`, and the dataset has 102 blank platform fields. The point is not that the labels are a perfect taxonomy. The point is that even the imperfect raw field is already enough to change the conclusion.

There are two different denominators here, and they should not be collapsed. Shopify Liquid contributes 1,938 of the 2,236 native-status rows (`st=live`), or 86.6726%. The 4,789 non-Shopify records contribute 298 native-status rows, or 6.2226%. Inside the Shopify Liquid label, the rate is 1,938 of 2,145, or 90.3%. All three figures are correct. They answer different questions.

Shopify Liquid dominates the `live` bucket. It contributes 1,938 of the snapshot's 2,236 `live` records. Inside the Shopify label, another 85 records are marked `live-polyfill`, 87 are `none`, 22 are `gated`, eight are `code-unenrolled`, four are `token-idle`, and one is `dead`. The directory calls this a status observation; it does not turn that label into a current availability guarantee or an execution count.

Still, the pattern is hard to miss. The Shopify group is both large and internally concentrated: 90.3% of its records carry the `live` label. A few of the archived record URLs are [Bunny Creations](https://bunnycreations.co.uk/), [Burgundy](https://burgundyfit.com/), [Burkowski](https://burkowski.shop/), and [Burn Candle Co.](https://burn-candles.com/). Those links are generated from the snapshot's `u` field. I am using them as source records, not claiming that I revisited them during this analysis.

WordPress looks different. Of 676 records, 407 are `none`, 196 are `code-unenrolled`, 35 are `live`, 20 are `token-idle`, nine are `bridge-primed`, six are `live-polyfill`, and three are `gated`. There are no `dead` WordPress records in this snapshot. The `live` share is 5.2%, not 90.3%.

That does not prove WordPress is worse. It could reflect how the sample was assembled, which pages were checked, which plugins were present, how the browser classified the evidence, or what the source labels mean operationally. It does show that the platform is a meaningful conditioning variable. A WebMCP vendor who says “the market is 32.2% live” is hiding the part a buyer needs to know: which platform produced that denominator?

The `custom` label is the largest group, with 3,516 records, but only 241 `live` records. It also has 1,390 `none`, 797 `code-unenrolled`, and 601 `gated` records. That is a mixed population. Treating it as a single platform would be a mistake; treating it as a neutral baseline would be a bigger one.

Cloudflare edge is a useful warning in the other direction. It has 275 records, including 186 `code-unenrolled` and 71 `bridge-primed`, but only one `live` record. That profile says the archive is capturing intermediate states as well as the clean end state. A record can contain evidence associated with tools without landing in the status a normal browser visitor would experience.

So the practical decision is simple: segment first.

If you sell or install WebMCP support, do not start with the global average. Start with the customer's platform label and the exact page class you care about. For Shopify Liquid, the first question may be which merchant flows are exposed and whether the recorded `live` behavior matches the customer's pages. For WordPress, the first question may be whether the relevant plugin, token, and page path are actually present. For a custom stack, you need a compatibility check, not a benchmark borrowed from Shopify.

If you are publishing a market map, show the platform mix beside the status counts. At minimum, disclose the raw label, the denominator, the historical verification date, and whether the row represents a registration, a browser-visible tool, a polyfill, a gate, or something else. Readers can handle a messy table. They cannot make a good decision from a clean average that mixes unlike populations.

This snapshot covers 6,934 records dated September 3 and 4, 2026. It is an archive, not a live monitor. The strongest conclusion is therefore not “Shopify won” or “WordPress failed.” It is narrower and more useful: platform concentration is large enough that an overall WebMCP status rate is not a safe planning number.

**Decision:** choose the platform cohort before choosing the WebMCP rollout. The platform label is not the answer, but ignoring it guarantees that the average will answer the wrong question.

## Sources and method

- Public source snapshot: [Mudpie WebMCP directory](https://mudpie.ai/webmcp/).
- Local calculation: the embedded `const DATA=[...]` records, read without executing page JavaScript or visiting record URLs.
- The local public-source copy and the served snapshot have identical DATA JSON SHA-256: `d7a86dfec2ce5e500da231ef8a735b214f2d3e5fe1f9ac469cf4176205c92f2a`.
- Status meanings and platform labels are preserved as stored. No causal claim is made from the cross-tab.
- Record links in this draft are direct URLs from `u`, included for auditability; they are not evidence of a fresh crawl.


## Author disclosure

I cofound Lazyweb and publish Mudpie. This is an owner-written publication, not an independent testing organization. Research notes distinguish observations, sourced reporting and editorial judgment.
