Hacker News
points by nater5000 2 days ago | 0 comments
This is too dense. You might as well just post some Python code with sufficient comments to get the same point across. I think a nicely written article with a few diagrams would go a long way. Sometimes less is more.

MCPs don't really need this level of technical explanations (it's basically just a REST API with standardized endpoints for discovery aimed at agents), and AI agents really do lack in the taste dimension when it comes to these things.

[–] jrmg 2 days ago
Yeah, this feels like one of those ‘explainers’ that feel like they are great to someone who already knows how the system works, but don’t actually work for newbies because they tacitly assume knowledge of the shape of the system that seems ‘obvious’ to someone steeped in it.
[–] bityard 2 days ago
This is a problem with most docs I encounter. _Good_ documentation should also teach the user how to use the thing, not simply end up as glorified out-of-band code comments.
[–] Geezus_42 2 days ago
I found that it's a mistake I would often make when writing documentation about something I deeply understand. I forget the questions that led me to that understanding. Now I make a conscious effort to think about the knowledge of the intended audience. I still miss things, but that's why it's good to have other people review.
[–] dspillett 2 days ago
> This is a problem with most docs I encounter.

Most documentation is reference documentation, which as you find it not very useful for just starting out (it assumes at least a small base of knowledge about what it is documenting).

> _Good_ documentation should also teach the user how to use the thing

Good documentation usually comes in at least two parts: guide/introduction and reference. This is how some of the better ORA books were written, back when dead trees on shelves were a key source of learning for programmers - three sections: a small one for absolute basics (what you need to know before starting, many could skip this), the second an introduction to the concepts of the new thing (language, library, server, etc.) and what differentiates it from similar/related things, typically with worked examples, and at least the last half of the pages being reference material (split into meaningful subdivisions where that is useful). Sometimes they would split this in two and there would be explicit introduction and reference works (under the banner “complete reference”, though these would have a little introductory text in them too) for the same subject, but not always.

When you try to merge the two (guide and reference) too closely it all too often ends up either too basic or irritatingly long-winded for the experienced readers, while still being too opaque for those who are starting from scratch.

Sometimes a single good README is all that is needed for the guide part these days, sometimes you need that with branches (links) off to longer introductions to specific parts, it depends on the size of the project.

[–] ep103 2 days ago
Good documentation requires understanding who your audience will be, and what the lifecycle of the documentation itself will be.

Engineers rarely consider either, and doing both requires significant work

[–] SOLAR_FIELDS 2 days ago
I wish all technical documentation started from first principles when walking up to a concept. The world would be a better place for it.
[–] adolph 2 days ago
The language of explaining is often different from the language of training (from Vervake). See also https://diataxis.fr/
[–] palata 1 day ago
There is a big difference, IMHO, between an "explainer" and "documentation".

For an article explaining a concept, it's a balance to find, and it depends on the target public. If every physics publication started by teaching physics to the reader, it just wouldn't work, would it?

Regarding documentation: we probably all agree that a code repository should NOT explain how programming works: if you don't understand C++, then a C++ codebase is not for you.

But should the README explain how to, e.g. run CMake? I would agree it shouldn't. Just like it shouldn't explain how to clone the git repository, or start the computer.

This said, I find this particular explainer about MCP... convoluted.

[–] dawnerd 2 days ago
Documentation has gotten so very bad thanks to AI. Outright unusable in most cases.
[–] dspillett 2 days ago
Bad documentation has been out there for as long as I can remember. The problem AI seems to be adding is the expectation of “just ask an AI” which is removing the drive to write even bad documentation and expecting the AI to derive answers from code and API references.

No MS, I don't want to ask co-pilot. Why don't you get co-pilot to draft some good documentation, that you then review and edit to make sure it is accurate, instead of expecting every individual to ask an AI for every question they have? That would be a lot more efficient in terms of energy use, I expect.

[–] 4L3XV33 2 days ago
Instructive feedback - been on both sides of that experience but never heard that problem so clearly defined before.
[–] ex-aws-dude 2 days ago
That's why its better for the person who just learned something to write the docs (checked by the expert though obvs)
[–] ozim 2 days ago
For me this one looks like someone prompted: “I want to have a cool looking explainer in form of a website and make it about hot topic”.

I don’t like people pointing out AI slop but one looks like something that should be called out. Maybe it helps the author for self learning that’s cool, but it doesn’t look like something for sharing with people as it really only wastes time.

[–] dingaling911 2 days ago
It's literally JSON-RPC I'm not sure why you say it's a REST API. It's not even close to a REST API.
[–] WhitneyLand 2 days ago
In this context/application I see a lot of similarities.

They both provide stateless RPC methods and human readable metadata that makes them easy to route.

You could ask why json-rpc was even necessary for 2.0. I think mostly just for stdio and backwards compatibility.

