Most active commenters
  • simiones(3)

←back to thread

MCP is eating the world

(www.stainless.com)
335 points emschwartz | 22 comments | | HN request time: 0.003s | source | bottom
Show context
faxmeyourcode ◴[] No.44368295[source]
Based on the comments here, a lot of folks are assuming the primary users of mcp are the end users connecting their claude/vscode/etc to whatever saas platform they're working on. While this _is_ a huge benefit and super cool to use, imo the main benefit is for things like giving complex tool access to centralized agents. Where the mcp servers allow you to build agents that have the tools to do a sort of "custom deep research."

We have deployed this internally at work where business users are giving it a list of 20 jira tickets and asking it to summarize or classify them based on some fuzzy contextual reasoning found in the description/comments. It will happly run 50+ tool calls poking around in Jira/confluence and respond in a few seconds what would have taken them hours to do manually. The fact that it uses mcp under the hood is completely irrelevant but it makes our job as builders much much easier.

replies(7): >>44368648 #>>44368903 #>>44368929 #>>44368954 #>>44369304 #>>44374580 #>>44375982 #
rcarmo ◴[] No.44369304[source]
As someone who does both, I have to say that the only reason I am writing MCP stuff is that all the user-side tools seem to support it.

And the moment we, as an industry, settle on something sane, I will rip out the whole thing and adopt that, because MCP brings _nothing_ to the table that I could not do with a "proper" API using completely standard tooling.

Then again, I have run the whole gamut since the EDI and Enterprise JavaBeans era, XML-RPC, etc. - the works. Our industry loves creating new API surfaces and semantics without a) properly designing them from the start and b) aiming for a level of re-use that is neither pathological nor wasteful of developer time, so I'm used to people from "new fields of computing" ignoring established wisdom and rolling their own API "conventions".

But, again, the instant something less contrived and more integratable comes along, I will gleefully rm -rf the entire thing and move over, and many people in the enterprise field feel exactly the same - we've spent decades builting API management solutions with proper controls, and MCP bodges all of that up.

replies(4): >>44371922 #>>44375100 #>>44375484 #>>44376382 #
1. alfalfasprout ◴[] No.44371922[source]
> And the moment we, as an industry, settle on something sane, I will rip out the whole thing and adopt that, because MCP brings _nothing_ to the table that I could not do with a "proper" API using completely standard tooling.

100%. I suppose I understand MCP for user-side tooling but people seem to be reinventing the wheel because they don't understand REST. making REST requests with a well defined schema from an LLM is not all that hard.

replies(3): >>44372318 #>>44372372 #>>44377001 #
2. OJFord ◴[] No.44372318[source]
I don't even mind it existing, it's just the way it's presented/documented/talked about like it's some special novel important concept that baffles me, and I think makes it more confusing for developer newcomers (but fine or maybe even helpful for not-particularly-technical but AI-keen/'power' users).
replies(2): >>44374289 #>>44377096 #
3. jmward01 ◴[] No.44372372[source]
I personally wouldn't be surprised if the http calling abilities of LLMs end up killing MCP, or at least greatly reducing its use. If you train LLMs to start interacting with REST APIs as a great way to make them do more then a lot of the MCP use cases go away.
replies(6): >>44373729 #>>44375238 #>>44375496 #>>44375532 #>>44376390 #>>44382094 #
4. cable ◴[] No.44373729[source]
HATEOAS FTW
5. visarga ◴[] No.44374289[source]
MCP is really a great leap because LLMs orchestrate across a collection of tools instead of running a scripted flow. The most obvious example is deep research, where the LLM sends initial queries, reads, then generates new queries and loops until it finds what it needs. This dynamic orchestration of the search tool is almost impossible to do in a scripted way. And it shows where the MCP value is - you just write simple tools, and AI handles the contextual application. You just make the backend, the front end is the LLM with human in the loop.

I made an MCP with 2 tools - generate_node and search, and with it Claude Desktop app can create a knowledge graph complete with links and everything. It scales unbounded by context size but is read/write and smarter than RAG because it uses graph structure not just embeddings. I just made the reading and writing tools, the magic of writing the nodes, linking them up, searching and analyzing them is due to AI. And again, Claude can be very efficient at wielding these tools with zero effort on my part. That is the value of MCP.

