Hacker News new | ask | show | jobs
by CSMastermind 18 days ago
Was this written by AI?

MCP is essentially just JSON RPC with a few special fields that must be included. I have reservations about JSON RPC, but there needs to be some 'service discovery' layer for LLMs to interface with.

It needs to be available in places like websites, desktop applications, backend services, etc. The CLI is only one place that these systems interface with.

Whatever you replace MCP with will be in a similar shape even if you specify a different communication protocol or different fields for tool discovery.

3 comments

Every time I read articles about MCP I feel like the internet (or HN) is having a collective stroke.

People are saying API are better than MCP. But MCP is just API with some instructions for the AI to discover how to use it. Nothing more nothing less. And some people are saying we should use 'CLI'... what does it even mean? LLMs are good with common CLI tools like ffmpeg because the knowledge is solidified inside the weights. If I make a new CLI tool I still need to somehow teach the AI to use it. If one wants the 'teaching' part comes from a server then MCP. If one wants it local and static then skills. How could there be so many debates around these simple concepts?

My take is that most of the AI related posts are written by AI under instruction of people who hype it up but have no idea about how any of it works.

It all has some form of "the thing I'm doing is the future and everyone who doesn't join me will fall behind" energy that AI/NFT/blockchain/web3/etc. enthusiasts talk about when they're trying to sell you something or when they're trying to convince the world they really are the big money makers they claim to be.

The LLM isn't going to care about where the tokens it's inserting into the context window are coming from. For all it cares the data it's processing came in over fax and was read in with OCR.

i feel exactly the same its literally the only api standard that we truly made plug and play and even automatically oauth antenticathable with dcr and people are falling over it. also in an absolute record speed thousands of mcps.

cli’s also need to be documented and input/output typed.

its also extremly dsitributable by just pointing to an url.

cli’s are great because they are composable but i really got huge mileage out of mcps

>If one wants the 'teaching' part comes from a server then MCP. If one wants it local and static then skills

Not being facetious, but why not:

"If one wants the 'teaching' part comes from a server then OpenAPI specs. If one wants it local and static then man page."

Paradoxically, I've seen new CLI tools take on usage patterns from existing ones because of the idea of user familiarity. Even if the existing pattern sucked. I could see the same thing happening now under the idea that "the LLM already knows how to use X, so we should make our tool work like X"
Agreed, MCP works and it works well. Often I’ll wrap an API in an MCP because getting the agent to interact with an API just wastes tokens with it trailing things back and forth; MCPs just work.
I can't pipe an MCP's output to jq, and I can't ask an AI to write a python script to call an MCP.
sorry both of the things you said are false, why are they stated so confidently?
because being confidently incorrect is a thing?
I ... literally did both of these things last week ¯\_(ツ)_/¯
Yes, feels like person who wrote this was not completely aware of topic
It's the way that it occupies the context relatively permanently, that it doesn't come along with nice install/uninstall or discovery etc. is the problem.

'Skills' should all be based on MCP, they should load on demand, be very easily manageable and discoverable by humans and by AI, and then it would work

The scope was too narrow, given how it ended up being applied.

If they layer something on top of it, it may yet be revived.

You do know MCPs are loaded on demand same as skills now right? The only place where sometimes it still uses too much context is if you have too many MCPs (same issue with skills) or some MCP is poorly designed and responds with huge description or MCP calls respond with way too much info, but skills can have this issue as well.
Yes, MCP taking the form of 'skill' because MCP serves no purpose.

The concept of 'mcp server' is a brittle abstraction that need not exist.

A 'skill' is utterly superior in every sense: a 'right sized abstraction for whatever it is you're trying to do' - that can include cli / rest - and other key bits of information.

MCP is a JSON-RPC + a fixed auth/discovery handshake + a fixed tool schema protocol for backend endpoints.

Your skills or CLIs still need to call a backend endpoint at some point. MCP is just a standard server JSON-RPC protocol. Having a standard for that is really nice, you get standardize auth, discovery, API shape, etc.

Is it the greatest RPC design ever, no, most annoying is how it's based around a statefull session. But it's really awesome that we have a standard. Otherwise you'd just have a bunch of random servers all doing their own things that you'd have to figure out how they work and all, it would be much worse.

You realize that not every user of agents uses them like Claude or Codex on your local CLI right? MCP is the standard for cloud agents. How do you get a cloud agent working in an ephemeral container access to skills? The answer is MCP.
A 'skill' is generic concept - as short set of right-sized instructions for a given cli or api call, it can be applied in any context.

If MCP did not exist today, we wold not invent it.

We'd probably hormonize in basic conventions around json calls, and not much more.

The rest would just be api use / instructions.

LLMS to day are exceedingly good at calling RESTful APIs, the MCP standard provides little advantage.

The advantage of 'skills' is that they are more generic - an Enterprise LLM can evoke 'capabilities' which may or may not involved rpc type calls, and if they do, there will be varying level of instructions provided.

There's almost not point to MCP.

Yea so your answer is to build something that’s like MCP basically. You’d standardize conventions around json, great, now standardize auth. Oauth is nice right? That’s MCP. MCP is literally a restful API using JSON with OAuth.

You’re arguing against MCP but have nothing to offer that isn’t nearly the same thing.