[–] dingaling911 2 days ago
In the venn diagram of MCP and REST, there is an (optional) overlap for sure but one does not subsume the other.
[–] BerislavLopac 2 days ago
REST is explicitly not RPC.
[–] rootusrootus 2 days ago
Looks better now, the author seems to have responded to your criticism. They have made some comments saying as much but they're all dead, maybe a shadowban. I've vouched those comments but anecdotally it seems like it takes way more vouching to unkill a post than it does flagging to kill it.
[–] LoganDark 2 days ago
A lot of flagged comments I vouch seem to only take one vouch. I have a feeling that if it takes more than one vouch, that comment must've been quite flagged, or specifically tripped a detection.
[–] gnabgib 2 days ago
It's probably better for the community if you don't vouch GenAI comments.
[–] privacyishuman 2 days ago
Depends why they're banned. Sometimes a vouch will fix it straight away. I think detective AI writing is hard to restore with vouches.
[–] slowpacket 2 days ago
Maybe a playground in a jupyter notebook that you can edit and run some codes can be better?
[–] Aurornis 2 days ago
> it's basically just a REST API

The opening has 1 paragraph and 5 table entries. One of them is “Not REST”

It’s a little scary that this was considered too dense or complex because the basics were explained in something that could be read in 1 minute. That still wasn’t enough to stop the top HN comment (as I write this) from calling it too dense and giving incorrect information that is immediately refuted by skimming the top part of the article.

[–] sharifhsn 2 days ago
It is not technically REST, but it is basically REST. The alternative to a server endpoint is JSON-RPC over stdin which has the same request/response format as REST. This is exactly the point about over-complicating it by saying "it's not REST, it's not JSON-RPC". It's a JSON request/response protocol with a defined format.
[–] jazzypants 2 days ago
[–] krackers 2 days ago
See also the discussion in "Most RESTful APIs aren't really RESTful " https://news.ycombinator.com/item?id=44507076

Particularly this subthread which was my moment of enlightenment https://news.ycombinator.com/item?id=44507991. A truly restful API isn't for a program to consume, it's for _you_, the user to consume through your user agent. Clicking on links is a hypermedia driven, restful api.

I think I saw a comment somewhere by the htmx dev, that Fielding was just giving a name to how the web already was at the time, hyperlinks rendered by a browser that you can navigate in a stateless way to get things done without the user agent being coupled to the sites themselves. It makes sense when you view it as backward-looking academic analysis rather than practical prescriptive advice.

But once you have that defined you can talk about whether things are more or less restful. That's separate from whether something being "more restful" is even good or desired though.

[–] jazzypants 1 day ago
Yeah, it's Fielding's Ph.D. thesis where he's expounding on his work on HTTP 1.0 and 1.1. He's literally just explaining how the web works. It's pretty crazy how much people have misinterpreted it.
[–] tasuki 2 days ago
> It is not technically REST, but it is basically REST.

What does that even mean?

> the same request/response format as REST

What request/response format does REST have?

Do you even know what HATEOAS means?

[–] parineum 2 days ago
That's the purpose of the comment, to make a comparison that's simpler than the article that is missing from the article.

If the article said, "It's basically just REST". There'd be no need to comment as such.

[–] wongarsu 2 days ago
The opening is fine, but when you click "Start the lessons" you get a six-pane interface that imho is pretty overwhelming

Yeah, I can click around and follow what's going on. But I'm with GP: this is not making it easier to understand. It's great at being Hollywood UX: looks pretty, stuff moving everywhere. One click on "step" makes the image animate, and change the text in the left sidebar, top middle, and right sidebar, in addition to stepping the table in the bottom middle. But it's almost the opposite of distilling information

[–] steve_adams_86 2 days ago
> you get a six-pane interface that imho is pretty overwhelming

Agreed, and it probably doesn't need to be overwhelming but the design choices leave the intent and purpose of the UI fairly unclear. It requires a bit of clicking around to understand what it's all for, and it's quite flat and unappealing, leaving little drive to do that work.

[–] taneq 2 days ago
While we’re applauding brevity, three cheers for the first line being “model context protocol”. While yes, this one is common, it’s still nice not having to scroll through 20 screens of blah to still not find out what the thing is.
[–] iugtmkbdfil834 2 days ago
Sign of times man. Not that long ago -- on HN mind you -- someone posted an article that landed on main page that used lsblk as some sort of secret hacker linux command.
[–] sleepybrett 2 days ago
This is actually one of the better 'mcp explained' type 'articles' i've read.
[–] flanz_10 2 days ago
> The opening has 1 paragraph and 5 table entries. One of them is “Not REST”

and yet...

[–] amelius 2 days ago
> This is too dense.

Maybe it was written for an AI? :)

Or by an AI? Or both?

[–] WhitneyLand 2 days ago
To me the writing itself seems pretty economical.

From your comment, I expected to be annoyed by a bunch of slop or obscurities.

My guess is the writing did not come straight out of an LLM and was carefully curated.

If I’m wrong I’d love to have the style prompt.