replies(2): >>44374759 #>>44375360 #
6. nunodonato ◴[] No.44375238[source]
I have a tool that builds HTTP requests. LLMs can use that just fine, IF they know the API spec they should connect to. And that is the problem. If you are then required to pass the specs of dozens of APIs, you are polluting the context with too much useless info. MCP simplifies that
replies(1): >>44375401 #
7. simiones ◴[] No.44375360{3}[source]
MCP is a detail here. The exact same thing would happen if generate_node and search were exposed as REST endpoints, if Claude Desktop had used REST instead of MCP.
replies(2): >>44376297 #>>44378269 #
8. simiones ◴[] No.44375401{3}[source]
You also need an MCP schema to understand what the MCP server can actually do, there is no free lunch here.
replies(1): >>44376158 #
9. v3ss0n ◴[] No.44375496[source]
LLM already exist that capabilities since chatgpt GPT3.5 Just they don't have tools and then, tools are simply introduced by tool calling specs and it works fine already. MCP is a wrapper around that specs nothing new
10. IceDane ◴[] No.44375532[source]
You are fundamentally misunderstanding what is happening here and how this is all works.

"HTTP calling abilities of LLMs" is not some magic, new feature that is deeply integrated into LLMs. It's just a tool call like everything else - i.e. you prompt the LLM to return a JSON object that conforms to a schema.

MCP is also doing this exact same thing. It's just a wrapper protocol that tries to take care of all the details so that we don't have to deal with a million custom protocols that all accomplish the same thing but are all incompatible.

replies(1): >>44378097 #
11. nunodonato ◴[] No.44376158{4}[source]
yes, but in terms of token size its WAY cheaper for the AI to handle that than an OpenAPI spec
replies(1): >>44377711 #
12. bboygravity ◴[] No.44376297{4}[source]
Isn't part of the issue that LLM's are relatively bad at REST and json and all that?

I remember like 2 years ago there was big hype/revolution around ChatGPT finally being able to return ONLY valid json when you asked it to. So apparently LLMs are not that good at scripting without mistakes.

Having said that, I honestly have no clue what MCP looks like or is lol :p

replies(2): >>44376686 #>>44377109 #
13. kissgyorgy ◴[] No.44376390[source]
MCP was specifically created so LLMs can have a better understanding (better context). An app or user needs completely different endpoints than LLMs.
14. simiones ◴[] No.44376686{5}[source]
MCP is a form of JSON-RPC over HTTP, so I don't think it has anything to do with that.
15. jon-wood ◴[] No.44377001[source]
I find it kind of sad that now we finally have tooling which could make use of HATEOS[1] style REST APIs, which are technically self-documenting and in practice never really took off because you need to understand the API to write a client for it, everyone ran off and designed something else instead.

[1] https://en.wikipedia.org/wiki/HATEOAS

16. fennecbutt ◴[] No.44377096[source]
Yes, I've had to deal with this at work as well. Much talk about MCP as if it's some mystical magical wonder, and not just concatenating a bunch of json to your prompt.
17. fennecbutt ◴[] No.44377109{5}[source]
MCP is just json.

But to your last point: go look it up, have a read through their client/server implementations (for your language of choice). It doesn't actually take that long because the concept is actually rather simple, so I totally recommend it.

18. miningape ◴[] No.44377711{5}[source]
Isn't this more a limitation of the OpenAPI spec? Something like GraphQL would probably work much better
19. jmward01 ◴[] No.44378097{3}[source]
You are fundamentally misunderstanding the point I am making. LLMs have repeatedly started with training wheels and then slowly had them taken off as they have become more and more competent. MCP is another example of training wheels that will likely eventually go away. If the direct web/API calling abilities of LLMs were to improve with better trained models and some more built in support then MCP could go away and nobody would miss it.
replies(1): >>44384978 #
20. visarga ◴[] No.44378269{4}[source]
Maybe not, I think they trained the model to be especially capable of MCP tool use, and generated data this way. Other formats and systems might be slightly worse, and the whole model would probably not handle such a diversity of tools if all it had was trained on much less diverse API integrations.
21. zingababba ◴[] No.44382094[source]
I mean the fact that I can bring an API spec, MCP protocol spec, and MCP SDK spec into context and say "make me an MCP server where each route equals a tool" and have that bootstrapped in <5 minutes as a starting point is pretty nice. Then you can just start chaining stuff together.
22. IceDane ◴[] No.44384978{4}[source]
No, you are still not getting it. MCP will never go away, or at least something like it will always end up existing.

What you are describing, "web api calling abilities were to improve" will not change anything. What sort of improvement are you thinking of? They can only get better at outputting json correctly, but that hasn't really been a problem for a long time now.

Either way, it wouldn't change anything, because MCP is a 100 other things which doesn't have anything to do with the llms using tools directly. You will never embed everything that MCP can do "into" the llm - that barely even makes sense to talk about. It's not just a wire protocol.