First rule of writing about something that can be abbreviated: First have some explanation so people have an idea of what you are talking about. Either type out what the abbreviation stands for, have an explanation or at least a link to some other page that explain what is going on.

EDIT: This has since been fixed in link, so it is outdated.

Just so folks who want to do this know, the proper way to introduce an initialism is to use the full term on first use and put the initialism in parentheses. Thereafter just use the initialism.

Always consider your audience, but for most non-casual writing it’s a good default for a variety of reasons.

You're welcome to do that in print media, but on the web the proper way is the abbr element with its title attribute <https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/...>. Related to the distinction, I'd bet $1 there's some fancy CSS that would actually expand the definition under @media print

I can attest the abbr is also mobile friendly, although I am for sure open to each browser doing its own UI hinting that a long-press is available for the term

Sadly abbr with title doesn't work at all on mobile Chrome [1] or Firefox [2]. Probably not Safari either, since long press on mobile means "select text" so you'd have to do some CSS trickery (and trying to hit a word-sized target with a finger is quite annoying).

[1] https://issues.chromium.org/issues/337222647 -> https://issues.chromium.org/issues/41130053

[2] https://bugzilla.mozilla.org/show_bug.cgi?id=1468007

Please read your own link. It literally says to put the definition in parentheses (same as print) on first use. Second paragraph.

<abbr> is not what you seem to think it is. But the "typical use cases" section of your link does explain what it's actually for.

From your source:

> Spelling out the acronym or abbreviation in full the first time it is used on a page is beneficial for helping people understand it, especially if the content is technical or industry jargon.

> Only include a title if expanding the abbreviation or acronym in the text is not possible. Having a difference between the announced word or phrase and what is displayed on the screen, especially if it's technical jargon the reader may not be familiar with, can be jarring.

If you don't know what "MCP" stands for, then this article isn't for you. It's okay to load it, realize you're not the target audience, and move on. Or, spend some of your own time looking it up.

This is like complaining that HTTP or API isn't explained.

The difference is those terms are ubiquitous terms after 20 years of usage. MCP is a relatively new term that hasnt even been around for a year or so

I think this issue seems completely straightforward to many people… and their answer likely depends on if they know what MCP means.

The balance isn’t really clear cut. On one hand, MCP isn’t ubiquitous like, say, DNS or ancient like BSD. On the other, technical audiences can be expected to look up terms that are new to them. The point of a headline is to offer a terse summary, not an explanation, and adding three full words makes it less useful. However, that summary isn’t particularly useful if readers don’t know what the hell you’re talking about, either, and using jargon nearly guarantees that.

I think it’s just one of those damned-if-you-do/don’t situations.

It's not really like your examples because MCP has been around for about 1 year whereas those others have been around for decades and are completely ubiquitous throughout the software industry as a result.

Textbook example of gatekeeping if I ever saw it.

If you don't know the abbreviation, that can also mean you're not the target audience. This is a blog post written for an audience that uses multiple MCP servers, arguing for a different way to use LLMs. If you need the term explained and don't care enough to throw the abbreviation into Google, you're not going to care much about what's being said anyway.

I have no idea what any of the abbreviations in stock market news mean and those stock market people won't know their CLIs from their APIs and LLMs, but that doesn't mean the articles are bad.

"MCP" is the new "webscale". It can be used to write philosophical papers about LLMs orchestrating the obliquely owned ontologies of industrial systems, including SCADA systems:

https://arxiv.org/html/2506.11180v1

SCADA systems got famous, because they previously required STUXNET to be hacked. In the future you can just vibe hack them.

> or at least a link to some other page that explain what is going on

There is a link to a previous post by the same author (within the first ten words even!), which contains the context you're looking for.

A link to a previous post is not enough, though of course appreciated. But it would be something I click on after I decide if I should spend time on the article or not. I'm not going on goose chases to figure out what the topic is.

this is a wild position. it would have taken you the same amount of time to type your question(s) into your favorite search engine or LLM to learn what the terms mean as you now have spent on this comment thread. the idea that every article should contain all prerequisite knowledge for anybody at any given level of context about any topic is absurd

Are you referring to MCP? If so, it's fully spelled out in the first sentence of the first paragraph, and links to a more thorough post on the subject. That meets 2 of the 3 criteria you've dictated.

That was not the case when I commented. It has obviously been updated since then.

If you are looking for a definition, you should go for beginners article, not advanced.

MCP is Model Context Protocol, welcome to the land of the living. Make sure you turn the lights off to the cave. :)

It’s pretty well known by now what MCP stands for, unless you were referring to something else…

If by cave, you mean a productive room where busy people get things done, I agree.

Master Control Program:

https://www.youtube.com/watch?v=atmQjQjoZCQ

I refuse to believe they didn't name the spec with that in mind.

Also... that's some dedication. A user dedicated to a single comment.

Mysteriously Convoluted Protocol ...to get LLM's to do tool calling. I do agree that direct code execution in an enclave is the way to go.

> It’s pretty well known by now what MCP

Minecraft Coder Pack

https://minecraft.fandom.com/wiki/Tutorials/Programs_and_edi...

I, for one, still need to look it up every time I see it mentioned. Not everyone is talking or thinking about LLMs every waking minute.

Are you looking up what the abbreviation stands for, or what an MCP is?

The first case doesn't matter at all if you already know what an MCP actually is.

At least for the task of understanding the article.

MCP being the initialism for "Model Context Protocol", the specification released by Anthropic, generally dictates you shouldn't say "an MCP" but simply "MCP" or "the MCP". If you are referring to a concrete implementation of a part of MCP, then you likely meant to say "an MCP Server" or "an MCP Client".

I figured with all the AI posts and models, tools, apps, featured on here in the last year or two that it was a given. I guess not.